diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2010-09-20 19:44:56 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2010-10-17 01:57:43 +0200 |
commit | ac5c24ec1e983313ef0015258fba6f630e54e7cf (patch) | |
tree | 0bd6e99ece68f27b322033fd2ecaea3fa2d9e369 /kernel/power/snapshot.c | |
parent | PM / Hibernate: Improve comments in hibernate_preallocate_memory() (diff) | |
download | linux-ac5c24ec1e983313ef0015258fba6f630e54e7cf.tar.xz linux-ac5c24ec1e983313ef0015258fba6f630e54e7cf.zip |
PM / Hibernate: Make default image size depend on total RAM size
The default hibernation image size is currently hard coded and euqal
to 500 MB, which is not a reasonable default on many contemporary
systems. Make it equal 2/5 of the total RAM size (this is slightly
below the maximum, i.e. 1/2 of the total RAM size, and seems to be
generally suitable).
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: M. Vefa Bicakci <bicave@superonline.com>
Diffstat (limited to '')
-rw-r--r-- | kernel/power/snapshot.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index d9191b40cf6e..ac7eb109f196 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c @@ -46,7 +46,12 @@ static void swsusp_unset_page_forbidden(struct page *); * size will not exceed N bytes, but if that is impossible, it will * try to create the smallest image possible. */ -unsigned long image_size = 500 * 1024 * 1024; +unsigned long image_size; + +void __init hibernate_image_size_init(void) +{ + image_size = ((totalram_pages * 2) / 5) * PAGE_SIZE; +} /* List of PBEs needed for restoring the pages that were allocated before * the suspend and included in the suspend image, but have also been |