Thread (14 messages) 14 messages, 4 authors, 2016-06-29
DORMANTno replies

[PATCH v2 4/6] PM / Hibernate: Allow architectures to specify the hibernate/resume CPU

From: Rafael J. Wysocki <hidden>
Date: 2016-06-29 00:03:51
Also in: linux-pm

On Tuesday, June 28, 2016 03:51:39 PM James Morse wrote:
Hi Rafael,

On 15/06/16 22:10, Rafael J. Wysocki wrote:
quoted
On Wed, Jun 15, 2016 at 7:35 PM, James Morse [off-list ref] wrote:
quoted
On arm64 the cpu with logical id 0 is assumed to be the boot CPU. If a
user hotplugs this CPU out, then uses kexec to boot a new kernel, the new
kernel will assign logical id 0 to a different physical CPU.
This breaks hibernate as hibernate and resume will be attempted on different
CPUs.

Define a weak symbol arch_hibernation_disable_cpus(), which defaults to
calling disable_nonboot_cpus). Architectures that allow CPU 0 to be
hotplugged can use this to control which CPU is used for hibernate/resume.

Signed-off-by: James Morse <james.morse@arm.com>
Cc: Rafael J. Wysocki <redacted>
Cc: Pavel Machek <redacted>
---
If this approach is acceptable, this patch should go with 4&5 via the arm64
tree.
I'm not entirely happy with this, but if you absolutely need it and if
you can't think about any cleaner way to achieve the goal, feel free
to add my ACK to this patch if necessary.
I would prefer you to be happy with it.
On the weak symbol: After staring at this some more I've made the macro approach
work, so the weak symbol can go. (a new version of this series should arrive soon)
On the arch-specific odour coming from this, it may also be useful for Chen Yu's
'Use hlt instead of mwait when resuming from hibernation' series[0]. (I don't
understand the x86 specifics)
Yes, it looks like both x86 and ARM64 want/need to do something special around
disabling/enabling nonboot CPUs during hibernation/restore.

Let me comment on the new submission, though.

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help