• Preeti U Murthy's avatar
    powerpc/powernv: Check for IRQHAPPENED before sleeping · c733cf83
    Preeti U Murthy authored
    Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
    check in power7_nap()" added code that prevents cpus from checking for
    pending interrupts just before entering sleep state, which is wrong. These
    interrupts are delivered during the soft irq disabled state of the cpu.
    
    A cpu cannot enter any idle state with pending interrupts because they will
    never be serviced until the next time the cpu is woken up by some other
    interrupt. Its only then that the pending interrupts are replayed. This can result
    in device timeouts or warnings about this cpu being stuck.
    
    This patch fixes ths issue by ensuring that cpus check for pending interrupts
    just before entering any idle state as long as they are not in the path of split
    core operations.
    Signed-off-by: default avatarPreeti U Murthy <preeti@linux.vnet.ibm.com>
    Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    c733cf83
idle_power7.S 3.78 KB