diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-02-25 16:10:38 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-03-22 08:23:48 -0700 |
commit | 7abb18bd7567480e34f46d3512369ec49499064e (patch) | |
tree | 80c172e411f81a8009fbc6791d814b0e2033135d /include/linux/rcutiny.h | |
parent | a38fd8748464831584a19438cbb3082b5a2dab15 (diff) |
rcu: Provide polling interfaces for Tree RCU grace periods
There is a need for a non-blocking polling interface for RCU grace
periods, so this commit supplies start_poll_synchronize_rcu() and
poll_state_synchronize_rcu() for this purpose. Note that the existing
get_state_synchronize_rcu() may be used if future grace periods are
inevitable (perhaps due to a later call_rcu() invocation). The new
start_poll_synchronize_rcu() is to be used if future grace periods
might not otherwise happen. Finally, poll_state_synchronize_rcu()
provides a lockless check for a grace period having elapsed since
the corresponding call to either of the get_state_synchronize_rcu()
or start_poll_synchronize_rcu().
As with get_state_synchronize_rcu(), the return value from either
get_state_synchronize_rcu() or start_poll_synchronize_rcu() is passed in
to a later call to either poll_state_synchronize_rcu() or the existing
(might_sleep) cond_synchronize_rcu().
[ paulmck: Remove redundant smp_mb() per Frederic Weisbecker feedback. ]
[ Update poll_state_synchronize_rcu() docbook per Frederic Weisbecker feedback. ]
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'include/linux/rcutiny.h')
0 files changed, 0 insertions, 0 deletions