diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2016-07-13 13:16:29 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-07-14 03:34:43 -0400 |
commit | 7ee681b25284782ecf380bf5ccf55f13c52fd0ce (patch) | |
tree | 3e3c0c734c5248f7342b8303908f5f824a6774ef /include | |
parent | c6a84daa3498f269e3b506757506f762b6f56080 (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.h | 9 | ||||
-rw-r--r-- | include/linux/cpuhotplug.h | 2 | ||||
-rw-r--r-- | include/linux/workqueue.h | 6 |
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 |
56 | struct notifier_block; | 56 | struct notifier_block; |
57 | 57 | ||
58 | /* | ||
59 | * CPU notifier priorities. | ||
60 | */ | ||
61 | enum { | ||
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); | |||
625 | static inline void wq_watchdog_touch(int cpu) { } | 625 | static inline void wq_watchdog_touch(int cpu) { } |
626 | #endif /* CONFIG_WQ_WATCHDOG */ | 626 | #endif /* CONFIG_WQ_WATCHDOG */ |
627 | 627 | ||
628 | #ifdef CONFIG_SMP | ||
629 | int workqueue_prepare_cpu(unsigned int cpu); | ||
630 | int workqueue_online_cpu(unsigned int cpu); | ||
631 | int workqueue_offline_cpu(unsigned int cpu); | ||
632 | #endif | ||
633 | |||
628 | #endif | 634 | #endif |