Re: slow resume from suspend to disk

Previous thread: [PATCH 1/1] DVB: ngene, fix memset parameters by Jiri Slaby on Wednesday, February 10, 2010 - 4:32 pm. (2 messages)

Next thread: [PATCH mmotm] memcg: check if first threshold crossed by Kirill A. Shutemov on Wednesday, February 10, 2010 - 4:55 pm. (2 messages)
From: Mihai =?utf-8?q?Don=C8=9Bu?=
Date: Wednesday, February 10, 2010 - 4:40 pm

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
--

From: Pedro Ribeiro
Date: Wednesday, February 10, 2010 - 5:11 pm

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
--

From: Mihai =?utf-8?q?Don=C8=9Bu?=
Date: Monday, February 15, 2010 - 2:54 am

I have tested tuxonice for the past three days. It turns out it's the real 
deal when it comes to suspend to disk and the devices "feel" better after the 
tuxonice resume than after the built-in swsusp. Mm.

Thanks,

-- 
Mihai Donțu
--

From: Pavel Machek
Date: Tuesday, February 16, 2010 - 6:54 am

That's way too slow. Are you using in-kernel swsusp, or userland

Seems like your system has problems...

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--

Previous thread: [PATCH 1/1] DVB: ngene, fix memset parameters by Jiri Slaby on Wednesday, February 10, 2010 - 4:32 pm. (2 messages)

Next thread: [PATCH mmotm] memcg: check if first threshold crossed by Kirill A. Shutemov on Wednesday, February 10, 2010 - 4:55 pm. (2 messages)