• Bojan Smojver's avatar
    PM / Hibernate: Hibernate/thaw fixes/improvements · 6ed6791a
    Bojan Smojver authored
    commit 5a21d489 upstream.
    
     1. Do not allocate memory for buffers from emergency pools, unless
        absolutely required. Do not warn about and do not retry non-essential
        failed allocations.
    
     2. Do not check the amount of free pages left on every single page
        write, but wait until one map is completely populated and then check.
    
     3. Set maximum number of pages for read buffering consistently, instead
        of inadvertently depending on the size of the sector type.
    
     4. Fix copyright line, which I missed when I submitted the hibernation
        threading patch.
    
     5. Dispense with bit shifting arithmetic to improve readability.
    
     6. Really recalculate the number of pages required to be free after all
        allocations have been done.
    
     7. Fix calculation of pages required for read buffering. Only count in
        pages that do not belong to high memory.
    Signed-off-by: default avatarBojan Smojver <bojan@rexursive.com>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    6ed6791a
swap.c 35.2 KB