Re: [PATCH] x86: v3.4-rc1 s2ram regression

From: Ingo Molnar
Date: Mon Apr 02 2012 - 03:28:43 EST



* Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote:

> On Sun, Apr 01, 2012 at 05:26:43PM +0400, Konstantin Khlebnikov wrote:
> > commit b74f05d61b73af584d0c39121980171389ecfaaa
> > ("x86: kvmclock: abstract save/restore sched_clock_state")
> > breaks s2ram for my notebook. It hangs (maybe panic) somewhere on resume stage
> > and blinks with all possible leds =) Screen is black, so I don't know what happened.
> >
> > reverting or following patch helps
> >
> > Bisected-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
> > Cc: Avi Kivity <avi@xxxxxxxxxx>
> > Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
> > ---
> > arch/x86/power/cpu.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
> > index 4793683..2bc5a82 100644
> > --- a/arch/x86/power/cpu.c
> > +++ b/arch/x86/power/cpu.c
> > @@ -231,8 +231,8 @@ static void __restore_processor_state(struct saved_context *ctxt)
> > /* Needed by apm.c */
> > void restore_processor_state(void)
> > {
> > - x86_platform.restore_sched_clock_state();
> > __restore_processor_state(&saved_context);
> > + x86_platform.restore_sched_clock_state();
> > }
> > #ifdef CONFIG_X86_32
> > EXPORT_SYMBOL(restore_processor_state);
>
> The correct fix is in kvm.git (see below).
>
> Ingo, can you please merge it through x86 tree while the
> kvm.git issues are resolved? It has been forward to you directly.
>
> x86: call restore_sched_clock_state after %gs is initialized
>
> restore_sched_clock_state methods use percpu data, therefore they
> must run after %gs is initialized, but before mtrr_bp_restore (due to
> lockstat using sched_clock).
>
> Move it to the correct place.
>
> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>

Ok, will queue it up.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/