[PATCH] prevent powerpc from invoking irq handlers on offline CPUs

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Sep 1 13:14:40 EST 2008


On Sun, 2008-08-31 at 19:06 -0700, Paul E. McKenney wrote:
> On Mon, Sep 01, 2008 at 10:34:44AM +1000, Benjamin Herrenschmidt wrote:
> > On Sun, 2008-08-31 at 10:31 -0700, Paul E. McKenney wrote:
> > > Make powerpc refrain from clearing a given to-be-offlined CPU's bit in the
> > > cpu_online_mask until it has processed pending irqs.  This change
> > > prevents other CPUs from being blindsided by an apparently offline CPU
> > > nevertheless changing globally visible state.
> > > 
> > > Signed-off-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
> > > ---
> > 
> > Sounds reasonable... the only possible worry here is if somebody tries
> > an IPI ... The IPI code will and the target CPU mask with the online
> > map, so it may try to send to the to-be-offlined CPU and timeout, no ?
> 
> OK.  Do we need separate IPI and online masks?

Shouldn't we already have routed all interrupts to other CPUs anyway ?

IE. The affinity of all interrupts should have been updated. So the
only thing we're going to get here are possibly IPIs and decrementer, 
I don't see it being a big deal making sure we test we are online when
receiving it.

Ben.





More information about the Linuxppc-dev mailing list