From: "Remy Bohmer" <linux@bohmer.net>
To: "Steven Rostedt" <rostedt@goodmis.org>
Cc: "Russell King - ARM Linux" <linux@arm.linux.org.uk>,
"Daniel Walker" <dwalker@mvista.com>,
RT <linux-rt-users@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
"ARM Linux Mailing List"
<linux-arm-kernel@lists.arm.linux.org.uk>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@elte.hu>
Subject: Re: [PATCH PREEMPT_RT]: On AT91 ARM: GPIO Interrupt handling can/will stall forever
Date: Thu, 29 Nov 2007 11:14:30 +0100 [thread overview]
Message-ID: <3efb10970711290214v37d85a27k9a84876d9099d7c5@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0711281510580.4247@gandalf.stny.rr.com>
Hello Steven,
> Remy, sorry about this round-a-bout. But I don't have any of the hardware
> that this affects, and I'm just being cautious.
No problem, I expected this discussion when I submitted the patch. It
is logical that everybody is cautious on this subject. But still,
there is a bug here. The question is how to figure out the best
solution. (with the least chance of regression).
I do not think Russell is right here with assuming that the wrong
interrupt handler type is used. Looking at the behaviour of the
mainline kernel (non-RT), the implementation is quite different: On
mainline the handle_simple_irq() in chip.c is not re-entrant, the
masking is **only** done in case of errors, and therefor never
unmasked again, of course.
On RT the masking is done when the next interrupt arrives, while the
1st interrupt is in progress by the interrupt thread, so it is masked
under normal valid conditions, and never unmasked. So, this is where
the real bug is.
So, I see 2 solutions:
* Never mask the interrupt in the first place. (should also work for
this type of interrupt)
* Add an unmask to the interrupt, once it is handled. (I chose this
route with my patch)
It is definitely only related to interrupt threading, and thus only RT related.
Kind Regards,
Remy
next prev parent reply other threads:[~2007-11-29 10:14 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-26 13:31 Remy Bohmer
2007-11-26 13:45 ` Remy Bohmer
2007-11-27 15:11 ` Steven Rostedt
2007-11-27 15:25 ` Daniel Walker
2007-11-27 15:53 ` Daniel Walker
2007-11-28 14:38 ` Remy Bohmer
2007-11-28 15:36 ` Daniel Walker
2007-11-28 17:25 ` Russell King - ARM Linux
2007-11-28 19:04 ` Steven Rostedt
2007-11-28 20:05 ` Russell King - ARM Linux
2007-11-28 20:16 ` Steven Rostedt
2007-11-28 20:44 ` Daniel Walker
2007-11-28 21:13 ` Steven Rostedt
2007-11-28 23:03 ` Russell King - ARM Linux
2007-11-28 23:19 ` Daniel Walker
2007-11-29 9:04 ` Russell King - ARM Linux
2007-11-29 10:14 ` Remy Bohmer [this message]
2007-11-29 10:25 ` Russell King - ARM Linux
2007-11-29 11:27 ` Remy Bohmer
2007-11-29 13:36 ` Russell King - ARM Linux
2007-11-29 13:57 ` Steven Rostedt
2007-11-29 14:18 ` Remy Bohmer
2007-11-29 14:29 ` Russell King - ARM Linux
2007-11-29 15:33 ` Remy Bohmer
2007-11-29 16:20 ` Remy Bohmer
2007-11-29 16:30 ` Steven Rostedt
2007-11-30 21:44 ` Thomas Gleixner
2007-12-12 19:40 ` [PATCH RT] Revert Softdisable for simple irqs Steven Rostedt
2007-12-12 19:46 ` Russell King
2007-12-12 20:05 ` Remy Bohmer
2007-12-12 20:27 ` Steven Rostedt
2007-12-12 21:38 ` Remy Bohmer
[not found] ` <87bq9fqpoi.fsf@vence.hilman.org>
2007-11-28 14:43 ` [PATCH PREEMPT_RT]: On AT91 ARM: GPIO Interrupt handling can/will stall forever Remy Bohmer
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=3efb10970711290214v37d85a27k9a84876d9099d7c5@mail.gmail.com \
--to=linux@bohmer.net \
--cc=dwalker@mvista.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®