aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-07-13 13:16:29 -0400
committerIngo Molnar <mingo@kernel.org>2016-07-14 03:34:43 -0400
commit7ee681b25284782ecf380bf5ccf55f13c52fd0ce (patch)
tree3e3c0c734c5248f7342b8303908f5f824a6774ef /include
parentc6a84daa3498f269e3b506757506f762b6f56080 (diff)
workqueue: Convert to state machine callbacks
Get rid of the prio ordering of the separate notifiers and use a proper state callback pair. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Tejun Heo <tj@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Lai Jiangshan <jiangshanlai@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: rt@linutronix.de Link: http://lkml.kernel.org/r/20160713153335.197083890@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/cpu.h9
-rw-r--r--include/linux/cpuhotplug.h2
-rw-r--r--include/linux/workqueue.h6
3 files changed, 8 insertions, 9 deletions
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index ca2dd865a34e..797d9c8e9a1b 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -55,15 +55,6 @@ extern ssize_t arch_cpu_release(const char *, size_t);
55#endif 55#endif
56struct notifier_block; 56struct notifier_block;
57 57
58/*
59 * CPU notifier priorities.
60 */
61enum {
62 /* bring up workqueues before normal notifiers and down after */
63 CPU_PRI_WORKQUEUE_UP = 5,
64 CPU_PRI_WORKQUEUE_DOWN = -5,
65};
66
67#define CPU_ONLINE 0x0002 /* CPU (unsigned)v is up */ 58#define CPU_ONLINE 0x0002 /* CPU (unsigned)v is up */
68#define CPU_UP_PREPARE 0x0003 /* CPU (unsigned)v coming up */ 59#define CPU_UP_PREPARE 0x0003 /* CPU (unsigned)v coming up */
69#define CPU_UP_CANCELED 0x0004 /* CPU (unsigned)v NOT coming up */ 60#define CPU_UP_CANCELED 0x0004 /* CPU (unsigned)v NOT coming up */
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index acfeda137df8..60557a9e783d 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -12,6 +12,7 @@ enum cpuhp_state {
12 CPUHP_PERF_BFIN, 12 CPUHP_PERF_BFIN,
13 CPUHP_PERF_POWER, 13 CPUHP_PERF_POWER,
14 CPUHP_PERF_SUPERH, 14 CPUHP_PERF_SUPERH,
15 CPUHP_WORKQUEUE_PREP,
15 CPUHP_NOTIFY_PREPARE, 16 CPUHP_NOTIFY_PREPARE,
16 CPUHP_BRINGUP_CPU, 17 CPUHP_BRINGUP_CPU,
17 CPUHP_AP_IDLE_DEAD, 18 CPUHP_AP_IDLE_DEAD,
@@ -49,6 +50,7 @@ enum cpuhp_state {
49 CPUHP_AP_PERF_S390_SF_ONLINE, 50 CPUHP_AP_PERF_S390_SF_ONLINE,
50 CPUHP_AP_PERF_ARM_CCI_ONLINE, 51 CPUHP_AP_PERF_ARM_CCI_ONLINE,
51 CPUHP_AP_PERF_ARM_CCN_ONLINE, 52 CPUHP_AP_PERF_ARM_CCN_ONLINE,
53 CPUHP_AP_WORKQUEUE_ONLINE,
52 CPUHP_AP_NOTIFY_ONLINE, 54 CPUHP_AP_NOTIFY_ONLINE,
53 CPUHP_AP_ONLINE_DYN, 55 CPUHP_AP_ONLINE_DYN,
54 CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30, 56 CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30,
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index ca73c503b92a..26cc1df280d6 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -625,4 +625,10 @@ void wq_watchdog_touch(int cpu);
625static inline void wq_watchdog_touch(int cpu) { } 625static inline void wq_watchdog_touch(int cpu) { }
626#endif /* CONFIG_WQ_WATCHDOG */ 626#endif /* CONFIG_WQ_WATCHDOG */
627 627
628#ifdef CONFIG_SMP
629int workqueue_prepare_cpu(unsigned int cpu);
630int workqueue_online_cpu(unsigned int cpu);
631int workqueue_offline_cpu(unsigned int cpu);
632#endif
633
628#endif 634#endif