summaryrefslogtreecommitdiff
path: root/kernel/power/hibernate.c
diff options
context:
space:
mode:
authorBojan Smojver <bojan@rexursive.com>2011-10-13 23:58:07 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2011-10-16 23:30:38 +0200
commit081a9d043c983f161b78fdc4671324d1342b86bc (patch)
tree4382d88e5705b18a95471af2a71319401c47744f /kernel/power/hibernate.c
parentd231ff1af70a2df43d809173cf8c94e9c3beb853 (diff)
downloadlwn-081a9d043c983f161b78fdc4671324d1342b86bc.tar.gz
lwn-081a9d043c983f161b78fdc4671324d1342b86bc.zip
PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
Use threads for LZO compression/decompression on hibernate/thaw. Improve buffering on hibernate/thaw. Calculate/verify CRC32 of the image pages on hibernate/thaw. In my testing, this improved write/read speed by a factor of about two. Signed-off-by: Bojan Smojver <bojan@rexursive.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'kernel/power/hibernate.c')
-rw-r--r--kernel/power/hibernate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index ea12c8f1bdfd..1c53f7fad5f7 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -657,6 +657,9 @@ int hibernate(void)
flags |= SF_PLATFORM_MODE;
if (nocompress)
flags |= SF_NOCOMPRESS_MODE;
+ else
+ flags |= SF_CRC32_MODE;
+
pr_debug("PM: writing image.\n");
error = swsusp_write(flags);
swsusp_free();