Prev: [PATCH 11/12] scsi: megaraid_sas - Add three times Online controller reset
Next: misleading kernel config error msg when building module against kernel
From: Dave Airlie on 18 Jun 2010 17:20 On Fri, 2010-06-18 at 22:21 +0200, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rjw(a)sisk.pl> > > I have recently noticed a 55 sec. delay during the "device freeze" > phase of hibernation on my test-bed HP nx6325. Due to the 100% > reproducibility of it I was able to narrow it down to > radeon_suspend_kms() and then it turned out that the delay occured > somewhere in radeon_bo_evict_vram(). However, it doesn't seem really > necessary or even very useful to me to evict VRAM at this particular > point, because we're going to create an image and bring the device > back to the fully functional state in a little while. Thus, I think > the VRAM evicition can be skipped for state.event == PM_EVENT_FREEZE, > which makes the delay go away. I'm not 100% sure of the hibernate sequencing and its early in the morning, but we want to evict VRAM before image building so we can have the contents of VRAM in the image so we can restore them on resume. Does this just avoid evicting them a second time after we created the image? Dave. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Dave Airlie on 18 Jun 2010 20:00
On Sat, 2010-06-19 at 01:23 +0200, Rafael J. Wysocki wrote: > On Friday, June 18, 2010, Dave Airlie wrote: > > On Fri, 2010-06-18 at 22:21 +0200, Rafael J. Wysocki wrote: > > > From: Rafael J. Wysocki <rjw(a)sisk.pl> > > > > > > I have recently noticed a 55 sec. delay during the "device freeze" > > > phase of hibernation on my test-bed HP nx6325. Due to the 100% > > > reproducibility of it I was able to narrow it down to > > > radeon_suspend_kms() and then it turned out that the delay occured > > > somewhere in radeon_bo_evict_vram(). However, it doesn't seem really > > > necessary or even very useful to me to evict VRAM at this particular > > > point, because we're going to create an image and bring the device > > > back to the fully functional state in a little while. Thus, I think > > > the VRAM evicition can be skipped for state.event == PM_EVENT_FREEZE, > > > which makes the delay go away. > > > > I'm not 100% sure of the hibernate sequencing and its early in the > > morning, but we want to evict VRAM before image building so we can have > > the contents of VRAM in the image so we can restore them on resume. Does > > this just avoid evicting them a second time after we created the image? > > No, it's the first time, before creating the image, but I didn't seen any > difference on resume with and without the patch, so I thought it was a good > idea. :-) On the machine you have its most likely not going to show up unless you are running a 3D app or something across suspend, since currently X re-exposes most apps on VT switch, so they just redraw. Was it always this slow? you can see how many objects are in vram using debugfs (/sys/kernel/debug/dri/0/radeon_vram_mm), it sounds like the TTM eviction process is blocking on something, we shouldn't be using any UC/WC memory on that machine so I can't imagine the new pool allocator stuff would get in the way. Maybe its the lack of GFP_USER, (Jerome posted a patch). Dave. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |