Re: [patch 3/3] genirq: mark io_apic level interrupts to avoid resend

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jarek Poplawski
Date: Tuesday, August 14, 2007 - 12:12 am

On Mon, Aug 13, 2007 at 06:30:20PM +0200, Thomas Gleixner wrote:

Sorry! It's probably something with my English: I like this flag very
much! But I simply can't find where this flag is set for any irq using
handle_level_irq, or, otherwise, can't understand why it's not set
(because in this case I don't think not setting IRQ_PENDING by the
handler should be enough).


It's different because e.g. for x86_64 fasteoi level type irqs were
masked during disable_irq, so there was very small probability any
irq were skipped, plus the state of io_apic was different from this
point (regarding this irq). Now it's for sure many interrupts could
be 'missing'.

BTW, of course, my knowledge of this is very limited, but I wonder
about these level type irqs used e.g. by apics. 'Normal' chips hold
some data until it's read by a driver, so there is something more
needed than an ack by io_apic. But isn't there any possibility
some level type irqs possible for IPIs or local interrupts (82489DX?)
could be missing here? Are we sure there is no hardware using level
type irqs in a similar way (drop after acking)?


That's why, sometimes, with such hard to predict changes there are
added some safety options or at least some debugging.


Because, if there were a visible config option or kernel parameter
e.g.  with a comment like "legacy level irq handling - obsolete",
some people would be happy when they find it's useful for them, and
you would know about the problem much sooner, as well.


100% right! But this is only another example to show there could be
very complex and hard to debug problems around, even after doing
completely resonable changes in such a place.

Regards,
Jarek P.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [patch 3/3] genirq: mark io_apic level interrupts to a ..., Benjamin Herrenschmidt, (Mon Aug 13, 11:42 am)
Re: [patch 3/3] genirq: mark io_apic level interrupts to a ..., Benjamin Herrenschmidt, (Mon Aug 13, 12:07 pm)
Re: [patch 3/3] genirq: mark io_apic level interrupts to a ..., Jarek Poplawski, (Tue Aug 14, 12:12 am)