]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: CPS: Handle cores not powering down more gracefully
authorPaul Burton <paul.burton@imgtec.com>
Fri, 2 Jun 2017 21:48:54 +0000 (14:48 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 29 Jun 2017 00:42:28 +0000 (02:42 +0200)
commit96558c9a9a52d2cea924a82b54778f235fb042ad
treea6770d2f6964e0aaa36c80ac55b4bce2eb6faf78
parentc30f7f1e1edd481ff69377064ea237e6e2a319a1
MIPS: CPS: Handle cores not powering down more gracefully

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: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16197/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/smp-cps.c