summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-09-20 19:00:15 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-09-25 22:11:41 +0200
commitfac1c2040203363eab6c6e86ce883cb71390418f (patch)
tree3a31e99d359b99572084ca07fffe7ce19152ab68
parente19b205be43d11bff638cad4487008c48d21c103 (diff)
downloadlinux-fac1c2040203363eab6c6e86ce883cb71390418f.tar.gz
linux-fac1c2040203363eab6c6e86ce883cb71390418f.tar.bz2
linux-fac1c2040203363eab6c6e86ce883cb71390418f.zip
smp/hotplug: Add state diagram
Add a state diagram to clarify when which states are ran where. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: bigeasy@linutronix.de Cc: efault@gmx.de Cc: rostedt@goodmis.org Cc: max.byungchul.park@gmail.com Link: https://lkml.kernel.org/r/20170920170546.661598270@infradead.org
-rw-r--r--include/linux/cpuhotplug.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index f24bfb2b9a2d..477b2e6f60f7 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -3,6 +3,24 @@
#include <linux/types.h>
+/*
+ * CPU-up CPU-down
+ *
+ * BP AP BP AP
+ *
+ * OFFLINE OFFLINE
+ * | ^
+ * v |
+ * BRINGUP_CPU->AP_OFFLINE BRINGUP_CPU <- AP_IDLE_DEAD (idle thread/play_dead)
+ * | AP_OFFLINE
+ * v (IRQ-off) ,---------------^
+ * AP_ONLNE | (stop_machine)
+ * | TEARDOWN_CPU <- AP_ONLINE_IDLE
+ * | ^
+ * v |
+ * AP_ACTIVE AP_ACTIVE
+ */
+
enum cpuhp_state {
CPUHP_OFFLINE,
CPUHP_CREATE_THREADS,