• James Bottomley's avatar
    [PARISC] Make sure timer and IPI execute with interrupts disabled · 9a8b4584
    James Bottomley authored
    Fix a longstanding smp bug
    
    The problem is that both the timer and ipi interrupts are being called
    with interrupts enabled, which isn't what anyone is expecting.
    
    The IPI issue has just started to show up by causing a BUG_ON in the
    slab debugging code.  The timer issue never shows up because there's an
    eiem work around in our irq.c
    
    The fix is to label both these as SA_INTERRUPT which causes the generic
    irq code not to enable interrupts.
    
    I also suspect the smp_call_function timeouts we're seeing might be
    connected with the fact that we disable IPIs when handling any other
    type of interrupt.  I've put a WARN_ON in the code for executing
    smp_call_function() with IPIs disabled.
    Signed-off-by: default avatarJames Bottomley <jejb@parisc-linux.org>
    Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
    9a8b4584
irq.c 8.35 KB