From: Steven Rostedt <rostedt@goodmis.org>
To: Daniel Walker <dwalker@mvista.com>
Cc: Yann.LEPROVOST@wavecom.fr, linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>
Subject: Re: Ingo's realtime_preempt patch causes kernel oops
Date: Tue, 23 May 2006 12:02:18 -0400 [thread overview]
Message-ID: <1148400138.21012.6.camel@localhost.localdomain> (raw)
In-Reply-To: <1148398425.3535.92.camel@c-67-180-134-207.hsd1.ca.comcast.net>
On Tue, 2006-05-23 at 08:33 -0700, Daniel Walker wrote:
> On Tue, 2006-05-23 at 10:19 -0400, Steven Rostedt wrote:
>
> >
> > The fault is at 0x40 and looking at profile_tick it calls
> > user_mode(regs). user_mode(x) is defined in arm as
> > (((regs)->ARM_cpsr & 0xf) == 0)
> >
> > And ARM_cpsr is uregs[16] So if arm has 4 byte words and regs was NULL,
> > it would fault on 16*4 = 64 or 0x40
> >
> > It looks like the timer interrupt on this board is having a NULL regs
> > passed to it when hard interrupts are threads. Which might mean that
> > the timer interrupt is itself a thread.
>
> Hmm, well usually ARM timer interrupts have the SA_TIMER flag .. In
> realtime ARM changes SA_TIMER includes SA_NODELAY ..
>
> In 2.6.17-rc4
>
> arch/arm/mach-at91rm9200/time.c
>
> static struct irqaction at91rm9200_timer_irq = {
> .name = "at91_tick",
> .flags = SA_SHIRQ | SA_INTERRUPT,
> .handler = at91rm9200_timer_interrupt
> };
>
> No SA_TIMER, and no SA_NODELAY , so i'd imagine it's is in a thread ..
Yep, I would say it is.
Yann, could you try the following patch to see if it makes it better for
you. I added SA_NODELAY so that the timer is run in interrupt context,
and removed the shared flag, because I have no idea what might share a
timer interrupt, and it might cause other bugs. If something needs to
share this interrupt, then we need to do something else.
Since I don't have any arm boards, I cant test it, so this wasn't even
compiled.
-- Steve
Index: linux-2.6.16-rt23/arch/arm/mach-at91rm9200/time.c
===================================================================
--- linux-2.6.16-rt23.orig/arch/arm/mach-at91rm9200/time.c 2006-05-23 11:58:21.000000000 -0400
+++ linux-2.6.16-rt23/arch/arm/mach-at91rm9200/time.c 2006-05-23 11:58:45.000000000 -0400
@@ -87,7 +87,7 @@ static irqreturn_t at91rm9200_timer_inte
static struct irqaction at91rm9200_timer_irq = {
.name = "at91_tick",
- .flags = SA_SHIRQ | SA_INTERRUPT,
+ .flags = SA_INTERRUPT | SA_NODELAY,
.handler = at91rm9200_timer_interrupt
};
next prev parent reply other threads:[~2006-05-23 16:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-23 13:40 Ingo's realtime_preempt patch causes kernel oops Yann.LEPROVOST
2006-05-23 14:09 ` Steven Rostedt
2006-05-23 14:19 ` Steven Rostedt
2006-05-23 14:26 ` Thomas Gleixner
2006-05-23 15:33 ` Daniel Walker
2006-05-23 16:02 ` Steven Rostedt [this message]
2006-05-23 16:27 ` Yann.LEPROVOST
2006-05-23 17:00 ` Steven Rostedt
2006-05-23 17:10 ` Yann.LEPROVOST
2006-05-23 18:21 ` Steven Rostedt
2006-05-24 8:06 ` Yann.LEPROVOST
2006-05-24 12:55 ` Steven Rostedt
2006-05-24 13:13 ` Thomas Gleixner
2006-05-24 15:32 ` Sven-Thorsten Dietrich
2006-05-24 15:52 ` Steven Rostedt
2006-05-24 16:03 ` Thomas Gleixner
2006-05-24 16:38 ` Steven Rostedt
2006-05-24 16:55 ` Thomas Gleixner
2006-05-24 17:09 ` Sven-Thorsten Dietrich
2006-05-24 16:06 ` Daniel Walker
2006-05-24 13:58 ` Yann.LEPROVOST
2006-05-24 16:43 ` Esben Nielsen
2006-05-24 17:06 ` Thomas Gleixner
2006-05-24 18:00 ` Sven-Thorsten Dietrich
2006-05-30 10:00 ` RT_PREEMPT problem with cascaded irqchip Yann.LEPROVOST
2006-05-30 10:27 ` Thomas Gleixner
2006-05-30 10:26 ` Yann.LEPROVOST
2006-05-30 11:22 ` Thomas Gleixner
2006-05-30 14:44 ` Yann.LEPROVOST
2006-05-30 23:25 ` Thomas Gleixner
2006-05-31 8:26 ` Yann.LEPROVOST
2006-05-24 17:30 ` Ingo's realtime_preempt patch causes kernel oops Sven-Thorsten Dietrich
[not found] <OF928FB2B7.5CE25C69-ONC1257177.00596B7A-C1257177.005AAA6F@wavecom.fr>
2006-05-23 16:38 ` Daniel Walker
2006-05-23 16:44 ` Thomas Gleixner
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=1148400138.21012.6.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=Yann.LEPROVOST@wavecom.fr \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.