From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
dwalker@mvista.com
Subject: Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers
Date: Mon, 20 Nov 2006 12:16:19 +1100 [thread overview]
Message-ID: <1163985380.5826.139.camel@localhost.localdomain> (raw)
In-Reply-To: <20061119202348.GA27649@elte.hu>
> it's a compatibility hack only. Threaded handlers are a different type
> of flow, but often the fasteoi handler is not changed to the threaded
> handler so i changed it to be a threaded handler too.
>
> threaded handlers need a mask() + an ack(), because that's the correct
> model to map them to kernel threads - threaded handlers can be delayed
> for a long time if something higher-prio is preempting them.
I've re-read the old thread and I disagree with you there. I think the
right approach was proposed initially by Daniel Walker.
If my understanding of "threaded handlers" is correct, that is delaying
the delivery of the interrupt to a thread while restoring the ability to
process further interrupts of the same or lower priority immediately.
There is no such thing as an explicit "ack" on fasteoi controllers. The
ack is implicit with the reading of the vector (either via a special
cycle on the bus or via reading the intack register for example on
mpic).
So by doing a mask followed by an eoi, you essentially mask the
interrupt preventing further delivery of that interrupt and lower the
CPU priority in the PIC thus allowing processing of further interrupts.
Are there other fasteoi controllers than the ones I have on powerpc
anyway ?
There is one thing I disagree with in the initial patch from Daniel
however, it's the fact that he can't deal with fasteoi handlers that
have no mask/unmask.
I have such a controller, on Cell, though currently I do have an empty
mask and unmask for it, I've been thinking about removing them (and
fixing callers to test for NULL). This is the Cell's top level
controller and it is edge only (at this level, on Cell, all interrupts
are messages).
Thus it can perfectly well cope with soft-masking (delayed disable if
you prefer) and that is compatible with using a fasteoi handler. There
should be no reason why that wouldn't work for -rt as well.
Ben.
next prev parent reply other threads:[~2006-11-20 1:16 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-19 19:43 [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers Sergei Shtylyov
2006-11-19 20:00 ` Benjamin Herrenschmidt
2006-11-19 20:04 ` Benjamin Herrenschmidt
2006-11-19 20:11 ` Sergei Shtylyov
2006-11-19 20:06 ` Ingo Molnar
2006-11-19 20:19 ` Benjamin Herrenschmidt
2006-11-19 20:23 ` Ingo Molnar
2006-11-19 20:31 ` Sergei Shtylyov
2006-11-19 20:36 ` Benjamin Herrenschmidt
2006-11-19 20:42 ` Sergei Shtylyov
2006-11-19 20:45 ` Benjamin Herrenschmidt
2006-11-19 20:49 ` Benjamin Herrenschmidt
2006-11-20 1:16 ` Benjamin Herrenschmidt [this message]
2006-11-20 10:01 ` Ingo Molnar
2006-11-20 15:29 ` Sergei Shtylyov
2006-11-20 16:56 ` Ingo Molnar
2006-11-20 17:03 ` Sergei Shtylyov
2006-11-20 17:26 ` Ingo Molnar
2006-11-20 17:55 ` Ingo Molnar
2006-11-20 18:20 ` Daniel Walker
2006-11-20 18:29 ` Ingo Molnar
2006-11-20 18:30 ` Sergei Shtylyov
2006-11-20 19:10 ` Ingo Molnar
2006-11-20 19:11 ` Ingo Molnar
2006-11-20 19:18 ` Sergei Shtylyov
2006-11-20 19:24 ` Sergei Shtylyov
2006-11-20 19:23 ` Ingo Molnar
2006-11-20 20:11 ` Benjamin Herrenschmidt
2006-11-20 20:09 ` Benjamin Herrenschmidt
2006-11-20 16:25 ` Daniel Walker
2006-11-20 16:42 ` Ingo Molnar
2006-11-20 17:01 ` Daniel Walker
2006-11-20 20:07 ` Benjamin Herrenschmidt
2006-11-19 20:26 ` Sergei Shtylyov
2006-11-19 20:32 ` Benjamin Herrenschmidt
2006-11-19 20:40 ` Sergei Shtylyov
2006-11-19 20:41 ` Benjamin Herrenschmidt
2006-11-19 20:52 ` Sergei Shtylyov
2006-11-19 21:08 ` Benjamin Herrenschmidt
2006-11-20 15:46 ` Sergei Shtylyov
2006-11-19 20:44 ` Sergei Shtylyov
2006-11-19 20:48 ` Benjamin Herrenschmidt
2007-05-17 13:20 ` [PATCH 2.6.21-rt2] PowerPC: revert fix for threaded fasteoi " Sergei Shtylyov
2007-07-12 16:47 ` Sergei Shtylyov
2007-07-12 16:52 ` Thomas Gleixner
2007-07-13 17:19 ` Sergei Shtylyov
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=1163985380.5826.139.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.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;
as well as URLs for NNTP newsgroup(s).