From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@novell.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: newer Linux: handle_level_irq() vs. handle_fasteoi_irq()
Date: Thu, 22 Apr 2010 15:38:49 -0400 [thread overview]
Message-ID: <20100422193849.GH31220@phenom.dumpdata.com> (raw)
In-Reply-To: <4BD05884020000780003B635@vpn.id2.novell.com>
On Thu, Apr 22, 2010 at 01:09:08PM +0100, Jan Beulich wrote:
> In order to be able to properly disable level triggered interrupts that,
> due to malfunctioning hardware/firmware, never get de-asserted,
> the use of handle_level_irq() in both pv-ops Dom0 and forward
> ported kernels (starting with 2.6.19) seems problematic: Other than
> with 2.6.18's use of __do_IRQ(), irq_chip->end() doesn't get called
> anymore, and there also is no replacement call made from that
> function (->umask() is only being called on non-disabled IRQs), and
> hence the respective logic contained in pirq_end() doesn't really get
> used anymore. handle_fasteoi_irq(), otoh, has an unconditional
> ->eoi() callout at its end, which would suit these needs.
In the PV-OPS kernel, there are no calls to manipulate the LAPIC or
IO/APIC anymore. The ACK is replaced with a PHYSDEVOP_eoi hypercall.
The unmasking/masking is done on the event channel. All of the logic
related to handling either the edge or level (or fasteoi level) is done
in the hypervisor.
>
> The main difference of handle_fasteoi_irq() compared with
> handle_level_irq() is that the IRQ doesn't get masked upfront.
> I'm not really that much into the necessary details here, but it
> would seem that using handle_fasteoi_irq() should be possible
> if a hypothetical pirq_eoi() called clear_evtchn() along with
> what end_pirq() currently does.
>
> Any insight on potential problems with this would be
> appreciated.
<scratches his head> I don't know about the XenLinux forward ported
patches but I think in the PV-OPS realm we don't have to worry about it.
next prev parent reply other threads:[~2010-04-22 19:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-22 12:09 newer Linux: handle_level_irq() vs. handle_fasteoi_irq() Jan Beulich
2010-04-22 19:38 ` Konrad Rzeszutek Wilk [this message]
2010-04-23 7:21 ` Jan Beulich
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=20100422193849.GH31220@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=JBeulich@novell.com \
--cc=xen-devel@lists.xensource.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 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.