Re: [PATCH] rcu: Reduce synchronize_rcu() delays when all wait heads are in use

From: Frederic Weisbecker
Date: Wed Mar 13 2024 - 14:24:47 EST


Le Wed, Mar 13, 2024 at 09:41:58PM +0530, Neeraj Upadhyay a écrit :
> > Also there is a risk that this non-wait-head gets later assigned as
> > rcu_state.srs_done_tail. And then this pending sr may not be completed
> > until the next grace period calling rcu_sr_normal_gp_cleanup()? (Because
> > the work doesn't take care of rcu_state.srs_done_tail itself). And then
> > the delay can be arbitrary.
> >
>
> That is correct. Only the first node suffers from deferred GP.
> If there are large number of callbacks which got added after
> last available wait head was queued, all those callbacks (except one)
> can still have a GP assigned to them.

Oh and yes I missed the fact that you still reissue a GP while queueing
a non wait-head as ->srs_wait_tail. That point looks good.

Thanks.