[SRU][F/aws][PULL] aws: update Xen hibernation patch set

Andrea Righi andrea.righi at canonical.com
Wed Feb 24 14:27:12 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1913410
BugLink: https://bugs.launchpad.net/bugs/1906850

[Impact]

Amazon maintains a custom kernel patch set to properly support
hibernation in Xen.

This patch set is available in the amazonlinux kernel git repository:
https://github.com/amazonlinux/linux.git

It is important to periodically re-sync our version of this patch set
with the new versions that are pushed by Amazon and make sure we include
all the required patches and drop the old ones.

This pull request is a revert of the old xen/hibernation patch set +
applying the new patch set.

Many of these patches required a small backporting activity, mostly due
to context adjustments (no functional changes).

NOTE: the patch "PM: hibernate: Batch hibernate and resume IO requests"
is a cherry-pick of an upstream commit (this patch is required to speed
up hibernation I/O and it has been finally merged upstream, so also for
this one we can drop our old SAUCE patch "UBUNTU: SAUCE: [aws] PM /
hibernate: Speed up hibernation by batching requests" and use this one
instead). Everything else is pretty much made of out-of-tree patches
imported from amazonlinux.

[Test case]

A test kernel with this new patch set applied has been extensively
tested in the AWS cloud both by our testing scripts (multiple
hibernation/resume cycles) and by Amazon with positive results.

[Fix]

Revert the old xen/hibernation patch set + apply the new patch set.

[Regression potential]

All the changes are touching the Xen (guest) code and hibernation, so
we can only see potential regressions in these subsystems.

--

The following changes since commit 417d797cfe950d16e7dd89a58dc27634ec29ccb2:

  UBUNTU: Ubuntu-aws-5.4.0-1038.40 (2021-02-05 13:05:59 -0700)

are available in the Git repository at:

  git://git.launchpad.net/~arighi/+git/focal-linux e699d0922e8dfe51fd788067cffef23c42cdaa26

for you to fetch changes up to e699d0922e8dfe51fd788067cffef23c42cdaa26:

  UBUNTU: SAUCE: xen-netfront: prevent unnecessary close on hibernate (2021-02-16 05:06:48 +0100)

----------------------------------------------------------------
Anchal Agarwal (5):
      UBUNTU: SAUCE: x86/xen: Introduce new function to map HYPERVISOR_shared_info on Resume
      UBUNTU: SAUCE: Revert "xen: dont fiddle with event channel masking in suspend/resume"
      UBUNTU: SAUCE: xen-blkfront: Fixed blkfront_restore to remove a call to negotiate_mq
      UBUNTU: SAUCE: xen: Restore xen-pirqs on resume from hibernation
      UBUNTU: SAUCE: ACPICA: Enable sleep button on ACPI legacy wake

Andrea Righi (14):
      Revert "UBUNTU: SAUCE: [aws] PM / hibernate: Speed up hibernation by batching requests"
      Revert "UBUNTU: SAUCE: xen-netfront: prevent unnecessary close on hibernate"
      Revert "UBUNTU: SAUCE: xen: Update sched clock offset to avoid system instability in hibernation"
      Revert "UBUNTU: SAUCE: xen: Introduce wrapper for save/restore sched clock offset"
      Revert "UBUNTU: SAUCE: x86/xen: save and restore steal clock"
      Revert "UBUNTU: SAUCE: xen/time: introduce xen_{save,restore}_steal_clock"
      Revert "UBUNTU: SAUCE: xen-netfront: add callbacks for PM suspend and hibernation"
      Revert "UBUNTU: SAUCE: xen-blkfront: add callbacks for PM suspend and hibernation"
      Revert "UBUNTU: SAUCE: genirq: Shutdown irq chips in suspend/resume during hibernation"
      Revert "UBUNTU: SAUCE: x86/xen: add system core suspend and resume callbacks"
      Revert "UBUNTU: SAUCE: x86/xen: Introduce new function to map HYPERVISOR_shared_info on Resume"
      Revert "UBUNTU: SAUCE: xenbus: add freeze/thaw/restore callbacks support"
      Revert "UBUNTU: SAUCE: xen/manage: keep track of the on-going suspend mode"
      UBUNTU: SAUCE: xen-netfront: prevent unnecessary close on hibernate

Anthony Liguori (1):
      UBUNTU: SAUCE: xen-blkfront: add 'persistent_grants' parameter

Eduardo Valentin (2):
      UBUNTU: SAUCE: block: xen-blkfront: consider new dom0 features on restore
      UBUNTU: SAUCE: x86: tsc: avoid system instability in hibernation

Frank van der Linden (4):
      UBUNTU: SAUCE: xen: restore pirqs on resume from hibernation.
      UBUNTU: SAUCE: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
      UBUNTU: SAUCE: xen-netfront: call netif_device_attach on resume
      UBUNTU: SAUCE: block/xen-blkfront: bump the maximum number of indirect segments up to 64

Munehisa Kamata (10):
      UBUNTU: SAUCE: xen/manage: keep track of the on-going suspend mode
      UBUNTU: SAUCE: xen/manage: introduce helper function to know the on-going suspend mode
      UBUNTU: SAUCE: xenbus: add freeze/thaw/restore callbacks support
      UBUNTU: SAUCE: x86/xen: add system core suspend and resume callbacks
      UBUNTU: SAUCE: xen-blkfront: add callbacks for PM suspend and hibernation
      UBUNTU: SAUCE: xen-netfront: add callbacks for PM suspend and hibernation support
      UBUNTU: SAUCE: xen/time: introduce xen_{save,restore}_steal_clock
      UBUNTU: SAUCE: x86/xen: save and restore steal clock
      UBUNTU: SAUCE: xen/events: add xen_shutdown_pirqs helper function
      UBUNTU: SAUCE: x86/xen: close event channels for PIRQs in system core suspend callback

Xiaoyi Chen (1):
      PM: hibernate: Batch hibernate and resume IO requests

 arch/x86/kernel/tsc.c             |  29 +++++
 arch/x86/xen/enlighten_hvm.c      |   6 +-
 arch/x86/xen/suspend.c            |   9 +-
 arch/x86/xen/time.c               |  15 +--
 arch/x86/xen/xen-ops.h            |   2 -
 drivers/acpi/acpica/hwsleep.c     |  11 ++
 drivers/block/xen-blkfront.c      | 161 +++++++++++++++---------
 drivers/net/xen-netfront.c        |  32 +++--
 drivers/xen/events/events_base.c  |  31 ++++-
 drivers/xen/manage.c              |   8 +-
 drivers/xen/xenbus/xenbus_probe.c |  47 ++++---
 include/linux/irq.h               |   4 +-
 include/linux/sched/clock.h       |   5 +
 include/xen/events.h              |   2 +
 kernel/irq/chip.c                 |   6 +-
 kernel/irq/internals.h            |   1 -
 kernel/irq/pm.c                   |  31 ++---
 kernel/power/swap.c               | 250 ++++++++------------------------------
 kernel/sched/clock.c              |   4 +-
 19 files changed, 304 insertions(+), 350 deletions(-)



More information about the kernel-team mailing list