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

From: Leizhen (ThunderTown)
Date: Thu Nov 17 2022 - 21:04:07 EST




On 2022/11/17 22:26, Frederic Weisbecker wrote:
> 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.

Okay, I'll add the description.

>
> Thanks.
> .
>

--
Regards,
Zhen Lei