aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/power/Kconfig10
-rw-r--r--kernel/power/suspend.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 9e302315e33d..02e8dfaa1ce2 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -18,6 +18,16 @@ config SUSPEND_FREEZER
18 18
19 Turning OFF this setting is NOT recommended! If in doubt, say Y. 19 Turning OFF this setting is NOT recommended! If in doubt, say Y.
20 20
21config SUSPEND_SKIP_SYNC
22 bool "Skip kernel's sys_sync() on suspend to RAM/standby"
23 depends on SUSPEND
24 depends on EXPERT
25 help
26 Skip the kernel sys_sync() before freezing user processes.
27 Some systems prefer not to pay this cost on every invocation
28 of suspend, or they are content with invoking sync() from
29 user-space before invoking suspend. Say Y if that's your case.
30
21config HIBERNATE_CALLBACKS 31config HIBERNATE_CALLBACKS
22 bool 32 bool
23 33
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index 53266b729fd9..7e4cda4a8dd9 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -484,11 +484,13 @@ static int enter_state(suspend_state_t state)
484 if (state == PM_SUSPEND_FREEZE) 484 if (state == PM_SUSPEND_FREEZE)
485 freeze_begin(); 485 freeze_begin();
486 486
487#ifndef CONFIG_SUSPEND_SKIP_SYNC
487 trace_suspend_resume(TPS("sync_filesystems"), 0, true); 488 trace_suspend_resume(TPS("sync_filesystems"), 0, true);
488 printk(KERN_INFO "PM: Syncing filesystems ... "); 489 printk(KERN_INFO "PM: Syncing filesystems ... ");
489 sys_sync(); 490 sys_sync();
490 printk("done.\n"); 491 printk("done.\n");
491 trace_suspend_resume(TPS("sync_filesystems"), 0, false); 492 trace_suspend_resume(TPS("sync_filesystems"), 0, false);
493#endif
492 494
493 pr_debug("PM: Preparing system for sleep (%s)\n", pm_states[state]); 495 pr_debug("PM: Preparing system for sleep (%s)\n", pm_states[state]);
494 error = suspend_prepare(state); 496 error = suspend_prepare(state);