PM / Hibernate: fix the number of pages used for hibernate/thaw buffering
authorBojan Smojver <bojan@rexursive.com>
Tue, 24 Apr 2012 21:53:28 +0000 (23:53 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 24 Apr 2012 21:53:28 +0000 (23:53 +0200)
commitf8262d476823a7ea1eb497ff9676d1eab2393c75
treedfe76c8ef2b3fc700d9550b85b69e414ef415de6
parent66f75a5d028beaf67c931435fdc3e7823125730c
PM / Hibernate: fix the number of pages used for hibernate/thaw buffering

Hibernation regression fix, since 3.2.

Calculate the number of required free pages based on non-high memory
pages only, because that is where the buffers will come from.

Commit 081a9d043c983f161b78fdc4671324d1342b86bc introduced a new buffer
page allocation logic during hibernation, in order to improve the
performance. The amount of pages allocated was calculated based on total
amount of pages available, although only non-high memory pages are
usable for this purpose. This caused hibernation code to attempt to over
allocate pages on platforms that have high memory, which led to hangs.

Signed-off-by: Bojan Smojver <bojan@rexursive.com>
Signed-off-by: Rafael J. Wysocki <rjw@suse.de>
kernel/power/swap.c