aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2014-08-13 18:09:44 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-08-13 18:23:07 +1000
commitbb8be0ec098a57796776b8a1d1fb49a220a539d8 (patch)
tree2fcfa1d238cfb11e2ec19db252938934c81bcf62 /include
parent52a920308d1850a85023e3b61678cf68c73593cc (diff)
downloadskiboot-bb8be0ec098a57796776b8a1d1fb49a220a539d8.zip
skiboot-bb8be0ec098a57796776b8a1d1fb49a220a539d8.tar.gz
skiboot-bb8be0ec098a57796776b8a1d1fb49a220a539d8.tar.bz2
Add cpu_relax to stop cores spinning hard
Ensure a thread is not stopping its siblings from making forward progress when we are busy-waiting on older DD1.x CPU revisions where SMT priorities are somewhat broken. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include')
-rw-r--r--include/cpu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/cpu.h b/include/cpu.h
index d7f6aae..1f92b9c 100644
--- a/include/cpu.h
+++ b/include/cpu.h
@@ -78,6 +78,8 @@ extern unsigned int cpu_thread_count;
/* Boot CPU. */
extern struct cpu_thread *boot_cpu;
+extern void cpu_relax(void);
+
/* Initialize CPUs */
void pre_init_boot_cpu(void);
void init_boot_cpu(void);