[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e9105d62-4a13-9b94-df60-3d3048fe1ae4@huawei.com>
Date: Mon, 7 Nov 2022 11:20:46 +0800
From: "Leizhen (ThunderTown)" <thunder.leizhen@...wei.com>
To: <paulmck@...nel.org>
CC: "Elliott, Robert (Servers)" <elliott@....com>,
Frederic Weisbecker <frederic@...nel.org>,
Neeraj Upadhyay <quic_neeraju@...cinc.com>,
"Josh Triplett" <josh@...htriplett.org>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>,
Joel Fernandes <joel@...lfernandes.org>,
"rcu@...r.kernel.org" <rcu@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 4/4] rcu: Add RCU stall diagnosis information
On 2022/11/6 4:32, Paul E. McKenney wrote:
> On Sat, Nov 05, 2022 at 03:03:14PM +0800, Leizhen (ThunderTown) wrote:
>> On 2022/11/5 9:58, Elliott, Robert (Servers) wrote:
>
> [ . . . ]
>
>>>> +int rcu_cpu_stall_cputime __read_mostly =
>>>> IS_ENABLED(CONFIG_RCU_CPU_STALL_CPUTIME);
>>>
>>> As a config option and module parameter, adding some more
>>> instrumentation overhead might be worthwhile for other
>>> likely causes of rcu stalls.
>>>
>>> For example, if enabled, have these functions (if available
>>> on the architecture) maintain a per-CPU running count of
>>> their invocations, which also cause the CPU to be unavailable
>>> for rcu:
>>> - kernel_fpu_begin() calls - FPU/SIMD context preservation,
>>> which also calls preempt_disable()
>>> - preempt_disable() calls - scheduler context switches disabled
>>> - local_irq_save() calls - interrupts disabled
>>> - cond_resched() calls - lack of these is a problem
>>>
>>> For kernel_fpu_begin and preempt_disable, knowing if it is
>>> currently blocked for those reasons is probably the most
>>> helpful.
>>
>> These instructions is already in Documentation/RCU/stallwarn.rst
>
> Excellent point -- this document also needs to be updated with this
> new information. I have pulled in your four patches as noted in my
> previous email. They are on the -rcu tree's "dev" branch.
OK, thanks.
>
> Could you please send a patch containing an initial update to
> stallwarn.rst? The main thing I need is your perspective on how each
> field is used.
Okay, I'll add some descriptions to illustrate how to use this function
to identify each RCU stall cases.
>
> Thanx, Paul
> .
>
--
Regards,
Zhen Lei
Powered by blists - more mailing lists