Skip to content

RFC x86, hotplug: Use hlt instead of mwait when resuming from hibernation

Chen Yu linux-pm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 RFC Latest4 patches 16 repliesIn review

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4PM / sleep: Avoid accessing frozen_cpus if it is NULLkernel/cpu.c+4 -03 replies
2/4PM / sleep: Introduce arch-specific hook for disable/enable nonboot cpuskernel/cpu.c+12 -05 replies
3/4PM / hibernate: introduce a flag to indicate resuming from hibernationinclude/linux/suspend.h kernel/power/hibernate.c+10 -02 replies
4/4x86, hotplug: Use hlt instead of mwait when resuming from hibernationarch/x86/kernel/smpboot.c include/linux/cpu.h kernel/cpu.c+39 -06 replies

Reviews trailers per patch

None of the 4 patches has a Reviewed-by or Acked-by.

PatchVarun Koyyalagunta
1/4
2/4
3/4
4/4Reported-and-tested-by

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH 0/4][RFC v2] x86, hotplug: Use hlt instead of mwait when resuming from hibernation

Currently it is reported that, when system is trying to resume from hibernation, the nonboot CPUs might be incorrectly woken up and hang there. The reason for this is because of inconsistent page tables across hibernation resume. To avoid this situation, use hlt instead of mwait to put nonboot CPUs in a more safe state and just let them watch the boot CPU to do all the things and wakes them up later.

The first three patches are preparation for the fourth one, please refer to [4/4] for detail.

Chen Yu (4):
PM / sleep: Avoid accessing frozen_cpus if it is NULL
PM / sleep: Introduce arch-specific hook for disable/enable nonboot
cpus
PM / hibernate: introduce a flag to indicate resuming from hibernation x86, hotplug: Use hlt instead of mwait when resuming from hibernation

 arch/x86/kernel/smpboot.c | 15 +++++++++++++++
 include/linux/cpu.h       |  2 ++
 include/linux/suspend.h   |  7 +++++++
 kernel/cpu.c              | 38 ++++++++++++++++++++++++++++++++++++++
 kernel/power/hibernate.c  |  3 +++
 5 files changed, 65 insertions(+)
Signature · 1 line
2.7.4