Re: [PATCH] x86/ioapic: add IO-APIC irq_chip retrigger hook

From: Thomas Gleixner
Date: Wed Jan 18 2017 - 10:14:41 EST


On Wed, 18 Jan 2017, Ruslan Ruslichenko -X (rruslich - GLOBALLOGIC INC at Cisco) wrote:
> On 01/18/2017 12:46 PM, Thomas Gleixner wrote:
> > On Tue, 17 Jan 2017, Ruslan Ruslichenko wrote:
> >
> > > After commit d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical
> > > irqdomain interfaces") IO-APIC is switched to hierarchical irqdomain
> > > implementation. Also this patch removed irq_retrigger hook for IO-APIC
> > > chip which seem to be wrong. Without this hook some edge-triggered irq's
> > > might be lost, since kernel uses it to retrigger edge irq's triggered
> > > while they are being handled or disabled by driver
> > Restoring the callbacks is the right thing to do, but there is no problem
> > because if the retrigger callback is empty then pending edge interrupts are
> > resent by software. It's just less efficient, but not a issue.
>
> Software resend will only work if CONFIG_HARDIRQS_SW_RESEND is enabled,
> which is not selected for x86 architectures.

Dammit, right you are. Good question why nobody noticed so far.

Lemme amend that commit, so it gets back into stable then.

Thanks,

tglx