[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MM, TLB and speeding up suspend to disk
I have a IBM Thinkpad 600X and use the suspend to disk feature (called
hibernation) when carring the notebook around, but writing ~600MB to the
disk takes a while.
After finding out, that the bios does only write used pages to disk, I
wrote a small userspace programm called mhog, that allocates roughly as
many pages as used by the page cache. mhog retrieves the number of pages to
allocate from /proc/meminfo.
This works find, but does take a while, so I wrote a kernel module
(nocache.c) to do the same. During module initilization I simply loop
around a get_free_page(GFP_NIO) to get all pages that can be discarded, and
upon the first failure I free all reserved pages again and return -ENOMEM.
The kernel module does not speed up hibernation (pages are freed just
fine), but something must be diffrent between userspace and kernelspace
page allocation. I suspect the TLB, but did not find a hint on which of the
many tlb flushing calls to use.
So what am I missing?
thanks in advance
Stefan
--
Stefan Völkel stefan.voelkel@xxxxxxxxxxxx
Millenux GmbH mobile: +49.170.79177.17
Lilienthalstraße 2 phone: +49.711.88770.300
70825 Stuttgart-Korntal fax: +49.711.88770.349
-= linux without limits -=- http://linux.zSeries.org/ =-
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/