[PATCH] drm/ttm: fix delayed ttm_bo_cleanup_refs_and_unlock delayed handling

Markus Trippelsdorf markus at trippelsdorf.de
Thu Jan 17 00:46:34 PST 2013


On 2013.01.16 at 19:18 -0500, Jerome Glisse wrote:
> On Wed, Jan 16, 2013 at 6:10 PM, Markus Trippelsdorf
> <markus at trippelsdorf.de> wrote:
> > On 2013.01.16 at 17:36 -0500, Alex Deucher wrote:
> >> On Tue, Jan 15, 2013 at 12:03 PM, Markus Trippelsdorf
> >> <markus at trippelsdorf.de> wrote:
> >> > On 2013.01.15 at 17:32 +0100, Markus Trippelsdorf wrote:
> >> >> On 2013.01.15 at 16:26 +0100, Michel Dänzer wrote:
> >> >> > On Die, 2013-01-15 at 16:23 +0100, Markus Trippelsdorf wrote:
> >> >> > > On 2013.01.15 at 15:43 +0100, Michel Dänzer wrote:
> >> >> > > > On Sam, 2013-01-05 at 11:41 +0100, Markus Trippelsdorf wrote:
> >> >> > > > > On 2012.12.20 at 14:58 +0100, Markus Trippelsdorf wrote:
> >> >> > > > > >
> >> >> > > > > > And just in case it got lost in the noise yesterday:
> >> >> > > > > > The image corruption is caused by Dave's commit:
> >> >> > > > > >
> >> >> > > > > > commit dd54fee7d440c4a9756cce2c24a50c15e4c17ccb
> >> >> > > > > > Author: Dave Airlie <airlied at redhat.com>
> >> >> > > > > > Date:   Fri Dec 14 21:04:46 2012 +1000
> >> >> > > > > >
> >> >> > > > > >     radeon: fix regression with eviction since evict caching changes
> >> >> > > > > >
> >> >> > > > > > Reverting it 'fixes' the issue.
> >> >> > > > >
> >> >> > > > > Ping.
> >> >> > > > > The issue still happens with todays Linus git tree.
> >> >> > > >
> >> >> > > > Does the corruption also occur with
> >> >> > > > dd54fee7d440c4a9756cce2c24a50c15e4c17ccb applied manually on top of
> >> >> > > > 0d0b3e7443bed6b49cb90fe7ddc4b5578a83a88d?
> >> >> > >
> >> >> > > No.
> >> >> >
> >> >> > So, can you bisect which change between those two actually introduced
> >> >> > the corruption?
> >> >
> >> > The real cause of the image corruption is:
> >> >
> >> > d025e9e2b890db679f1246037bf65bd4be512627 is the first bad commit
> >> > commit d025e9e2b890db679f1246037bf65bd4be512627
> >> > Author: Jerome Glisse <jglisse at redhat.com>
> >> > Date:   Thu Nov 29 10:35:41 2012 -0500
> >> >
> >> >     drm/radeon: do not move bo to different placement at each cs
> >> >
> >> >     The bo creation placement is where the bo will be. Instead of trying
> >> >     to move bo at each command stream let this work to another worker
> >> >     thread that will use more advance heuristic.
> >> >
> >> >     agd5f: remove leftover unused variable
> >> >
> >> >     Signed-off-by: Jerome Glisse <jglisse at redhat.com>
> >> >     Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> >> >
> >> > Reverting d025e9e2b890d on top of Linus' tree fixes the issue.
> >>
> >> Can you try this patch from Jerome:
> >> https://bugzilla.kernel.org/attachment.cgi?id=91421
> >
> > It fixes the corruption, but it degrades performance so much that it
> > takes several seconds to switch virtual desktops under xmonad. And
> > sometimes the website used for the scroll test is stuck for several
> > seconds and unscrollable during that time.
> >
> > --
> > Markus
> 
> What about this patch instead :
> http://people.freedesktop.org/~glisse/0001-drm-radeon-exclude-system-placement-when-validating-.patch

This one doesn't work:

Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: GPU lockup CP stall for more than 10000msec
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: GPU lockup (waiting for 0x0000000000000a63 last fence id 0x0000000000000a62)
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ioctl] *ERROR* Failed to parse relocation -12!
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: couldn't schedule ib
Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU lockup CP stall for more than 10560msec
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU lockup (waiting for 0x0000000000000a63)
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: failed to get a new IB (-35)
Jan 17 09:40:54 x4 kernel: [drm:radeon_cs_ib_chunk] *ERROR* Failed to get ib !
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: Saved 12633 dwords of commands on ring 0.
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU softreset: 0x00000007
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008010_GRBM_STATUS      = 0xA0003030
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008014_GRBM_STATUS2     = 0x00000003
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_000E50_SRBM_STATUS      = 0x20000040
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_00867C_CP_BUSY_STAT     = 0x00028182
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008680_CP_STAT          = 0x80028241
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008020_GRBM_SOFT_RESET=0x00007FEE
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008020_GRBM_SOFT_RESET=0x00000001
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008010_GRBM_STATUS      = 0xA0003030
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008014_GRBM_STATUS2     = 0x00000003
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_000E50_SRBM_STATUS      = 0x20008040
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0:   R_008680_CP_STAT          = 0x80100000
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU reset succeeded, trying to resume
Jan 17 09:40:54 x4 kernel: [drm] PCIE GART of 512M enabled (table at 0x00000000C0040000).
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: WB enabled
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: fence driver on ring 0 use gpu addr 0x00000000a0226c00 and cpu addr 0xffff8802163adc00
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: fence driver on ring 3 use gpu addr 0x00000000a0226c0c and cpu addr 0xffff8802163adc0c
Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: setting latency timer to 64
Jan 17 09:40:54 x4 kernel: [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x8504)=0xCAFEDEAD)
Jan 17 09:40:54 x4 kernel: [drm:r600_resume] *ERROR* r600 startup failed on resume
Jan 17 09:40:54 x4 kernel: [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (7208960, 2, 4096, -12)
Jan 17 09:41:23 x4 kernel: SysRq : Emergency Sync
Jan 17 09:41:23 x4 kernel: Emergency Sync complete

-- 
Markus


More information about the dri-devel mailing list