summaryrefslogtreecommitdiffstats
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-04-28 16:33:07 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-06-08 08:25:39 -0700
commitd7d34d5e46140a13f86379c87a196dc8a0b9b585 (patch)
tree8721664caf88ba333183a7b8529c3870c130a054 /kernel/sched/core.c
parent68ab0b4263224157f4d0c0e42854169a183d7534 (diff)
downloadtalos-obmc-linux-d7d34d5e46140a13f86379c87a196dc8a0b9b585.tar.gz
talos-obmc-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.c8
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;
OpenPOWER on IntegriCloud