MM, TLB and speeding up suspend to disk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux