From: Steven Rostedt <rostedt@goodmis.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>, Alan Cox <alan@redhat.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq()
Date: Sat, 03 Jun 2006 10:37:01 -0400 [thread overview]
Message-ID: <1149345421.13993.81.camel@localhost.localdomain> (raw)
In-Reply-To: <1149112582.3114.91.camel@laptopd505.fenrus.org>
On Wed, 2006-05-31 at 23:56 +0200, Arjan van de Ven wrote:
> On Wed, 2006-05-31 at 23:47 +0200, Ingo Molnar wrote:
> > * Arjan van de Ven <arjan@infradead.org> wrote:
> > > yeah since misrouted irqs will cause the kernel do disable irqs 'at
> > > random' more or less .. for which the handlers now would become
> > > unreachable which isn't good.
> >
> > couldnt most of these problems be avoided by tracking whether a handler
> > _ever_ returned a success status? That means that irqpoll could safely
> > poll handlers for which we know that they somehow arent yet matched up
> > to any IRQ line?
>
> I suspect the real solution is to have a
>
> disable_irq_handler(irq, handler)
>
> function which does 2 things
> 1) disable the irq at the hardware level
> 2) mark the handler as "don't call me"
>
> it matches the semantics here; what these drivers want is 1) not get an
> irq handler called and 2) not get an irq flood
(Sorry for coming in late, but I'm slowly catching up with LKML)
Couldn't it be possible to have the misrouted irq function mark the
DISABLED_IRQ handlers as IRQ_PENDING? Then have the enable_irq that
actually enables the irq to call the handlers with interrupts disabled
if the IRQ_PENDING is set?
-- Steve
next prev parent reply other threads:[~2006-06-03 14:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-31 20:02 [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq() Ingo Molnar
2006-05-31 20:31 ` Arjan van de Ven
2006-05-31 21:27 ` Ingo Molnar
2006-05-31 21:41 ` Alan Cox
2006-05-31 21:43 ` Arjan van de Ven
2006-05-31 21:47 ` Ingo Molnar
2006-05-31 21:56 ` Arjan van de Ven
2006-05-31 22:00 ` Ingo Molnar
2006-05-31 22:02 ` Arjan van de Ven
2006-06-03 14:37 ` Steven Rostedt [this message]
2006-06-03 21:53 ` Alan Cox
2006-06-03 22:34 ` Steven Rostedt
2006-06-04 9:34 ` Arjan van de Ven
2006-06-04 13:16 ` Steven Rostedt
2006-06-04 15:38 ` Alan Cox
2006-06-04 15:44 ` Steven Rostedt
2006-06-04 16:10 ` Alan Cox
2006-06-04 16:22 ` Steven Rostedt
2006-06-04 21:26 ` Alan Cox
2006-06-04 21:28 ` Steven Rostedt
2006-06-04 21:44 ` Ingo Molnar
2006-06-05 1:04 ` Steven Rostedt
2006-06-06 3:33 ` [PATCH -mm] misroute-irq: Don't call desc->chip->end because of edge interrupts Steven Rostedt
2006-06-06 4:20 ` Andrew Morton
2006-06-06 10:46 ` Steven Rostedt
2006-06-06 8:01 ` Ingo Molnar
2006-06-06 10:50 ` Steven Rostedt
2006-06-06 21:48 ` Andrew Morton
2006-06-06 21:50 ` Ingo Molnar
2006-06-06 3:49 ` [RFC][PATCH -mm] postpone misrouted irqs when disabled Steven Rostedt
2006-06-01 9:46 ` [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq() Alan Cox
2006-06-01 10:02 ` Ingo Molnar
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=1149345421.13993.81.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=akpm@osdl.org \
--cc=alan@redhat.com \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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