Re: [Resend PATCH V2] X86/CPU: Avoid 100ms sleep for cpu offline during S3

From: Ingo Molnar
Date: Wed Sep 24 2014 - 09:00:29 EST



* Lan Tianyu <tianyu.lan@xxxxxxxxx> wrote:

> On 2014å08æ26æ 15:43, Lan Tianyu wrote:
> > With some bad kernel configures, cpu offline consumes more than 100ms
> > during S3. This because native_cpu_die() would fall into 100ms
> > sleep when cpu idle loop thread marked cpu state to DEAD slower. It's
> > timing related issue. What native_cpu_die() does is that poll cpu
> > state and wait for 100ms if cpu state hasn't been marked to DEAD.
> > The 100ms sleep doesn't make sense. To avoid such long sleep, this
> > patch is to add struct completion to each cpu, wait for the completion
> > in the native_cpu_die() and wakeup the completion when the cpu state is
> > marked to DEAD.
> >
> > Tested on the Intel Xeon server with 48 cores, Ivbridge and Haswell laptops.
> > the times of cpu offline on these machines are reduced from more than 100ms
> > to less than 5ms. The system suspend time reduces 2.3s on the servers.
> >
> > Borislav and Prarit also helped to test the patch on an AMD machine and
> > a few systems of various sizes and configurations (multi-socket,
> > single-socket, no hyper threading, etc.). No issues seen.
> >
> > Acked-by: Borislav Petkov <bp@xxxxxxx>
> > Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx>
> > Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx>
> > ---
> > arch/x86/kernel/smpboot.c | 23 +++++++++++------------
> > 1 file changed, 11 insertions(+), 12 deletions(-)
> >
>
> Hi HPA, Ingo, Thomas & Peter Z:
> Is this patch ok for you?

Nice patch!

I cleaned up a few small details and will push it out if it
passes testing.

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/