Re: [PATCH] x86: skip delays during SMP initialization similar to Xen

Ingo Molnar
2015-05-06T08:28:09Z

* Jan H. Schönherr <jschoenh@amazon.de> wrote:

> Remove the per-CPU delays during SMP initialization, which seems to be
> possible on newer architectures with an x2APIC.
>
> Xen does this since 2011. In fact, this commit is basically a
> combination of the following Xen commits. The first removes the delays,
> the second fixes an issue with the removal:
>
> commit 68fce206f6dba9981e8322269db49692c95ce250
> Author: Tim Deegan <Tim.Deegan@citrix.com>
> Date: Tue Jul 19 14:13:01 2011 +0100
>
> x86: Remove timeouts from INIT-SIPI-SIPI sequence when using x2apic.
>
> Some of the timeouts are pointless since they're waiting for the ICR
> to ack the IPI delivery and that doesn't happen on x2apic.
> The others should be benign (and are suggested in the SDM) but
> removing them makes AP bringup much more reliable on some test boxes.
>
> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
>
> commit f12ee533150761df5a7099c83f2a5fa6c07d1187
> Author: Gang Wei <gang.wei@intel.com>
> Date: Thu Dec 29 10:07:54 2011 +0000
>
> X86: Add a delay between INIT & SIPIs for tboot AP bring-up in X2APIC case
>
> Without this delay, Xen could not bring APs up while working with
> TXT/tboot, because tboot needs some time in APs to handle INIT before
> becoming ready for receiving SIPIs (this delay was removed as part of
> c/s 23724 by Tim Deegan).
>
> Signed-off-by: Gang Wei <gang.wei@intel.com>
> Acked-by: Keir Fraser <keir@xen.org>
> Acked-by: Tim Deegan <tim@xen.org>
> Committed-by: Tim Deegan <tim@xen.org>
>
> Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Tim Deegan <tim@xen.org>
> Cc: Gang Wei <gang.wei@intel.com>
> ---
> arch/x86/kernel/smpboot.c | 61 +++++++++++++++++++++++++++++------------------
> 1 file changed, 38 insertions(+), 23 deletions(-)
>
> This patch is against Linux 4.1-rc1.

So I really like this, as it nicely side-steps the 'when should we do
the legacy delays' issue by flagging on x2apic support.

If anyone has objections, please holler.

Thanks,

Ingo