On Tue, Mar 12, 2024 at 07:35:24PM +0800, Zqiang wrote: > The rcu_tasks_percpu structure's->lazy_timer is queued only when > the rcu_tasks structure's->lazy_jiffies is not equal to zero in > call_rcu_tasks_generic(), if the lazy_timer callback is invoked, > that means the lazy_jiffes is not equal to zero, this commit > therefore remove lazy_jiffies check in call_rcu_tasks_generic_timer(). > > Signed-off-by: Zqiang <qiang.zhang1211@xxxxxxxxx> > --- > kernel/rcu/tasks.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h > index b1254cf3c210..439e0b9a2656 100644 > --- a/kernel/rcu/tasks.h > +++ b/kernel/rcu/tasks.h > @@ -299,7 +299,7 @@ static void call_rcu_tasks_generic_timer(struct timer_list *tlp) > > rtp = rtpcp->rtpp; > raw_spin_lock_irqsave_rcu_node(rtpcp, flags); > - if (!rcu_segcblist_empty(&rtpcp->cblist) && rtp->lazy_jiffies) { > + if (!rcu_segcblist_empty(&rtpcp->cblist)) { Good eyes! But did you test with something like a WARN_ON_ONCE(rtp->lazy_jiffies)? Thanx, Paul > if (!rtpcp->urgent_gp) > rtpcp->urgent_gp = 1; > needwake = true; > -- > 2.17.1 >