From: "Hemanth V" <hemanthv@ti.com>
To: "Pandita, Vikram" <vikram.pandita@ti.com>,
Kevin Hilman <khilman@deeprootsystems.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: Warnings: pm branch
Date: Wed, 12 Aug 2009 15:18:42 +0530 [thread overview]
Message-ID: <03d301ca1b32$14f97d10$LocalHost@wipultra793> (raw)
In-Reply-To: 873a7y74mj.fsf@deeprootsystems.com
----- Original Message -----
From: "Kevin Hilman" <khilman@deeprootsystems.com>
To: "Pandita, Vikram" <vikram.pandita@ti.com>
Cc: <linux-omap@vger.kernel.org>
Sent: Tuesday, August 11, 2009 8:57 PM
Subject: Re: Warnings: pm branch
> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
>
>> Has anyone send these warning logs on the pm branch on kevin's tree [1]
>> This seems to be some issue in CpuIdle path with interrupts?
>>
>> <4>WARNING: at arch/arm/kernel/process.c:171 cpu_idle+0x60/0x88()
>> WARNING: at arch/arm/kernel/process.c:171 cpu_idle+0x60/0x88()
>> <d>Modules linked in:Modules linked in:
>> [<c0031344>] [<c0031344>] (unwind_backtrace+0x0/0xdc)
>> (unwind_backtrace+0x0/0xdc
>> ) from [<c0057a08>] from [<c0057a08>] (warn_slowpath_common+0x48/0x60)
>> (warn_slowpath_common+0x48/0x60)
>> [<c0057a08>] [<c0057a08>] (warn_slowpath_common+0x48/0x60)
>> (warn_slowpath_common
>> +0x48/0x60) from [<c002d204>] from [<c002d204>] (cpu_idle+0x60/0x88)
>> (cpu_idle+0x60/0x88)
>> [<c002d204>] [<c002d204>] (cpu_idle+0x60/0x88) (cpu_idle+0x60/0x88) from
>> [<c0008
>> a70>] from [<c0008a70>] (start_kernel+0x234/0x28c)
>> (start_kernel+0x234/0x28c)
>> [<c0008a70>] [<c0008a70>] (start_kernel+0x234/0x28c)
>> (start_kernel+0x234/0x28c)
>> from [<80008034>] from [<80008034>] (0x80008034)
>> (0x80008034)
>>
>
> Yes, I've seen it, but have yet to debug it.
>
> This warning is from the generic ARM idle loop reporting that the OMAP
> idle path is returning with IRQs disabled.
>
> Kevin
I did some more debugging on this. I added the below instrumentation to
local_irq_disable to capture
the PC of the last call to local_irq_disable.
extern unsigned long hem_pc;
register unsigned long current_pc asm ("pc");
#define local_irq_disable() \
do { hem_pc = current_pc;raw_local_irq_disable();
trace_hardirqs_off(); } while (0)
When I set a breakpoint at the instruction pointing to
WARN_ON(irqs_disabled()) using
lauterbach and dump hem_pc, I see that the last call to irq_disable is
actuall from cpu_idle itself.
Looks like some recursion is happening. Does anyone have any inputs on this.
void cpu_idle(void)
{
local_fiq_enable();
/* endless idle loop with no priority at all */
while (1) {
tick_nohz_stop_sched_tick(1);
leds_event(led_idle_start);
while (!need_resched()) {
#ifdef CONFIG_HOTPLUG_CPU
if (cpu_is_offline(smp_processor_id()))
cpu_die();
#endif
>> local_irq_disable();
Thanks
Hemanth
next prev parent reply other threads:[~2009-08-12 9:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-11 14:55 Warnings: pm branch Pandita, Vikram
2009-08-11 15:27 ` Kevin Hilman
2009-08-12 9:48 ` Hemanth V [this message]
2009-08-12 12:54 ` Hemanth V
2009-08-12 13:28 ` Kevin Hilman
2009-08-12 13:38 ` Sripathy, Vishwanath
2009-08-12 14:15 ` Kevin Hilman
2009-08-12 14:22 ` Hemanth V
2009-08-12 14:38 ` Kevin Hilman
2009-09-30 17:32 ` Kevin Hilman
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='03d301ca1b32$14f97d10$LocalHost@wipultra793' \
--to=hemanthv@ti.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-omap@vger.kernel.org \
--cc=vikram.pandita@ti.com \
/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