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/