diff options
author | Kaushal Kumar <kaushalk@codeaurora.org> | 2014-05-15 19:19:04 +0530 |
---|---|---|
committer | Runmin Wang <runminw@codeaurora.org> | 2016-08-02 10:19:16 -0700 |
commit | 36131fdc87c847b498d82808dd5ac88443dc8cf5 (patch) | |
tree | 43680f410293525debe2b3db4e0a0fbd94bc9944 /kernel/cpu.c | |
parent | 2566204c8d1d65bac5df79262a6a22c40a5b0b0f (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.c | 15 |
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); /* |