|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] newer Linux: handle_level_irq() vs. handle_fasteoi_irq()
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.
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.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] newer Linux: handle_level_irq() vs. handle_fasteoi_irq(),
Jan Beulich <=
|
|
|
|
|