The current implementation of the mwait_play_dead() uses undocumented
way of looking up the mwait hint for the deepest cstate and using it in
cpu offline code. This prevents entering pc6 when the CPU gets offlined
on Sierra Forest. The solution is to allow the idle driver to force the
mwait hint.
This problem was first observed on SRF, but since determining the
deepest mwait hint is non-architectural, the hint is forced for all of
the models that intel_idle has custom table for.
Patryk Wlazlyn (3):
x86/smp: Move mwait hint computation out of mwait_play_dead
x86/smp: Allow forcing the mwait hint for play dead loop
intel_idle: Identify the deepest cstate for SRF
arch/x86/include/asm/smp.h | 3 +++
arch/x86/kernel/smpboot.c | 54 ++++++++++++++++++++++++++------------
drivers/idle/intel_idle.c | 12 +++++++++
3 files changed, 52 insertions(+), 17 deletions(-)
--
2.46.2