On 3/28/19 1:21 PM, Juergen Gross wrote:
On 28/03/2019 14:01, Volodymyr Babchuk wrote:
Hello Juergen,
On Thu, 28 Mar 2019 at 14:09, Juergen Gross <jgr...@suse.com> wrote:
Especially in the scheduler area (schedule.c, cpupool.c) there is a
rather complex handling involved when doing suspend and resume.
This can be simplified a lot by not performing a complete cpu down and
up cycle for the non-boot cpus, but keeping the pure software related
state and freeing it only in case a cpu didn't come up again during
resume.
In summary not only the complexity can be reduced, but the failure
tolerance will be even better with this series: With a dedicated hook
for failing cpus when resuming it is now possible to survive e.g. a
cpupool being left without any cpu after resume by moving its domains
to cpupool0.
Juergen Gross (6):
xen/sched: call cpu_disable_scheduler() via cpu notifier
xen: add helper for calling notifier_call_chain() to common/cpu.c
xen: add new cpu notifier action CPU_RESUME_FAILED
xen: don't free percpu areas during suspend
xen/cpupool: simplify suspend/resume handling
xen/sched: don't disable scheduler on cpus during suspend
xen/arch/arm/smpboot.c | 4 -
xen/arch/x86/percpu.c | 3 +-
xen/arch/x86/smpboot.c | 3 -
xen/common/cpu.c | 61 +++++++-------
xen/common/cpupool.c | 131 ++++++++++++-----------------
xen/common/schedule.c | 203 +++++++++++++++++++--------------------------
xen/include/xen/cpu.h | 29 ++++---
xen/include/xen/sched-if.h | 1 -
8 files changed, 190 insertions(+), 245 deletions(-)
I tested your patch series on ARM64 platform. We had issue with hard
affinity - there was assertion failure in sched_credit2 code during
suspension if one of the vCPUs is pinned to non-0 pCPU.
Seems, your patch series fixes the issue during suspend. But now I'm
seeing crash during resume:
Oh, I wasn't aware the suspend/resume is possible on ARM, too.
We don't have suspend/resume on Arm... There are series on the ML but I
would not consider then bug free (there was the first posting).
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel