From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: Set hardirq tracing to on when idling
Date: Wed, 28 May 2014 08:46:43 +0200 [thread overview]
Message-ID: <4260533.1h2PQ8Ph4h@wuerfel> (raw)
In-Reply-To: <53852D96.60006@acm.org>
On Tuesday 27 May 2014 19:28:06 Corey Minyard wrote:
> On 05/27/2014 02:27 PM, Arnd Bergmann wrote:
> > On Tuesday 27 May 2014 11:53:59 Stephen Boyd wrote:
> >> On 05/27/14 11:49, Arnd Bergmann wrote:
> >>> You also commented in that thread about stop_critical_timings()/
> >>> start_critical_timings(). Corey, can you look at that, too? I
> >>> think it's designed to avoid the issue you are seeing but
> >>> for some reason doesn't.
> >> I sent a patch last week to "solve" this problem. I'm not sure if it's
> >> right but it works for me.
> >>
> >> https://lkml.org/lkml/2014/5/19/607
> > I think that one was also wrong, as the intention of the existing
> > stop_critical_timings() function is already to do the same that
> > Corey's patch does, i.e. stop the trace before we go to idle as
> > if we were turning IRQs on.
> >
> > Corey, does it work for you if you replace the new trace_hardirqs_on()
> > you added with time_hardirqs_on() or stop_critical_timing()?
>
> Well, more information on this. It turns out that the generic idle loop
> calls stop_critical_timing() and start_critical timing(), so the
> arch_cpu_idle() shouldn't have to.
>
> However, the idle loop calls rcu_idle_enter() after it calls
> stop_critical_timing(), and that is resetting the critical timing, it
> appears. It's disabling/enabling interrupts in rcu_idle_enter(). If I
> switch the order of the rcu_idle and critical timing calls, the issue
> goes away.
>
> Stephen's patch does not seem to be necessary for my issue. I tried with
> the patch applied, too. It doesn't seem to hurt, at least. It did not
> fix the problem by itself, though.
Interesting, it looked like the "big hammer" solution to me (compared to
yours) that should deal with the problem in any case.
Arnd
prev parent reply other threads:[~2014-05-28 6:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-25 19:15 [PATCH] arm: Set hardirq tracing to on when idling minyard at acm.org
2014-05-26 9:26 ` Arnd Bergmann
2014-05-27 13:21 ` Corey Minyard
2014-05-27 16:16 ` Arnd Bergmann
2014-05-27 18:50 ` Corey Minyard
2014-05-27 16:38 ` Stanislav Meduna
2014-05-27 18:49 ` Arnd Bergmann
2014-05-27 18:53 ` Stephen Boyd
2014-05-27 19:27 ` Arnd Bergmann
2014-05-27 19:33 ` Stephen Boyd
2014-05-27 19:39 ` Arnd Bergmann
2014-05-27 20:22 ` Stephen Boyd
2014-05-28 0:28 ` Corey Minyard
2014-05-28 6:46 ` Arnd Bergmann [this message]
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=4260533.1h2PQ8Ph4h@wuerfel \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.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