metag: smp: don't spin waiting for CPU to start
authorJames Hogan <james.hogan@imgtec.com>
Fri, 28 Jun 2013 14:03:05 +0000 (15:03 +0100)
committerJames Hogan <james.hogan@imgtec.com>
Tue, 2 Jul 2013 10:03:52 +0000 (11:03 +0100)
commit9649814432faa9016952895684120942da0d8481
tree3a4c5862e7dd092a030f7276ebb34c34d68090ce
parent234c7f1ac109ad1af4ae410463d03ccebf3d6657
metag: smp: don't spin waiting for CPU to start

Use a completion to block until a secondary CPU has started up, like ARM
do, instead of a loop of udelays.

On Meta, SMP is really SMT, with each "CPU" being a different hardware
thread on the same Meta processor core, so as well as being more
efficient and latency friendly, using a completion prevents the bogomips
of the secondary CPU from being drastically skewed every time by the
execution of the tight in-cache udelay loop on the other CPU.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
arch/metag/kernel/smp.c