Re: [PATCH] x86/entry/64: Fix native_load_gs_index() SWAPGS handling with IRQ state tracing enabled

From: Thomas Gleixner
Date: Wed Nov 29 2017 - 04:28:41 EST


On Wed, 29 Nov 2017, Jarkko Nikula wrote:

> On 11/29/2017 09:09 AM, Ingo Molnar wrote:
> >
> > * Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> wrote:
> >
> > > Hi
> > >
> > > Suspend-to-ram and resume stopped working on v4.15-rc1 and I bisected it
> > > to commit ca37e57bbe0c ("x86/entry/64: Add missing irqflags tracing to
> > > native_load_gs_index()").
> > >
> > > I noticed it on Intel Kabylake (core) and Apollolake (atom) based
> > > prototype machines. Symptoms are that machine appears to enter
> > > into suspend but resumes instantly and hangs. Unfortunately no
> > > logs.
> > >
> > > If I revert ca37e57bbe0c on v4.15-rc1 it works as expected.
> >
> > Hm, that commit looks broken with irq-tracing enabled. Does the
> > patch below fix it?
> >
> No, it makes the machine not to boot at all :-(
>
> Log below when I used my config (now attached). With x86_64_defconfig it
> booted twice but didn't survive suspend/resume. However several other boot
> attempts with x86_64_defconfig failed somewhat similarly. Not in the same
> place but hanging anyway. With my own config it seems to always end up failing
> in trace_hardirqs_off_caller.

Does it work when you disable all the tracing muck?

Thanks,

tglx