Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1348671
| From | "Rafael J. Wysocki" <rafael@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] PM: Fix crash on graph trace through x86 suspend |
| Date | 2016-03-03 02:40 +0100 |
| Message-ID | <r8qpc-89F-11@gated-at.bofh.it> (permalink) |
| References | <r8qpc-89F-13@gated-at.bofh.it> <r8qpc-89F-15@gated-at.bofh.it> <r8qpc-89F-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Mar 3, 2016 at 1:43 AM, Todd Brandt <todd.e.brandt@linux.intel.com> wrote: > On Thu, 2016-03-03 at 01:19 +0100, Rafael J. Wysocki wrote: >> On Thu, Mar 3, 2016 at 1:05 AM, Todd Brandt >> <todd.e.brandt@linux.intel.com> wrote: >> > Pause/unpause graph tracing around do_suspend_lowlevel as it has >> > inconsistent call/return info after it jumps to the wakeup vector. >> > The graph trace buffer will otherwise become misaligned and >> > may eventually crash and hang on suspend. >> > >> > To reproduce the issue and test the fix: >> > Run a function_graph trace over suspend/resume and set the graph >> > function to suspend_devices_and_enter. This consistently hangs the >> > system without this fix. >> > >> > Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com> >> >> OK >> >> I guess we'll need that in -stable, right? > > Sure, it's pretty important. The new analyze_suspend features are going > to rely pretty heavily on full graph trace of suspend (all we can do is > standby and freeze now because of the bug). Thanks! OK, applied, but let Steven and the x86 folks see it. >> >> > --- >> > arch/x86/kernel/acpi/sleep.c | 7 +++++++ >> > 1 file changed, 7 insertions(+) >> > >> > diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c >> > index d1daead..311360e 100644 >> > --- a/arch/x86/kernel/acpi/sleep.c >> > +++ b/arch/x86/kernel/acpi/sleep.c >> > @@ -16,6 +16,7 @@ >> > #include <asm/cacheflush.h> >> > #include <asm/realmode.h> >> > >> > +#include <linux/ftrace.h> >> > #include "../../realmode/rm/wakeup.h" >> > #include "sleep.h" >> > >> > @@ -107,7 +108,13 @@ int x86_acpi_suspend_lowlevel(void) >> > saved_magic = 0x123456789abcdef0L; >> > #endif /* CONFIG_64BIT */ >> > >> > + /* >> > + * Pause/unpause graph tracing around do_suspend_lowlevel as it has >> > + * inconsistent call/return info after it jumps to the wakeup vector >> > + */ >> > + pause_graph_tracing(); >> > do_suspend_lowlevel(); >> > + unpause_graph_tracing(); >> > return 0; >> > } >> > >> > -- >> > 2.1.4 >> > >> > -- Thanks, Rafael
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [PATCH] PM: Fix crash on graph trace through x86 suspend "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-03 02:40 +0100
Re: [PATCH] PM: Fix crash on graph trace through x86 suspend "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-03 02:40 +0100
Re: [PATCH] PM: Fix crash on graph trace through x86 suspend Steven Rostedt <rostedt@goodmis.org> - 2016-03-03 03:10 +0100
Re: [PATCH] PM: Fix crash on graph trace through x86 suspend "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-03 03:20 +0100
csiph-web