From: Ingo Molnar <mingo@elte.hu>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>,
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 11:01:44 +0100 [thread overview]
Message-ID: <20061120100144.GA27812@elte.hu> (raw)
In-Reply-To: <1163985380.5826.139.camel@localhost.localdomain>
* Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> 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.
correct. It's basically a different type of 'flow' of handling an
interrupt. It's a host-side genirq-level detail that should have no
irqchip level impact at all.
The only detail is that sometimes a threaded flow /cannot/ be
implemented if the irqchip lacks certain methods. (such as a
mask/unmask)
i.e. Sergei's patch tweaking the irqchip data structures is wrong - the
correct approach is what i do for i386/x86_64: install a different
"threaded" flow handler. I prefer this to tweaking the existing
'fasteoi' handler, to make the act of supporting a threaded flow design
explicit. (and to allow a mixed threaded/non-threaded flow setup) I
didnt take Daniel's prior patch for that reason: he tried to tweak the
fasteoi flow handler - which is an almost good approach but not good
enough :-)
> 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).
well, even if it's coupled to the reading of the vector, there is an ack
initiated by the host. This is not really a fundamental thing, it's API
semantics of the hardware interface.
so the question is not 'is there an ACK' (all non-MSI-type-of IRQ
delivery mechanisms have some sort of ACK mechanism), but what is the
precise structure of ACK-ing an IRQ that the host recieves.
on PPC64, 'get the vector' initiates an ACK as well - is that done
before handle_irq() is done?
> 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.
correct, that's what should happen.
> Are there other fasteoi controllers than the ones I have on powerpc
> anyway ?
well, if you mean the x86 APICs, there you get the vector 'for free' as
part of the IRQ entry call sequence, and there's an EOI register in the
local APIC that notifies the IRQ hardware, lowers the CPU priority, etc.
We have that as an ->eoi handler right now.
Ingo
next prev parent reply other threads:[~2006-11-20 10:03 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
2006-11-20 10:01 ` Ingo Molnar [this message]
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=20061120100144.GA27812@elte.hu \
--to=mingo@elte.hu \
--cc=benh@kernel.crashing.org \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=sshtylyov@ru.mvista.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