diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2012-01-11 17:25:17 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-02-21 09:03:43 -0800 |
commit | 1aa03f1188f7b0b85df2de602b33ee7b6fab8e00 (patch) | |
tree | 20ee8fc1aa5bccc8d8cf53c705d9cc766058eaf5 /kernel/rcutree_plugin.h | |
parent | 8762705ad4ac860bb78434409df463d02ac8f027 (diff) | |
download | op-kernel-dev-1aa03f1188f7b0b85df2de602b33ee7b6fab8e00.zip op-kernel-dev-1aa03f1188f7b0b85df2de602b33ee7b6fab8e00.tar.gz |
rcu: Simplify unboosting checks
This is a port of commit #82e78d80 from TREE_PREEMPT_RCU to
TINY_PREEMPT_RCU.
This commit uses the fact that current->rcu_boost_mutex is set
any time that the RCU_READ_UNLOCK_BOOSTED flag is set in the
current->rcu_read_unlock_special bitmask. This allows tests of
the bit to be changed to tests of the pointer, which in turn allows
the RCU_READ_UNLOCK_BOOSTED flag to be eliminated.
Please note that the check of current->rcu_read_unlock_special need not
change because any time that RCU_READ_UNLOCK_BOOSTED was set, so was
RCU_READ_UNLOCK_BLOCKED. Therefore, __rcu_read_unlock() can continue
testing current->rcu_read_unlock_special for non-zero, as before.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree_plugin.h')
0 files changed, 0 insertions, 0 deletions