9649814432
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> |
||
---|---|---|
.. | ||
perf | ||
.gitignore | ||
asm-offsets.c | ||
cachepart.c | ||
clock.c | ||
core_reg.c | ||
da.c | ||
devtree.c | ||
dma.c | ||
ftrace.c | ||
ftrace_stub.S | ||
head.S | ||
irq.c | ||
kick.c | ||
machines.c | ||
Makefile | ||
metag_ksyms.c | ||
module.c | ||
perf_callchain.c | ||
process.c | ||
ptrace.c | ||
setup.c | ||
signal.c | ||
smp.c | ||
stacktrace.c | ||
sys_metag.c | ||
tbiunexp.S | ||
tcm.c | ||
time.c | ||
topology.c | ||
traps.c | ||
user_gateway.S | ||
vmlinux.lds.S |