Re: slow resume from suspend to disk

From: Pedro Ribeiro
Date: Wed Feb 10 2010 - 19:11:17 EST


On 10 February 2010 23:40, Mihai DonÈu <mihai.dontu@xxxxxxxxx> wrote:
> Hi,
>
> Is there any way to speed up the resume from suspend to disk? Currently, on my
> laptop it suspends in ~15s (wrote about 360MB) but resumes in ~120s and after
> that I'm still left with ~361MB in swap:
>
>       total    used    free   shared  Âbuffers   cached
> Mem: Â Â Â 3333472 Â Â1139332 Â Â2194140 Â Â Â Â Â0 Â Â Â12808 Â Â 473084
> -/+ buffers/cache: Â Â 653440 Â Â2680032
> Swap: Â Â Â2104472 Â Â 369428 Â Â1735044
>
> Right now I'm better off with a cold boot.
>
> Although I did not study the kernel code to see how things really work, I
> suspect on resume only necessary kernel data is loaded from swap and the
> userland tasks are left with the page fault mechanism to bring back their own
> data, which leads to an I/O storm on the swap device. Maybe changing the I/O
> scheduler from CFQ would help? or better yet, is there any way to tell the
> kernel to bring back all the pages from swap in one quick move? That would be
> something I want to put in my resume scripts.
>
> $ uname -a
> Linux mdontu-dell 2.6.32-gentoo-r3 #1 SMP PREEMPT Mon Feb 1 02:36:01 EET 2010
> x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz GenuineIntel GNU/Linux
>
> I've installed Windows XP just for a test, started a few apps (like visual
> studio, mplayer, etc.) and then suspended/hibernated (~15s). It took roughly
> 15s to come back.
>
> Thanks,
>
> PS: I'm editing this e-mail as I do tests and I just noticed that my /sbin
> directory is empty. rmmod is there and I needed it to reload the b43 driver
> which generally does not feel well after a suspend/resume. A reboot fixed it.
> Weird ...
>
> --
> Mihai DonÈu
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
> Please read the FAQ at Âhttp://www.tux.org/lkml/
>

If you know how to patch and compile a kernel, try http://www.tuxonice.net/
I find it way faster and more reliable than the in-kernel hibernation.

You also need to install at least the hibernate script, since it is
way better for hibernation that pm-utils which most distros use.

Ubuntu and some other distros have binary kernels already patched and
the hibernate script packaged.

Regards,
Pedro
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/