summaryrefslogtreecommitdiffstats
path: root/kernel/power/power.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2010-09-20 19:44:56 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2010-10-17 01:57:43 +0200
commitac5c24ec1e983313ef0015258fba6f630e54e7cf (patch)
tree0bd6e99ece68f27b322033fd2ecaea3fa2d9e369 /kernel/power/power.h
parentPM / Hibernate: Improve comments in hibernate_preallocate_memory() (diff)
downloadlinux-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 'kernel/power/power.h')
-rw-r--r--kernel/power/power.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/power/power.h b/kernel/power/power.h
index c7e42e47eb0b..03634be55f62 100644
--- a/kernel/power/power.h
+++ b/kernel/power/power.h
@@ -14,6 +14,9 @@ struct swsusp_info {
} __attribute__((aligned(PAGE_SIZE)));
#ifdef CONFIG_HIBERNATION
+/* kernel/power/snapshot.c */
+extern void __init hibernate_image_size_init(void);
+
#ifdef CONFIG_ARCH_HIBERNATION_HEADER
/* Maximum size of architecture specific data in a hibernation header */
#define MAX_ARCH_HEADER_SIZE (sizeof(struct new_utsname) + 4)
@@ -49,7 +52,11 @@ static inline char *check_image_kernel(struct swsusp_info *info)
extern int hibernation_snapshot(int platform_mode);
extern int hibernation_restore(int platform_mode);
extern int hibernation_platform_enter(void);
-#endif
+
+#else /* !CONFIG_HIBERNATION */
+
+static inline void hibernate_image_size_init(void) {}
+#endif /* !CONFIG_HIBERNATION */
extern int pfn_is_nosave(unsigned long);