On Wed, 2 Feb 2005 12:18:09 +0100, Stefan Voelkel <stefan.voelkel@xxxxxxxxxxxx> wrote: > 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. > 600 Mb does take quite a lot of disk writes. The time required should be the approx half of dumping data from one disk partition to another. > After finding out, that the bios does only write used pages to disk, I I dont know much about this could you please tell more about this. > 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. The difference is small between userspace and kernel space. The only difference is that the pages are physically contigous rather than being virtually contiguous. That shouldn't make much of a difference. >I suspect the TLB, but did not find a hint on which of the > many tlb flushing calls to use. flush_tlb should do > > So what am I missing? > I too cant think of anything else Regards, Ashwin -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/