Re: RCU stall on panda

2014-05-22 Thread Santosh Shilimkar
On Thursday 22 May 2014 04:59 AM, Alex Shi wrote:
> On 05/16/2014 09:37 PM, Santosh Shilimkar wrote:
>> On Friday 16 May 2014 03:41 AM, Alex Shi wrote:
>>> On 05/16/2014 02:36 AM, Santosh Shilimkar wrote:
 yes.
 My board is panda ES. without this revert, it works.
>>
>> Care to specify what linux version you are testing against?
>>
>> Does it hang in idle always immediately on booting?
>>
>> Or does the serial console first hang with sysrq still
>> working (ctrl-a h in minicom for help) with device
>> eventually locking up hard?
>>
 I just posted an updated patch Alex on other thread.
 Attaching here again for your reference. Please try
 it out and see if the you still get a hang.
>>>
>>> it does not hang this time.
>>>
>> This is good news and exactly what I expected.
>>  
>>> but I am not sure it can solve my problem, since RCU stall is not easy
>>> to reproduce in short time.
>>>
>> You may want to run the system longer if you can. I suspect the RCU stall
>> was also side effect of missing interrupts.
> 
> Sure. it do remove the RCU stall on my panda board.
> 
Thanks for confirming. Tony already send fix upstream so it should
show up in next rc mostly

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-22 Thread Alex Shi
On 05/16/2014 09:37 PM, Santosh Shilimkar wrote:
> On Friday 16 May 2014 03:41 AM, Alex Shi wrote:
>> On 05/16/2014 02:36 AM, Santosh Shilimkar wrote:
>>> yes.
>>> My board is panda ES. without this revert, it works.
>
> Care to specify what linux version you are testing against?
>
> Does it hang in idle always immediately on booting?
>
> Or does the serial console first hang with sysrq still
> working (ctrl-a h in minicom for help) with device
> eventually locking up hard?
>
>>> I just posted an updated patch Alex on other thread.
>>> Attaching here again for your reference. Please try
>>> it out and see if the you still get a hang.
>>
>> it does not hang this time.
>>
> This is good news and exactly what I expected.
>  
>> but I am not sure it can solve my problem, since RCU stall is not easy
>> to reproduce in short time.
>>
> You may want to run the system longer if you can. I suspect the RCU stall
> was also side effect of missing interrupts.

Sure. it do remove the RCU stall on my panda board.

> 
> Regards,
> Santosh
> 


-- 
Thanks
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-16 Thread Santosh Shilimkar
On Friday 16 May 2014 03:41 AM, Alex Shi wrote:
> On 05/16/2014 02:36 AM, Santosh Shilimkar wrote:
>> yes.
>> My board is panda ES. without this revert, it works.

 Care to specify what linux version you are testing against?

 Does it hang in idle always immediately on booting?

 Or does the serial console first hang with sysrq still
 working (ctrl-a h in minicom for help) with device
 eventually locking up hard?

>> I just posted an updated patch Alex on other thread.
>> Attaching here again for your reference. Please try
>> it out and see if the you still get a hang.
> 
> it does not hang this time.
>
This is good news and exactly what I expected.
 
> but I am not sure it can solve my problem, since RCU stall is not easy
> to reproduce in short time.
> 
You may want to run the system longer if you can. I suspect the RCU stall
was also side effect of missing interrupts.

Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-16 Thread Alex Shi
On 05/16/2014 02:36 AM, Santosh Shilimkar wrote:
>>> >> yes.
>>> >> My board is panda ES. without this revert, it works.
>> > 
>> > Care to specify what linux version you are testing against?
>> > 
>> > Does it hang in idle always immediately on booting?
>> > 
>> > Or does the serial console first hang with sysrq still
>> > working (ctrl-a h in minicom for help) with device
>> > eventually locking up hard?
>> >
> I just posted an updated patch Alex on other thread.
> Attaching here again for your reference. Please try
> it out and see if the you still get a hang.

it does not hang this time.

but I am not sure it can solve my problem, since RCU stall is not easy
to reproduce in short time.

-- 
Thanks
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-15 Thread Santosh Shilimkar
On Thursday 15 May 2014 02:32 PM, Tony Lindgren wrote:
> * Alex Shi  [140515 06:27]:
>> On 05/15/2014 05:05 PM, Daniel Lezcano wrote:
>

 After enable this patch, system maybe hang in idle. :(
>>>
>>> Hi Alex,
>>>
>>> do you mean even with this revert applied, the board hangs in idle ?
>>>
>>
>> yes.
>> My board is panda ES. without this revert, it works.
> 
> Care to specify what linux version you are testing against?
> 
> Does it hang in idle always immediately on booting?
> 
> Or does the serial console first hang with sysrq still
> working (ctrl-a h in minicom for help) with device
> eventually locking up hard?
>
I just posted an updated patch Alex on other thread.
Attaching here again for your reference. Please try
it out and see if the you still get a hang.

Regards,
Santosh

>From bb3b82cc5645b83bedf1343d03cc956f27f6fc83 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar 
Date: Mon, 12 May 2014 17:37:59 -0400
Subject: [PATCH] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled

On OMAP4 panda board, there have been several bug reports about boot
hang and lock-ups with CPU_IDLE enabled. The root cause of the issue
is missing interrupts while in idle state. Commit cb7094e8 {cpuidle / omap4 :
use CPUIDLE_FLAG_TIMER_STOP flag} moved the broadcast notifiers to common
code for right reasons but on OMAP4 which suffers from a nasty ROM code
bug with GIC, commit ff999b8a {ARM: OMAP4460: Workaround for ROM bug ..},
we loose interrupts which leads to issues like lock-up, hangs etc.

Patch reverts commit cb7094 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP
flag} and 54769d6 {cpuidle: OMAP4: remove timer broadcast initialization} to
avoid the issue. With this change, OMAP4 panda boards, the mentioned
issues are getting fixed. We no longer loose interrupts which was the cause
of the regression.

Cc: Roger Quadros 
Cc: Kevin Hilman 
Cc: Tony Lindgren 
Cc: Daniel Lezcano 
Reported-tested-by: Roger Quadros 
Reported-tested-by: Kevin Hilman 
Tested-by: Tony Lindgren 
Signed-off-by: Santosh Shilimkar 
---
 arch/arm/mach-omap2/cpuidle44xx.c |   25 +
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/cpuidle44xx.c 
b/arch/arm/mach-omap2/cpuidle44xx.c
index 01fc710..2498ab0 100644
--- a/arch/arm/mach-omap2/cpuidle44xx.c
+++ b/arch/arm/mach-omap2/cpuidle44xx.c
@@ -14,6 +14,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -83,6 +84,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
 {
struct idle_statedata *cx = state_ptr + index;
u32 mpuss_can_lose_context = 0;
+   int cpu_id = smp_processor_id();
 
/*
 * CPU0 has to wait and stay ON until CPU1 is OFF state.
@@ -110,6 +112,8 @@ static int omap_enter_idle_coupled(struct cpuidle_device 
*dev,
mpuss_can_lose_context = (cx->mpu_state == PWRDM_POWER_RET) &&
 (cx->mpu_logic_state == PWRDM_POWER_OFF);
 
+   clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu_id);
+
/*
 * Call idle CPU PM enter notifier chain so that
 * VFP and per CPU interrupt context is saved.
@@ -165,6 +169,8 @@ static int omap_enter_idle_coupled(struct cpuidle_device 
*dev,
if (dev->cpu == 0 && mpuss_can_lose_context)
cpu_cluster_pm_exit();
 
+   clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu_id);
+
 fail:
cpuidle_coupled_parallel_barrier(dev, &abort_barrier);
cpu_done[dev->cpu] = false;
@@ -172,6 +178,16 @@ fail:
return index;
 }
 
+/*
+ * For each cpu, setup the broadcast timer because local timers
+ * stops for the states above C1.
+ */
+static void omap_setup_broadcast_timer(void *arg)
+{
+   int cpu = smp_processor_id();
+   clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &cpu);
+}
+
 static struct cpuidle_driver omap4_idle_driver = {
.name   = "omap4_idle",
.owner  = THIS_MODULE,
@@ -189,8 +205,7 @@ static struct cpuidle_driver omap4_idle_driver = {
/* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */
.exit_latency = 328 + 440,
.target_residency = 960,
-   .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED 
|
-CPUIDLE_FLAG_TIMER_STOP,
+   .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED,
.enter = omap_enter_idle_coupled,
.name = "C2",
.desc = "CPUx OFF, MPUSS CSWR",
@@ -199,8 +214,7 @@ static struct cpuidle_driver omap4_idle_driver = {
/* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */
.exit_latency = 460 + 518,
.target_residency = 1100,
-   .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED 
|
-CPUIDLE_FLAG_TIMER_

Re: RCU stall on panda

2014-05-15 Thread Tony Lindgren
* Alex Shi  [140515 06:27]:
> On 05/15/2014 05:05 PM, Daniel Lezcano wrote:
> >>>
> >>
> >> After enable this patch, system maybe hang in idle. :(
> > 
> > Hi Alex,
> > 
> > do you mean even with this revert applied, the board hangs in idle ?
> > 
> 
> yes.
> My board is panda ES. without this revert, it works.

Care to specify what linux version you are testing against?

Does it hang in idle always immediately on booting?

Or does the serial console first hang with sysrq still
working (ctrl-a h in minicom for help) with device
eventually locking up hard?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-15 Thread Alex Shi
On 05/15/2014 05:05 PM, Daniel Lezcano wrote:
>>>
>>
>> After enable this patch, system maybe hang in idle. :(
> 
> Hi Alex,
> 
> do you mean even with this revert applied, the board hangs in idle ?
> 

yes.
My board is panda ES. without this revert, it works.

-- 
Thanks
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-15 Thread Daniel Lezcano

On 05/15/2014 10:44 AM, Alex Shi wrote:

On 05/13/2014 11:32 PM, Tony Lindgren wrote:

* Alex Shi  [140512 23:37]:

On 05/13/2014 05:21 AM, Tony Lindgren wrote:

* Paul E. McKenney  [140505 11:11]:

On Mon, May 05, 2014 at 05:39:43PM +0800, Alex Shi wrote:

I keep seeing the RCU stall problem on panda board from 3.10 kernel to latest 
upstream kernel
and google find some one report it before: https://lkml.org/lkml/2012/9/20/519

Is it the hardware issue or a real software problem?


I cannot distinguish between hardware and software from the trace below,
but given that you are also seeing a soft lockup, either way you do
appear to have a real problem as opposed to an RCU CPU stall warning
false positive.


Looks like you have CPU_IDLE enabled on panda. Hangs with current linux
next with CPU_IDLE are currently being discussed on the linux-omap list
in thread "omap4-panda-es boot issues with v3.15-rc4"

I've seen occasional system hangs, and I've also noticed that doing
ctrl-a-f h or ctrl-a-f l for sysrq backtrace can unlock the system
producing similar errors to the below.



Thanks a lot for the info.
In fact, the oops keeps in upstream kernel from 3.10 to latest.


Care to test if the revert of commit cb7094 Santosh posted as
"[PATCH] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled"
solves the problem for you?



After enable this patch, system maybe hang in idle. :(


Hi Alex,

do you mean even with this revert applied, the board hangs in idle ?




--
  Linaro.org │ Open source software for ARM SoCs

Follow Linaro:   Facebook |
 Twitter |
 Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-15 Thread Alex Shi
On 05/13/2014 11:32 PM, Tony Lindgren wrote:
> * Alex Shi  [140512 23:37]:
>> On 05/13/2014 05:21 AM, Tony Lindgren wrote:
>>> * Paul E. McKenney  [140505 11:11]:
 On Mon, May 05, 2014 at 05:39:43PM +0800, Alex Shi wrote:
> I keep seeing the RCU stall problem on panda board from 3.10 kernel to 
> latest upstream kernel
> and google find some one report it before: 
> https://lkml.org/lkml/2012/9/20/519
>
> Is it the hardware issue or a real software problem?

 I cannot distinguish between hardware and software from the trace below,
 but given that you are also seeing a soft lockup, either way you do
 appear to have a real problem as opposed to an RCU CPU stall warning
 false positive.
>>>
>>> Looks like you have CPU_IDLE enabled on panda. Hangs with current linux
>>> next with CPU_IDLE are currently being discussed on the linux-omap list
>>> in thread "omap4-panda-es boot issues with v3.15-rc4"
>>>
>>> I've seen occasional system hangs, and I've also noticed that doing
>>> ctrl-a-f h or ctrl-a-f l for sysrq backtrace can unlock the system
>>> producing similar errors to the below.
>>>
>>
>> Thanks a lot for the info.
>> In fact, the oops keeps in upstream kernel from 3.10 to latest.
> 
> Care to test if the revert of commit cb7094 Santosh posted as
> "[PATCH] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled"
> solves the problem for you?
> 

After enable this patch, system maybe hang in idle. :(

> Regards,
> 
> Tony
> 


-- 
Thanks
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-13 Thread Tony Lindgren
* Alex Shi  [140512 23:37]:
> On 05/13/2014 05:21 AM, Tony Lindgren wrote:
> > * Paul E. McKenney  [140505 11:11]:
> >> On Mon, May 05, 2014 at 05:39:43PM +0800, Alex Shi wrote:
> >>> I keep seeing the RCU stall problem on panda board from 3.10 kernel to 
> >>> latest upstream kernel
> >>> and google find some one report it before: 
> >>> https://lkml.org/lkml/2012/9/20/519
> >>>
> >>> Is it the hardware issue or a real software problem?
> >>
> >> I cannot distinguish between hardware and software from the trace below,
> >> but given that you are also seeing a soft lockup, either way you do
> >> appear to have a real problem as opposed to an RCU CPU stall warning
> >> false positive.
> > 
> > Looks like you have CPU_IDLE enabled on panda. Hangs with current linux
> > next with CPU_IDLE are currently being discussed on the linux-omap list
> > in thread "omap4-panda-es boot issues with v3.15-rc4"
> > 
> > I've seen occasional system hangs, and I've also noticed that doing
> > ctrl-a-f h or ctrl-a-f l for sysrq backtrace can unlock the system
> > producing similar errors to the below.
> > 
> 
> Thanks a lot for the info.
> In fact, the oops keeps in upstream kernel from 3.10 to latest.

Care to test if the revert of commit cb7094 Santosh posted as
"[PATCH] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled"
solves the problem for you?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: RCU stall on panda

2014-05-12 Thread Alex Shi
On 05/13/2014 05:21 AM, Tony Lindgren wrote:
> * Paul E. McKenney  [140505 11:11]:
>> On Mon, May 05, 2014 at 05:39:43PM +0800, Alex Shi wrote:
>>> I keep seeing the RCU stall problem on panda board from 3.10 kernel to 
>>> latest upstream kernel
>>> and google find some one report it before: 
>>> https://lkml.org/lkml/2012/9/20/519
>>>
>>> Is it the hardware issue or a real software problem?
>>
>> I cannot distinguish between hardware and software from the trace below,
>> but given that you are also seeing a soft lockup, either way you do
>> appear to have a real problem as opposed to an RCU CPU stall warning
>> false positive.
> 
> Looks like you have CPU_IDLE enabled on panda. Hangs with current linux
> next with CPU_IDLE are currently being discussed on the linux-omap list
> in thread "omap4-panda-es boot issues with v3.15-rc4"
> 
> I've seen occasional system hangs, and I've also noticed that doing
> ctrl-a-f h or ctrl-a-f l for sysrq backtrace can unlock the system
> producing similar errors to the below.
> 

Thanks a lot for the info.
In fact, the oops keeps in upstream kernel from 3.10 to latest.

> Regards,
> 
> Tony
>  
>>>   95.519653] INFO: rcu_sched self-detected stall on CPU^M
>>> [   95.519866]  1: (1 GPs behind) idle=2e7/1/0 softirq=4404/4405 ^M
>>> [   95.526489] INFO: rcu_sched detected stalls on CPUs/tasks:^M
>>> [   95.526489]  1: (1 GPs behind) idle=2e7/1/0 softirq=4404/4405 ^M
>>> [   95.526489]  (detected by 0, t=4229 jiffies, g=800, c=799, q=440)^M
>>> [   95.526519] Task dump for CPU 1:^M
>>> [   95.526519] swapper/1   R running  0 0  1 0x^M
>>> [   95.559844]   (t=4229 jiffies g=800 c=799 q=440)^M
>>> [   95.564727] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.15.0-rc4 #93^M
>>> [   95.571502] [] (unwind_backtrace) from [] 
>>> (show_stack+0x11/0x14)^M
>>> [   95.579711] [] (show_stack) from [] 
>>> (dump_stack+0x75/0x88)^M
>>> [   95.587371] [] (dump_stack) from [] 
>>> (rcu_check_callbacks+0x353/0x79c)^M
>>> [   95.596038] [] (rcu_check_callbacks) from [] 
>>> (update_process_times+0x33/0x4c)^M
>>> [   95.605438] [] (update_process_times) from [] 
>>> (tick_sched_handle.isra.18+0x1f/0x48)^M
>>> [   95.615386] [] (tick_sched_handle.isra.18) from [] 
>>> (tick_sched_timer+0x3d/0x5c)^M
>>> [   95.624969] [] (tick_sched_timer) from [] 
>>> (__run_hrtimer+0x67/0x310)^M
>>> [   95.633544] [] (__run_hrtimer) from [] 
>>> (hrtimer_interrupt+0xe1/0x214)^M
>>> [   95.642211] [] (hrtimer_interrupt) from [] 
>>> (tick_receive_broadcast+0x1f/0x30)^M
>>> [   95.651611] [] (tick_receive_broadcast) from [] 
>>> (handle_IPI+0xb3/0x120)^M
>>> [   95.660461] [] (handle_IPI) from [] 
>>> (gic_handle_irq+0x51/0x54)^M
>>> [   95.668487] [] (gic_handle_irq) from [] 
>>> (__irq_svc+0x3f/0x64)^M
>>> [   95.676391] Exception stack(0xee0dbf10 to 0xee0dbf58)^M
>>> [   95.681762] bf00: 0001 0001 
>>>  ee0d8c40^M
>>> [   95.690429] bf20: 3c6bd296 0016 3c6f8c43 0016 eefab540 c08e0c84 
>>>  c0fc7114^M
>>> [   95.699066] bf40: 0010 ee0dbf58 c006ef4d c0443890 4033 ^M
>>> [   95.706085] [] (__irq_svc) from [] 
>>> (cpuidle_enter_state+0xc0/0xc4)^M
>>> [   95.714477] [] (cpuidle_enter_state) from [] 
>>> (cpuidle_enter_state_coupled+0xe1/0x290)^M
>>> [   95.724639] [] (cpuidle_enter_state_coupled) from [] 
>>> (cpu_startup_entry+0x1a5/0x494)^M
>>> [   95.734680] [] (cpu_startup_entry) from [<80008685>] 
>>> (0x80008685)^M
>>> [   95.742095] BUG: soft lockup - CPU#1 stuck for 40s! [swapper/1:0]^M
>>> [   95.748535] Modules linked in:^M
>>> [   95.751770] irq event stamp: 128730^M
>>> [   95.755462] hardirqs last  enabled at (128727): [] 
>>> cpuidle_enter_state+0xbf/0xc4^M
>>> [   95.764221] hardirqs last disabled at (128728): [] 
>>> __irq_svc+0x33/0x64^M
>>> [   95.772064] softirqs last  enabled at (128730): [] 
>>> irq_enter+0x59/0x60^M
>>> [   95.779907] softirqs last disabled at (128729): [] 
>>> irq_enter+0x46/0x60^M
>>> [   95.787750] ^M
>>>
>>>
>>> my RCU and IDLE related kernel config as blow:
>>>
>>> CONFIG_TREE_RCU=y
>>> CONFIG_RCU_STALL_COMMON=y
>>> CONFIG_RCU_FANOUT=32
>>> CONFIG_RCU_FANOUT_LEAF=16
>>> CONFIG_TREE_RCU_TRACE=y
>>> CONFIG_PROVE_RCU=y
>>> CONFIG_PROVE_RCU_REPEATEDLY=y
>>> CONFIG_SPARSE_RCU_POINTER=y
>>> CONFIG_RCU_CPU_STALL_TIMEOUT=21
>>> CONFIG_RCU_CPU_STALL_INFO=y
>>> CONFIG_RCU_TRACE=y
>>> alexs@alex-panda:~$ cat /proc/config.gz | gunzip | grep IDLE
>>> CONFIG_NO_HZ_IDLE=y
>>> CONFIG_GENERIC_SMP_IDLE_THREAD=y
>>> CONFIG_GENERIC_IDLE_POLL_SETUP=y
>>> CONFIG_CPU_IDLE=y
>>> CONFIG_CPU_IDLE_GOV_LADDER=y
>>> CONFIG_CPU_IDLE_GOV_MENU=y
>>> CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
>>>
>>> -- 
>>> Thanks
>>> Alex
>>>
>>
>>
>> ___
>> linux-arm-kernel mailing list
>> linux-arm-ker...@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
Thanks
Alex
--
To unsubscribe from this list: send the line "unsubscribe

Re: RCU stall on panda

2014-05-12 Thread Tony Lindgren
* Paul E. McKenney  [140505 11:11]:
> On Mon, May 05, 2014 at 05:39:43PM +0800, Alex Shi wrote:
> > I keep seeing the RCU stall problem on panda board from 3.10 kernel to 
> > latest upstream kernel
> > and google find some one report it before: 
> > https://lkml.org/lkml/2012/9/20/519
> > 
> > Is it the hardware issue or a real software problem?
> 
> I cannot distinguish between hardware and software from the trace below,
> but given that you are also seeing a soft lockup, either way you do
> appear to have a real problem as opposed to an RCU CPU stall warning
> false positive.

Looks like you have CPU_IDLE enabled on panda. Hangs with current linux
next with CPU_IDLE are currently being discussed on the linux-omap list
in thread "omap4-panda-es boot issues with v3.15-rc4"

I've seen occasional system hangs, and I've also noticed that doing
ctrl-a-f h or ctrl-a-f l for sysrq backtrace can unlock the system
producing similar errors to the below.

Regards,

Tony
 
> >   95.519653] INFO: rcu_sched self-detected stall on CPU^M
> > [   95.519866]  1: (1 GPs behind) idle=2e7/1/0 softirq=4404/4405 ^M
> > [   95.526489] INFO: rcu_sched detected stalls on CPUs/tasks:^M
> > [   95.526489]  1: (1 GPs behind) idle=2e7/1/0 softirq=4404/4405 ^M
> > [   95.526489]  (detected by 0, t=4229 jiffies, g=800, c=799, q=440)^M
> > [   95.526519] Task dump for CPU 1:^M
> > [   95.526519] swapper/1   R running  0 0  1 0x^M
> > [   95.559844]   (t=4229 jiffies g=800 c=799 q=440)^M
> > [   95.564727] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.15.0-rc4 #93^M
> > [   95.571502] [] (unwind_backtrace) from [] 
> > (show_stack+0x11/0x14)^M
> > [   95.579711] [] (show_stack) from [] 
> > (dump_stack+0x75/0x88)^M
> > [   95.587371] [] (dump_stack) from [] 
> > (rcu_check_callbacks+0x353/0x79c)^M
> > [   95.596038] [] (rcu_check_callbacks) from [] 
> > (update_process_times+0x33/0x4c)^M
> > [   95.605438] [] (update_process_times) from [] 
> > (tick_sched_handle.isra.18+0x1f/0x48)^M
> > [   95.615386] [] (tick_sched_handle.isra.18) from [] 
> > (tick_sched_timer+0x3d/0x5c)^M
> > [   95.624969] [] (tick_sched_timer) from [] 
> > (__run_hrtimer+0x67/0x310)^M
> > [   95.633544] [] (__run_hrtimer) from [] 
> > (hrtimer_interrupt+0xe1/0x214)^M
> > [   95.642211] [] (hrtimer_interrupt) from [] 
> > (tick_receive_broadcast+0x1f/0x30)^M
> > [   95.651611] [] (tick_receive_broadcast) from [] 
> > (handle_IPI+0xb3/0x120)^M
> > [   95.660461] [] (handle_IPI) from [] 
> > (gic_handle_irq+0x51/0x54)^M
> > [   95.668487] [] (gic_handle_irq) from [] 
> > (__irq_svc+0x3f/0x64)^M
> > [   95.676391] Exception stack(0xee0dbf10 to 0xee0dbf58)^M
> > [   95.681762] bf00: 0001 0001 
> >  ee0d8c40^M
> > [   95.690429] bf20: 3c6bd296 0016 3c6f8c43 0016 eefab540 c08e0c84 
> >  c0fc7114^M
> > [   95.699066] bf40: 0010 ee0dbf58 c006ef4d c0443890 4033 ^M
> > [   95.706085] [] (__irq_svc) from [] 
> > (cpuidle_enter_state+0xc0/0xc4)^M
> > [   95.714477] [] (cpuidle_enter_state) from [] 
> > (cpuidle_enter_state_coupled+0xe1/0x290)^M
> > [   95.724639] [] (cpuidle_enter_state_coupled) from [] 
> > (cpu_startup_entry+0x1a5/0x494)^M
> > [   95.734680] [] (cpu_startup_entry) from [<80008685>] 
> > (0x80008685)^M
> > [   95.742095] BUG: soft lockup - CPU#1 stuck for 40s! [swapper/1:0]^M
> > [   95.748535] Modules linked in:^M
> > [   95.751770] irq event stamp: 128730^M
> > [   95.755462] hardirqs last  enabled at (128727): [] 
> > cpuidle_enter_state+0xbf/0xc4^M
> > [   95.764221] hardirqs last disabled at (128728): [] 
> > __irq_svc+0x33/0x64^M
> > [   95.772064] softirqs last  enabled at (128730): [] 
> > irq_enter+0x59/0x60^M
> > [   95.779907] softirqs last disabled at (128729): [] 
> > irq_enter+0x46/0x60^M
> > [   95.787750] ^M
> > 
> > 
> > my RCU and IDLE related kernel config as blow:
> > 
> > CONFIG_TREE_RCU=y
> > CONFIG_RCU_STALL_COMMON=y
> > CONFIG_RCU_FANOUT=32
> > CONFIG_RCU_FANOUT_LEAF=16
> > CONFIG_TREE_RCU_TRACE=y
> > CONFIG_PROVE_RCU=y
> > CONFIG_PROVE_RCU_REPEATEDLY=y
> > CONFIG_SPARSE_RCU_POINTER=y
> > CONFIG_RCU_CPU_STALL_TIMEOUT=21
> > CONFIG_RCU_CPU_STALL_INFO=y
> > CONFIG_RCU_TRACE=y
> > alexs@alex-panda:~$ cat /proc/config.gz | gunzip | grep IDLE
> > CONFIG_NO_HZ_IDLE=y
> > CONFIG_GENERIC_SMP_IDLE_THREAD=y
> > CONFIG_GENERIC_IDLE_POLL_SETUP=y
> > CONFIG_CPU_IDLE=y
> > CONFIG_CPU_IDLE_GOV_LADDER=y
> > CONFIG_CPU_IDLE_GOV_MENU=y
> > CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
> > 
> > -- 
> > Thanks
> > Alex
> > 
> 
> 
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html