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.