rcu: Avoid redundant grace-period kthread wakeups
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 20 Jun 2013 20:50:40 +0000 (13:50 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 19 Aug 2013 00:40:09 +0000 (17:40 -0700)
commit1eafd31c640d6799c63136246a59d608bed93c74
treef2ee193817ab4ce4ca4f789033d65a8a326d16bf
parentae15018456c44b742d352af323e0b89eae4a6383
rcu: Avoid redundant grace-period kthread wakeups

When setting up an in-the-future "advanced" grace period, the code needs
to wake up the relevant grace-period kthread, which it currently does
unconditionally.  However, this results in needless wakeups in the case
where the advanced grace period is being set up by the grace-period
kthread itself, which is a non-uncommon situation.  This commit therefore
checks to see if the running thread is the grace-period kthread, and
avoids doing the irq_work_queue()-mediated wakeup in that case.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcutree.c