[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [patch] x86: Add a delay between INIT & SIPIs for AP bring-up in X2APIC case



On 21/12/2011 11:22, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote:

> Without this delay, Xen could not bring APs up while working with TXT/tboot,
> because tboot need 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)

Of course Tim will need to review this himself, but a mdelay() right here,
only on the x2apic path just looks bizarre and fragile.

Could we make the !x2apic_enabled conditionals that Tim added be
!(x2apic_enabled || tboot_in_measured_env()) instead? At least that is
somewhat self-documenting and clearly only affects tboot!

 -- Keir

> Signed-off-by: Gang Wei <gang.wei@xxxxxxxxx>
> 
> diff -r d1aefee43af1 xen/arch/x86/smpboot.c
> --- a/xen/arch/x86/smpboot.c    Wed Dec 21 18:51:31 2011 +0800
> +++ b/xen/arch/x86/smpboot.c    Wed Dec 21 19:08:57 2011 +0800
> @@ -463,6 +463,10 @@ static int wakeup_secondary_cpu(int phys
>              send_status = apic_read(APIC_ICR) & APIC_ICR_BUSY;
>          } while ( send_status && (timeout++ < 1000) );
>      }
> +    else
> +    {
> +        mdelay(10);
> +    }
> 
>      /*
>       * Should we send STARTUP IPIs ?



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.