Re: MM, TLB and speeding up suspend to disk

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

 



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/


[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