diff options
-rw-r--r-- | kernel/power/Kconfig | 10 | ||||
-rw-r--r-- | kernel/power/suspend.c | 2 |
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 | ||
21 | config 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 | |||
21 | config HIBERNATE_CALLBACKS | 31 | config 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); |