[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1907012001550.1802@nanos.tec.linutronix.de>
Date: Mon, 1 Jul 2019 20:02:07 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>
cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Marc Zyngier <marc.zyngier@....com>,
Robert Hodaszi <Robert.Hodaszi@...i.com>
Subject: Re: [patch V2 3/6] genirq: Add optional hardware synchronization
for shutdown
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
Powered by blists - more mailing lists