Re: [patch V2 3/6] genirq: Add optional hardware synchronization for shutdown

From: Thomas Gleixner
Date: Mon Jul 01 2019 - 14:02:12 EST


On Mon, 1 Jul 2019, Peter Zijlstra wrote:

> On Fri, Jun 28, 2019 at 01:11:51PM +0200, Thomas Gleixner wrote:
> > But that does not catch the case where the interrupt is on flight at the
> > hardware level but not yet serviced by the target CPU. That creates an
> > interesing race condition:
>
> > + * It does not check whether there is an interrupt on flight at the
> > + * hardware level, but not serviced yet, as this might deadlock when
> > + * called with interrupts disabled and the target CPU of the interrupt
> > + * is the current CPU.
>
> > + /*
> > + * Make sure it's not being used on another CPU and if the chip
> > + * supports it also make sure that there is no (not yet serviced)
> > + * interrupt on flight at the hardware level.
> > + */
> > + __synchronize_hardirq(desc, true);
>
> s/on flight/in flight/ ?

yes