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

From: Peter Zijlstra
Date: Mon Jul 01 2019 - 10:56:36 EST


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/ ?