Message ID | 20230717180317.1097590-1-paulmck@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 6716f4d39c17febf7aa4fa5f5923da67a8d10e85 |
Headers | show |
Series | Miscellaneous fixes for v6.6 | expand |
On 7/17/23 14:03, Paul E. McKenney wrote: > Those who have worked with RCU for some time will naturally think in > terms of the long-standing call_rcu() API rather than the much newer > call_rcu_hurry() API. But it is call_rcu_hurry() that you should normally > pass to synchronize_rcu_mult(). This commit therefore updates the header > comment to point this out. > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > --- > include/linux/rcupdate_wait.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/linux/rcupdate_wait.h b/include/linux/rcupdate_wait.h > index 699b938358bf..5e0f74f2f8ca 100644 > --- a/include/linux/rcupdate_wait.h > +++ b/include/linux/rcupdate_wait.h > @@ -42,6 +42,11 @@ do { \ > * call_srcu() function, with this wrapper supplying the pointer to the > * corresponding srcu_struct. > * > + * Note that call_rcu_hurry() should be used instead of call_rcu() > + * because in kernels built with CONFIG_RCU_LAZY=y the delay between the > + * invocation of call_rcu() and that of the corresponding RCU callback > + * can be multiple seconds. > + * > * The first argument tells Tiny RCU's _wait_rcu_gp() not to > * bother waiting for RCU. The reason for this is because anywhere > * synchronize_rcu_mult() can be called is automatically already a full Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> thanks, - Joel
diff --git a/include/linux/rcupdate_wait.h b/include/linux/rcupdate_wait.h index 699b938358bf..5e0f74f2f8ca 100644 --- a/include/linux/rcupdate_wait.h +++ b/include/linux/rcupdate_wait.h @@ -42,6 +42,11 @@ do { \ * call_srcu() function, with this wrapper supplying the pointer to the * corresponding srcu_struct. * + * Note that call_rcu_hurry() should be used instead of call_rcu() + * because in kernels built with CONFIG_RCU_LAZY=y the delay between the + * invocation of call_rcu() and that of the corresponding RCU callback + * can be multiple seconds. + * * The first argument tells Tiny RCU's _wait_rcu_gp() not to * bother waiting for RCU. The reason for this is because anywhere * synchronize_rcu_mult() can be called is automatically already a full
Those who have worked with RCU for some time will naturally think in terms of the long-standing call_rcu() API rather than the much newer call_rcu_hurry() API. But it is call_rcu_hurry() that you should normally pass to synchronize_rcu_mult(). This commit therefore updates the header comment to point this out. Signed-off-by: Paul E. McKenney <paulmck@kernel.org> --- include/linux/rcupdate_wait.h | 5 +++++ 1 file changed, 5 insertions(+)