rcu: Switch synchronize_sched_expedited() to IPI
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 6 Aug 2015 23:50:39 +0000 (16:50 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 7 Oct 2015 23:01:12 +0000 (16:01 -0700)
commit6587a23b6b9bdb47205ec96c703e5bf8a2d39701
treec5ac61d861ea8b1b6e3c4708c1db2f1f551f9b1a
parent5b74c458906fc4a62f932ee8bb801d29baf15fec
rcu: Switch synchronize_sched_expedited() to IPI

This commit switches synchronize_sched_expedited() from stop_one_cpu_nowait()
to smp_call_function_single(), thus moving from an IPI and a pair of
context switches to an IPI and a single pass through the scheduler.
Of course, if the scheduler actually does decide to switch to a different
task, there will still be a pair of context switches, but there would
likely have been a pair of context switches anyway, just a bit later.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c
kernel/rcu/tree.h