diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-29 01:33:07 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-06-08 17:25:39 +0200 |
commit | d7d34d5e46140a13f86379c87a196dc8a0b9b585 (patch) | |
tree | 8721664caf88ba333183a7b8529c3870c130a054 /kernel/sched/core.c | |
parent | rcu: Make synchronize_rcu_mult() check for duplicates (diff) | |
download | linux-d7d34d5e46140a13f86379c87a196dc8a0b9b585.tar.xz linux-d7d34d5e46140a13f86379c87a196dc8a0b9b585.zip |
sched: Rely on synchronize_rcu_mult() de-duplication
The synchronize_rcu_mult() function now detects duplicate requests
for the same grace-period flavor and waits only once for each flavor.
This commit therefore removes the ugly #ifdef from sched_cpu_deactivate()
because synchronize_rcu_mult(call_rcu, call_rcu_sched) now does what
the #ifdef used to be needed for.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r-- | kernel/sched/core.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 803c3bc274c4..e91138fcde86 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5874,15 +5874,9 @@ int sched_cpu_deactivate(unsigned int cpu) * 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(); + synchronize_rcu_mult(call_rcu, call_rcu_sched); if (!sched_smp_initialized) return 0; |