From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Trippelsdorf Subject: Re: [PATCH] drm/ttm: fix delayed ttm_bo_cleanup_refs_and_unlock delayed handling Date: Thu, 17 Jan 2013 09:46:34 +0100 Message-ID: <20130117084634.GA227@x4> References: <20121220135819.GB224@x4> <20130105104129.GA742@x4> <1358261036.29800.31.camel@thor.local> <20130115152335.GA220@x4> <1358263615.29800.32.camel@thor.local> <20130115163202.GA220@x4> <20130115170338.GA500@x4> <20130116231002.GA220@x4> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail.ud10.udmedia.de (ud10.udmedia.de [194.117.254.50]) by gabe.freedesktop.org (Postfix) with ESMTP id 778B9E60D4 for ; Thu, 17 Jan 2013 00:46:36 -0800 (PST) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Jerome Glisse Cc: Dave Airlie , Michel =?iso-8859-1?Q?D=E4nzer?= , Jerome Glisse , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org On 2013.01.16 at 19:18 -0500, Jerome Glisse wrote: > On Wed, Jan 16, 2013 at 6:10 PM, Markus Trippelsdorf > wrote: > > On 2013.01.16 at 17:36 -0500, Alex Deucher wrote: > >> On Tue, Jan 15, 2013 at 12:03 PM, Markus Trippelsdorf > >> wrote: > >> > On 2013.01.15 at 17:32 +0100, Markus Trippelsdorf wrote: > >> >> On 2013.01.15 at 16:26 +0100, Michel D=E4nzer wrote: > >> >> > On Die, 2013-01-15 at 16:23 +0100, Markus Trippelsdorf wrote: > >> >> > > On 2013.01.15 at 15:43 +0100, Michel D=E4nzer 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 > >> >> > > > > > Date: Fri Dec 14 21:04:46 2012 +1000 > >> >> > > > > > > >> >> > > > > > radeon: fix regression with eviction since evict cach= ing 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 introd= uced > >> >> > the corruption? > >> > > >> > The real cause of the image corruption is: > >> > > >> > d025e9e2b890db679f1246037bf65bd4be512627 is the first bad commit > >> > commit d025e9e2b890db679f1246037bf65bd4be512627 > >> > Author: Jerome Glisse > >> > 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 tr= ying > >> > 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 > >> > Reviewed-by: Alex Deucher > >> > > >> > Reverting d025e9e2b890d on top of Linus' tree fixes the issue. > >> > >> Can you try this patch from Jerome: > >> https://bugzilla.kernel.org/attachment.cgi?id=3D91421 > > > > 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-plac= ement-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 mor= e than 10000msec Jan 17 09:40:53 x4 kernel: radeon 0000:01:05.0: GPU lockup (waiting for 0x0= 000000000000a63 last fence id 0x0000000000000a62) Jan 17 09:40:53 x4 kernel: [drm:radeon_cs_ioctl] *ERROR* Failed to parse re= location -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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule 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 sched= ule IB ! Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU lockup CP stall for mor= e than 10560msec Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: GPU lockup (waiting for 0x0= 000000000000a63) 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 i= b ! Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: Saved 12633 dwords of comma= nds 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 = =3D 0xA0003030 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008014_GRBM_STATUS2 = =3D 0x00000003 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_000E50_SRBM_STATUS = =3D 0x20000040 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008674_CP_STALLED_STAT1= =3D 0x00000000 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008678_CP_STALLED_STAT2= =3D 0x00000000 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_00867C_CP_BUSY_STAT = =3D 0x00028182 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008680_CP_STAT = =3D 0x80028241 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008020_GRBM_SOFT_RESET= =3D0x00007FEE Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008020_GRBM_SOFT_RESET=3D= 0x00000001 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008010_GRBM_STATUS = =3D 0xA0003030 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008014_GRBM_STATUS2 = =3D 0x00000003 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_000E50_SRBM_STATUS = =3D 0x20008040 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008674_CP_STALLED_STAT1= =3D 0x00000000 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008678_CP_STALLED_STAT2= =3D 0x00000000 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_00867C_CP_BUSY_STAT = =3D 0x00000000 Jan 17 09:40:54 x4 kernel: radeon 0000:01:05.0: R_008680_CP_STAT = =3D 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 0x0000= 0000C0040000). 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)=3D0xCAFEDEAD) 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