rcu: Convert rcutree to hotplug state machine
Straight forward conversion to the state machine. Though the question arises whether this needs really all these state transitions to work. 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> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: rt@linutronix.de Link: http://lkml.kernel.org/r/20160713153337.982013161@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:

committed by
Ingo Molnar

parent
15d7e3d349
commit
4df8374254
14
kernel/cpu.c
14
kernel/cpu.c
@@ -1205,6 +1205,11 @@ static struct cpuhp_step cpuhp_bp_states[] = {
|
||||
.startup = NULL,
|
||||
.teardown = timers_dead_cpu,
|
||||
},
|
||||
[CPUHP_RCUTREE_PREP] = {
|
||||
.name = "RCU-tree prepare",
|
||||
.startup = rcutree_prepare_cpu,
|
||||
.teardown = rcutree_dead_cpu,
|
||||
},
|
||||
/*
|
||||
* Preparatory and dead notifiers. Will be replaced once the notifiers
|
||||
* are converted to states.
|
||||
@@ -1263,6 +1268,10 @@ static struct cpuhp_step cpuhp_ap_states[] = {
|
||||
.startup = sched_cpu_starting,
|
||||
.teardown = sched_cpu_dying,
|
||||
},
|
||||
[CPUHP_AP_RCUTREE_DYING] = {
|
||||
.startup = NULL,
|
||||
.teardown = rcutree_dying_cpu,
|
||||
},
|
||||
/*
|
||||
* Low level startup/teardown notifiers. Run with interrupts
|
||||
* disabled. Will be removed once the notifiers are converted to
|
||||
@@ -1296,6 +1305,11 @@ static struct cpuhp_step cpuhp_ap_states[] = {
|
||||
.startup = workqueue_online_cpu,
|
||||
.teardown = workqueue_offline_cpu,
|
||||
},
|
||||
[CPUHP_AP_RCUTREE_ONLINE] = {
|
||||
.name = "RCU-tree online",
|
||||
.startup = rcutree_online_cpu,
|
||||
.teardown = rcutree_offline_cpu,
|
||||
},
|
||||
|
||||
/*
|
||||
* Online/down_prepare notifiers. Will be removed once the notifiers
|
||||
|
Reference in New Issue
Block a user