Re: [PATCH v7 4/6] rcu: Add RCU stall diagnosis information

From: Frederic Weisbecker
Date: Thu Nov 17 2022 - 09:27:46 EST


On Thu, Nov 17, 2022 at 09:25:44PM +0800, Leizhen (ThunderTown) wrote:
>
>
> On 2022/11/17 20:22, Frederic Weisbecker wrote:
> > On Thu, Nov 17, 2022 at 09:57:18AM +0800, Leizhen (ThunderTown) wrote:
> >>
> >>
> >> On 2022/11/17 6:39, Frederic Weisbecker wrote:
> >>> On Fri, Nov 11, 2022 at 09:07:07PM +0800, Zhen Lei wrote:
> >>>> @@ -262,6 +279,8 @@ struct rcu_data {
> >>>> short rcu_onl_gp_flags; /* ->gp_flags at last online. */
> >>>> unsigned long last_fqs_resched; /* Time of last rcu_resched(). */
> >>>> unsigned long last_sched_clock; /* Jiffies of last rcu_sched_clock_irq(). */
> >>>> + struct rcu_snap_record snap_record; /* Snapshot of core stats at half of */
> >>>> + /* the first RCU stall timeout */
> >>>
> >>> This should be under #ifdef CONFIG_RCU_CPU_STALL_CPUTIME
> >>
> >> This will not work for now because we also support boot option
> >> rcupdate.rcu_cpu_stall_cputime.
> >
> > I'm confused. If CONFIG_RCU_CPU_STALL_CPUTIME=n then rcupdate.rcu_cpu_stall_cputime has
> > no effect, right?
>
> No, rcupdate.rcu_cpu_stall_cputime override CONFIG_RCU_CPU_STALL_CPUTIME. Because
> the default value of CONFIG_RCU_CPU_STALL_CPUTIME is n, so in most cases, we need
> rcupdate.rcu_cpu_stall_cputime as the escape route.
>
> If CONFIG_RCU_CPU_STALL_CPUTIME=y is default, your suggestion is more
> appropriate.

Oh ok I thought it was a support Kconfig switch.

Then please just mention that rcupdate.rcu_cpu_stall_cputime overrides
CONFIG_RCU_CPU_STALL_CPUTIME behaviour in the Kconfig help text.

Thanks.