Summary: | [drm-intel-next]3D GAMES urbanterror will cause GPU Hang | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | wang,jinjin <jinjin.wang> | ||||||
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> | ||||||
Status: | CLOSED FIXED | QA Contact: | |||||||
Severity: | critical | ||||||||
Priority: | medium | CC: | jbarnes | ||||||
Version: | unspecified | ||||||||
Hardware: | All | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Created attachment 38795 [details]
Xorg.0.log
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. The situation I met was gpu hang happened at the end of urbanterror demo run. Thanks !! 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. 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. 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 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.
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)