]> git.karo-electronics.de Git - karo-tx-linux.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 May 2012 15:53:35 +0000 (08:53 -0700)
commit4da7d6143870a2f81ceaeabdc64e0f74121e35b3
treec11dd5aff292c68fe442e4d73943ce490917cc33
parentda42136018f3a2e187ab1976f7f0a5768c3bda24
PM / Hibernate: fix the number of pages used for hibernate/thaw buffering

commit f8262d476823a7ea1eb497ff9676d1eab2393c75 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/power/swap.c