Re: [PATCH] rcu-tasks: Fix the comments for tasks_rcu_exit_srcu_stall_timer

From: Paul E. McKenney
Date: Mon Feb 26 2024 - 13:56:35 EST


On Mon, Feb 26, 2024 at 11:28:57AM +0800, Z qiang wrote:
> >
> > The synchronize_srcu() has been removed by commit("rcu-tasks: Eliminate
> > deadlocks involving do_exit() and RCU tasks") in rcu_tasks_postscan.
> > This commit therefore fix the comments of tasks_rcu_exit_srcu_stall_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 78d74c81cc24..d5319bbe8c98 100644
> > --- a/kernel/rcu/tasks.h
> > +++ b/kernel/rcu/tasks.h
> > @@ -150,7 +150,7 @@ static struct rcu_tasks rt_name = \
> >
> > #ifdef CONFIG_TASKS_RCU
> >
> > -/* Report delay in synchronize_srcu() completion in rcu_tasks_postscan(). */
> > +/* Report delay of scan exiting tasklist in rcu_tasks_postscan(). */
> > static void tasks_rcu_exit_srcu_stall(struct timer_list *unused);
> > static DEFINE_TIMER(tasks_rcu_exit_srcu_stall_timer, tasks_rcu_exit_srcu_stall);
>
> Is this timer not necessary? any thoughts?

We have preemption points in the list traversals, and things like mutex
contention on the do_exit() path could result in extremely long lists,
so I believe we do need the timer.

But what did you have in mind?

Thanx, Paul

> Thanks
> Zqiang
>
>
> > #endif
> > --
> > 2.17.1
> >