[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 2/6] arm: move GIC SGI kicking into separate function
On Mon, 2013-12-02 at 12:08 +0100, Andre Przywara wrote: > Currently we unconditionally send SGIs to all cores on SMP bringup. > PSCI will not need this, so we move this into a function and call it > explicitly from the platforms that need it. This gets us get rid of > the empty cpu_up() platform functions in ARM32 and the comment in > there. I don't think this is quite true -- even on a PSCI system the kick is required to get past the gate in head.S. I wonder how this interacts with PSCI implementations which use an SGI themselves internally... > @@ -376,11 +386,6 @@ int __cpu_up(unsigned int cpu) > return rc; > } > > - /* We don't know the GIC ID of the CPU until it has woken up, so just > signal > - * everyone and rely on our own smp_up_cpu gate to ensure only the one we > - * want gets through. */ > - send_SGI_allbutself(GIC_SGI_EVENT_CHECK); > - So, I was saying in the 00 mail I'm not sure we can get rid of this altogether. But I suppose it is the intention that the platform code always has both its own logic and this SGI kick (possibly coalesced) in such circumstances? Which is probably ok? > while ( !cpu_online(cpu) ) > { > cpu_relax(); > diff --git a/xen/include/asm-arm/smp.h b/xen/include/asm-arm/smp.h > index 1485cc6..a1de03c 100644 > --- a/xen/include/asm-arm/smp.h > +++ b/xen/include/asm-arm/smp.h > @@ -21,6 +21,8 @@ extern int arch_smp_init(void); > extern int arch_cpu_init(int cpu, struct dt_device_node *dn); > extern int arch_cpu_up(int cpu); > > +int cpu_up_send_sgi(int cpu); > + > /* Secondary CPU entry point */ > extern void init_secondary(void); > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |