]> asedeno.scripts.mit.edu Git - linux.git/commit
rcu: Adjust ->lock acquisition for tasks no longer migrating
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 8 Mar 2015 21:20:30 +0000 (14:20 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 27 May 2015 19:58:37 +0000 (12:58 -0700)
commit0a0ba1c93f8a0ff28bacec0d1d018081e762e2f0
treeb76fd4bf7358f5a0cdeea2a97ee73485a5c4f720
parentea46351cea79f54729d8546e5bd7f091a2e6484b
rcu: Adjust ->lock acquisition for tasks no longer migrating

Tasks are no longer migrated away from a given rcu_node structure
when all CPUs corresponding to that rcu_node structure have gone offline.
This means that rcu_read_unlock_special() no longer needs to loop
retrying rcu_node ->lock acquisition because the current task is
guaranteed to stay put.

This commit takes a small and paranoid step towards relying on this
guarantee by placing a WARN_ON_ONCE() just after the early exit from
the lock-acquisition loop.

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