]> git.karo-electronics.de Git - karo-tx-linux.git/commit
rcu: Accelerate callbacks for CPU initiating a grace period
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 20 Sep 2012 23:02:49 +0000 (16:02 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 20 Oct 2012 20:47:10 +0000 (13:47 -0700)
commit62da1921292ef789c23a7bf01d671d7572baf377
treeaec958e9dbfe4d7fbdfe13e8a622721bc87a1313
parent6f0c0580b70c89094b3422ba81118c7b959c7556
rcu: Accelerate callbacks for CPU initiating a grace period

Because grace-period initialization is carried out by a separate
kthread, it might happen on a different CPU than the one that
had the callback needing a grace period -- which is where the
callback acceleration needs to happen.

Fortunately, rcu_start_gp() holds the root rcu_node structure's
->lock, which prevents a new grace period from starting.  This
allows this function to safely determine that a grace period has
not yet started, which in turn allows it to fully accelerate any
callbacks that it has pending.  This commit adds this acceleration.

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