Bug 30262 - [drm-intel-next]3D GAMES urbanterror will cause GPU Hang
Summary: [drm-intel-next]3D GAMES urbanterror will cause GPU Hang
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium critical
Assignee: Chris Wilson
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-19 01:35 UTC by wang,jinjin
Modified: 2017-10-06 14:53 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
i915_error.log (756.63 KB, text/plain)
2010-09-19 01:35 UTC, wang,jinjin
no flags Details
Xorg.0.log (27.10 KB, text/plain)
2010-09-19 01:38 UTC, wang,jinjin
no flags Details

Description wang,jinjin 2010-09-19 01:35:34 UTC
Created attachment 38794 [details]
i915_error.log

System Environment:
--------------------------
Arch:           x86_64
Platform:       Piketon
OSD:            Fedora release 11 
Libdrm:         (master)2.4.21-21-g7ec9a1effa4f551897f91f3b017723a8adf011d9
Mesa:           (master)ca92ae2699c4aad21c0811b9a5562b9223816caf
Xserver:                (master)xorg-server-1.9.0-71-gc768cdda92696b636c10bb2df64167d5274b4b99
Xf86_video_intel:               (master)2.12.0-89-gf63c7df6866fed61551d39209b1a262e2a0c4b28
Cairo:          (master)cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
Libva:          (master)62641bd7215a8cb1637158767434e896aba78dba
Kernel: (drm-intel-next)373a3cf744c774478f44921c50011b896ab08f9d

Bug detailed description:
----------------------------
If I run Urban terror more than once (maybe twice or three times), the gpu will hang. But with the Kernel: (drm-intel-next) e2e767abd85806d05a5266b3b112baaf80ee3382, it run with no gpu hang.
Reproduce steps:,
----------------
1.xinit& 
2. vblank_mode=0 urbanterror +timedemo 1 +set demodone 'quit' +set demoloop1 'demo pts1; set nextdemo vstr demodone' +vstr demoloop1 +set r_customwidth 1024 +set r_customheight 768

Message:
drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:3]
[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 387 933 at 387932, next 387937)
[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 387 941 at 387932, next 387942)
Comment 1 wang,jinjin 2010-09-19 01:38:40 UTC
Created attachment 38795 [details]
Xorg.0.log
Comment 2 Chris Wilson 2010-09-19 03:17:23 UTC
Looks like I botched the flush pipelining for page-flipping. Can you tell when the hang happens? Does it ever happened in the middle of the urbanterror demo or only at the end? Just trying to judge how much significance to give that the error is first detected by drm_crtc_helper_set_config().

Thanks for the report.
Comment 3 wang,jinjin 2010-09-19 18:22:25 UTC
The situation I met was gpu hang happened at the end of urbanterror demo run.
Thanks !!
Comment 4 Chris Wilson 2010-09-21 05:14:29 UTC
Ok, made a couple of changes to -next that should account for this problem. I suspect:

commit 265db9585e570814d2f7aca109c5563bcde9c948
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Sep 20 15:41:01 2010 +0100

    drm/i915: Drain any pending flips on the fb prior to unpinning
    
    If we have queued a page flip on the current fb and then request a mode
    change, wait until the page flip completes before performing the new
    request.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

as being the most significant.
Comment 5 Chris Wilson 2010-10-08 05:17:43 UTC
The flush pipelining was indeed broken, I think I've fixed all the issues for now, and can run urbanterror many more times than I could ever want.
Comment 6 wang,jinjin 2010-10-11 01:17:37 UTC
I tested with Kernel: (drm-intel-next)2d7b8366ae4a9ec2183c30e432a4a9a495c82bcd.
When the game run over, it still caused X error. But it was a little diffrent from before. So, I think it was a new bug.See #bug30764
Comment 7 Elizabeth 2017-10-06 14:53:46 UTC
Closing old verified.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.