summaryrefslogtreecommitdiff
path: root/kernel/cpu.c
diff options
context:
space:
mode:
authorKaushal Kumar <kaushalk@codeaurora.org>2014-05-15 19:19:04 +0530
committerRunmin Wang <runminw@codeaurora.org>2016-08-02 10:19:16 -0700
commit36131fdc87c847b498d82808dd5ac88443dc8cf5 (patch)
tree43680f410293525debe2b3db4e0a0fbd94bc9944 /kernel/cpu.c
parent2566204c8d1d65bac5df79262a6a22c40a5b0b0f (diff)
sched: Remove synchronize rcu/sched calls from _cpu_down
There is no need for sync_sched() in _cpu_down as stop_machine() provides that barrier implicitly. Removing it also helps improve hot-unplug latency. The sync_sched/rcu were earlier removed for the same reason by the commit 9ee349ad6d326df3633 ("sched: Fix set_cpu_active() in cpu_down()"), but recently got added as part of commit <6acce3ef84520537> ("sched: Remove get_online_cpus() usage."). CRs-Fixed: 1048941 Change-Id: I97763004454d082d3cc2d9d9dbef7da923608600 Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org> Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r--kernel/cpu.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 37731292f8a1..1cfd381642da 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -365,21 +365,6 @@ static int _cpu_down(unsigned int cpu, int tasks_frozen)
goto out_release;
}
- /*
- * By now we've cleared cpu_active_mask, wait for all preempt-disabled
- * and RCU users of this state to go away such that all new such users
- * will observe it.
- *
- * For CONFIG_PREEMPT we have preemptible RCU and its sync_rcu() might
- * not imply sync_sched(), so wait for both.
- *
- * Do sync before park smpboot threads to take care the rcu boost case.
- */
- if (IS_ENABLED(CONFIG_PREEMPT))
- synchronize_rcu_mult(call_rcu, call_rcu_sched);
- else
- synchronize_rcu();
-
smpboot_park_threads(cpu);
/*