• Paul Burton's avatar
    MIPS: CPS: Handle cores not powering down more gracefully · 4ad755c9
    Paul Burton authored
    If we get into a state where a core that ought to power down isn't doing
    so then the current result is that another CPU gets stuck inside
    cps_cpu_die() waiting for CPU that ought to be powering down to do so.
    The best case scenario is that we then trigger RCU stall messages or
    lockup messages, but neither makes it particularly clear what's
    happening.
    
    Handle this more gracefully by introducing a timeout beyond which we
    warn the user that the core didn't power down & stop waiting for it.
    This at least allows the CPU running cps_cpu_die() to continue normally,
    and hopefully presuming the CPU that powered back up is doing nothing
    harmful the system will continue functioning as normal.
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16197/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    4ad755c9
smp-cps.c 15.1 KB