From: Rafael J. Wysocki Date: Wed, 8 Jul 2009 11:24:12 +0000 (+0200) Subject: PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) X-Git-Tag: v2.6.32-rc1~684^2~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef4aede3f10d82adef1fb044b565ba5f08f851e0;p=pandora-kernel.git PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) We want to avoid attempting to free too much memory too hard during hibernation, so estimate the minimum size of the image to use as the lower limit for preallocating memory. The approach here is based on the (experimental) observation that we can't free more page frames than the sum of: * global_page_state(NR_SLAB_RECLAIMABLE) * global_page_state(NR_ACTIVE_ANON) * global_page_state(NR_INACTIVE_ANON) * global_page_state(NR_ACTIVE_FILE) * global_page_state(NR_INACTIVE_FILE) minus * global_page_state(NR_FILE_MAPPED) Namely, if this number is subtracted from the number of saveable pages in the system, we get a good estimate of the minimum reasonable size of a hibernation image. Signed-off-by: Rafael J. Wysocki Acked-by: Wu Fengguang --- Reading git-diff-tree failed