linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: paulmck@linux.vnet.ibm.com, Pratyush Anand <panand@redhat.com>
Cc: 김동현 <austinkernel.kim@gmail.com>,
	john.stultz@linaro.org, "Steven Rostedt" <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org
Subject: Re: RCU stall when using function_graph
Date: Wed, 9 Aug 2017 15:28:05 +0200	[thread overview]
Message-ID: <bf4f38d6-57b7-2281-db24-368d047956aa@linaro.org> (raw)
In-Reply-To: <20170809125804.GT3730@linux.vnet.ibm.com>

On 09/08/2017 14:58, Paul E. McKenney wrote:
> On Wed, Aug 09, 2017 at 02:43:49PM +0530, Pratyush Anand wrote:
>>
>>
>> On Sunday 06 August 2017 10:32 PM, Paul E. McKenney wrote:
>>> On Sat, Aug 05, 2017 at 02:24:21PM +0900, 김동현 wrote:
>>>> Dear All
>>>>
>>>> As for me, after configuring function_graph as below, crash disappears.
>>>> "echo 0 > d/tracing/tracing_on"
>>>> "sleep 1"
>>>>
>>>> "echo function_graph > d/tracing/current_tracer"
>>>> "sleep 1"
>>>>
>>>> "echo smp_call_function_single > d/tracing/set_ftrace_filter"
>>
>> It will limit trace output to only for the filtered function
>> (smp_call_function_single).
>>
>>>> adb shell "sleep 1"
>>>>
>>>> "echo 1 > d/tracing/tracing_on"
>>>> adb shell "sleep 1"
>>>>
>>>> Right after function_graph is enabled, too many logs are traced upon IRQ
>>>> transaction which many times eventually causes stall.
>>>
>>> That would do it!
>>>
>>> Hmmm...
>>>
>>> Steven, would it be helpful if RCU were to inform tracing (say) halfway
>>> through the RCU CPU stall interval, allowing the tracer to do something
>>> like cond_resched_rcu_qs()?  I can imagine all sorts of reasons why this
>>> wouldn't work, for example, if all the tracing was with irqs disabled
>>> or some such, but figured I should ask.
>>>
>>> Does Guillermo's approach work for others?
>>
>> Limited output with a couple of filtered function will definitely
>> not cause RCU schedule stall. But the question is whether we should
>> expect a full function graph trace working on every platform or not
>> (specially the one which generates high interrupts)?
> 
> It might well be that the user must disable RCU CPU stall warnings via
> the rcu_cpu_stall_suppress sysfs entry (or increase their timeout via th
> rcu_cpu_stall_timeout sysfs entry) before doing something that greatly
> increases overhead.  Like enabling large quantities of tracing.  ;-)
> 
> It -might- be possible to do this automatically, but reliable
> automation would require that tracing understand how often each
> function was called, which sounds to me to be a bit of a stretch.
> 
> Thoughts?

A random thought:

Is it possible to have a mid-timeout happening and store some
information like the instruction pointer, so when the timeout happen we
can compare if there was some progress, if yes, very likely, system
performance collapsed and we are not fast enough.

-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

  reply	other threads:[~2017-08-09 13:28 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-01 22:04 RCU stall when using function_graph Paul E. McKenney
2017-08-01 22:15 ` Daniel Lezcano
2017-08-02  0:12   ` Steven Rostedt
2017-08-02 12:42     ` Daniel Lezcano
2017-08-02 13:07       ` Steven Rostedt
2017-08-03  2:40         ` Paul E. McKenney
2017-08-03 11:41         ` Daniel Lezcano
2017-08-03 12:44           ` Paul E. McKenney
2017-08-03 14:38             ` Daniel Lezcano
     [not found]               ` <CAOoBcBXo-=VYy2+TYEp=8+WSkOpDBr1x6uY=-r_GnTFKctXndQ@mail.gmail.com>
     [not found]                 ` <CAOoBcBVKpQkAVXji5qQu8r8GErqxpy9Ae9N97NhGpOQPgXudZg@mail.gmail.com>
     [not found]                   ` <CAOoBcBU00VRXmrNNEOjJHgXf9BimxKYOorJC0d3766mNdda=Bg@mail.gmail.com>
2017-08-06 17:02                     ` Paul E. McKenney
2017-08-09  9:13                       ` Pratyush Anand
2017-08-09 12:58                         ` Paul E. McKenney
2017-08-09 13:28                           ` Daniel Lezcano [this message]
2017-08-09 14:40                             ` Paul E. McKenney
2017-08-09 15:51                               ` Daniel Lezcano
2017-08-09 17:22                                 ` Paul E. McKenney
2017-08-10  9:45                                   ` Daniel Lezcano
2017-08-10 21:39                                     ` Paul E. McKenney
2017-08-11  9:38                                       ` Daniel Lezcano
2017-08-15 13:29                                 ` Steven Rostedt
2017-08-16  8:42                                   ` Daniel Lezcano
2017-08-16 14:04                                     ` Steven Rostedt
2017-08-16 16:32                                       ` Paul E. McKenney
2017-08-16 16:41                                         ` Steven Rostedt
2017-08-16 17:58                                           ` Paul E. McKenney
2017-08-30 22:07                                             ` Paul E. McKenney
2017-08-02 16:51       ` Paul E. McKenney
2017-08-02 12:49 ` Paul E. McKenney
  -- strict thread matches above, loose matches on Subject: below --
2017-08-01 21:07 Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bf4f38d6-57b7-2281-db24-368d047956aa@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=austinkernel.kim@gmail.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=panand@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).