[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 0/6] xen: simplify suspend/resume handling





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 <jgross@xxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.