Skip to content

Commit

Permalink
PM / Sleep: Remove ftrace_stop/start() from suspend and hibernate
Browse files Browse the repository at this point in the history
ftrace_stop() and ftrace_start() were added to the suspend and hibernate
process because there was some function within the work flow that caused
the system to reboot if it was traced. This function has recently been
found (restore_processor_state()). Now there's no reason to disable
function tracing while we are going into suspend or hibernate, which means
that being able to trace this will help tremendously in debugging any
issues with suspend or hibernate.

This also means that the ftrace_stop/start() functions can be removed
and simplify the function tracing code a bit.

Link: http://lkml.kernel.org/r/1518201.VD9cU33jRU@vostro.rjw.lan

Acked-by: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt (Red Hat) committed Jul 17, 2014
1 parent b8f99b3 commit 2b01466
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 8 deletions.
6 changes: 0 additions & 6 deletions kernel/power/hibernate.c
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,6 @@ int hibernation_snapshot(int platform_mode)
}

suspend_console();
ftrace_stop();
pm_restrict_gfp_mask();

error = dpm_suspend(PMSG_FREEZE);
Expand All @@ -397,7 +396,6 @@ int hibernation_snapshot(int platform_mode)
if (error || !in_suspend)
pm_restore_gfp_mask();

ftrace_start();
resume_console();
dpm_complete(msg);

Expand Down Expand Up @@ -500,15 +498,13 @@ int hibernation_restore(int platform_mode)

pm_prepare_console();
suspend_console();
ftrace_stop();
pm_restrict_gfp_mask();
error = dpm_suspend_start(PMSG_QUIESCE);
if (!error) {
error = resume_target_kernel(platform_mode);
dpm_resume_end(PMSG_RECOVER);
}
pm_restore_gfp_mask();
ftrace_start();
resume_console();
pm_restore_console();
return error;
Expand All @@ -535,7 +531,6 @@ int hibernation_platform_enter(void)

entering_platform_hibernation = true;
suspend_console();
ftrace_stop();
error = dpm_suspend_start(PMSG_HIBERNATE);
if (error) {
if (hibernation_ops->recover)
Expand Down Expand Up @@ -579,7 +574,6 @@ int hibernation_platform_enter(void)
Resume_devices:
entering_platform_hibernation = false;
dpm_resume_end(PMSG_RESTORE);
ftrace_start();
resume_console();

Close:
Expand Down
2 changes: 0 additions & 2 deletions kernel/power/suspend.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,6 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)
goto Platform_wake;
}

ftrace_stop();
error = disable_nonboot_cpus();
if (error || suspend_test(TEST_CPUS))
goto Enable_cpus;
Expand All @@ -275,7 +274,6 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)

Enable_cpus:
enable_nonboot_cpus();
ftrace_start();

Platform_wake:
if (need_suspend_ops(state) && suspend_ops->wake)
Expand Down

0 comments on commit 2b01466

Please sign in to comment.