lkml.org 
[lkml]   [2012]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: rcu self-detected stall messages on OMAP3, 4 boards
On Fri, Sep 21, 2012 at 06:08:59PM +0000, Paul Walmsley wrote:
> cc Frederic Weisbecker - context is here:
>
> http://marc.info/?l=linux-kernel&m=134749030206016&w=2
>
> On Thu, 20 Sep 2012, Paul E. McKenney wrote:
>
> > Fair point. I am wondering whether there is some path into the idle
> > loop that somehow avoids telling RCU that the CPU has in face entered
> > idle. There needs to be an rcu_idle_enter() call on the way to idle,
> > otherwise RCU CPU stall warnings are expected behavior.
>
> As far as I know, our only idle entry point is in
> arch/arm/common/process.c:cpu_idle().

In mainline, this is arch/arm/kernel/process.c, correct?

> Looking at the x86 idle entry, they call rcu_idle_{enter,exit}() inside
> {stop,start}_critical_timings(). Making that change here didn't help.

The reason x86 does this is that they have idle notifiers deeper in the
idle loop that use RCU read-side critical sections. So this was an
expected result.

> Also tried commenting out the code from the stop_critical_timings() call
> to the WARN_ON(irqs_disabled()), and adding a local_irq_enable(). That
> also didn't help, which suggests that the problem is not caused by the
> OMAP-specific PM idle code.

I must admit that you make a convincing case here. Though it does leave
me wondering what is different about Panda (and MX28, IIRC).

I may take your advice of remote access to a Panda board, though that
is likely to take a bit of time due to timezones. Regardless of the
underlying issue here, I clearly need to make the stall-warning messages
do a better job of printing out needed information.

Thanx, Paul



\
 
 \ /
  Last update: 2012-09-21 21:41    [W:0.104 / U:1.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site