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

Andrea Righi andrea.righi at canonical.com
Wed Feb 24 14:38:27 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).

[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]

The following patches are touching respectively nvme, virtio_blk and
block/genhd; this is required to properly support the corresponding
blkio changes made in the xen-blkfront driver:

 UBUNTU: SAUCE: drivers/nvme/host/core.c: Convert to use set_capacity_revalidate_and_notify
 UBUNTU: SAUCE: drivers/block/virtio_blk.c: Convert to use set_capacity_revalidate_and_notify
 UBUNTU: SAUCE: block/genhd: Notify udev about capacity change

Potentially we may see regressions in the block subsystem for these
drivers (specifically the code that handles the capacity change).

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

--

The following changes since commit 01cc484bcce66678048ed129a28e6fcce23a3713:

  UBUNTU: Ubuntu-aws-4.15.0-1094.101 (2021-02-04 06:18:22 -0500)

are available in the Git repository at:

  git://git.launchpad.net/~arighi/+git/bionic-linux 7d3f6d53c59cbd7ff7d8db574fefdd88d34dfc07

for you to fetch changes up to 7d3f6d53c59cbd7ff7d8db574fefdd88d34dfc07:

  UBUNTU: SAUCE: drivers/nvme/host/core.c: Convert to use set_capacity_revalidate_and_notify (2021-02-24 15:32:19 +0100)

----------------------------------------------------------------
Anchal Agarwal (4):
      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

Andrea Righi (18):
      Revert "UBUNTU: SAUCE: xen-netfront: prevent unnecessary close on hibernate"
      Revert "UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs."
      Revert "UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation."
      Revert "UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore"
      Revert "UBUNTU: SAUCE [aws] x86/xen: close event channels for PIRQs in system core suspend callback"
      Revert "UBUNTU: SAUCE [aws] xen/events: add xen_shutdown_pirqs helper function"
      Revert "UBUNTU: SAUCE [aws] x86/xen: save and restore steal clock"
      Revert "UBUNTU: SAUCE [aws] xen-time-introduce-xen_-save-restore-_steal_clock"
      Revert "UBUNTU: SAUCE [aws] xen-netfront: add callbacks for PM suspend and hibernation support"
      Revert "UBUNTU: SAUCE [aws] x86/xen: add system core suspend and resume callbacks"
      Revert "UBUNTU: SAUCE [aws] x86/xen: Introduce new function to map HYPERVISOR_shared_info on Resume"
      Revert "UBUNTU: SAUCE: xen-blkfront: Fixed blkfront_restore to remove a call to negotiate_mq"
      Revert "UBUNTU: SAUCE: xen-blkfront: resurrect request-based mode"
      Revert "UBUNTU: SAUCE: xen-blkfront: add callbacks for PM suspend and hibernation"
      Revert "UBUNTU: SAUCE: xenbus: add freeze/thaw/restore callbacks support"
      Revert "UBUNTU: SAUCE: xen/manage: introduce helper function to know the on-going suspend mode"
      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

Balbir Singh (4):
      UBUNTU: SAUCE: drivers/block/xen-blkfront.c: Convert to use set_capacity_revalidate_and_notify
      UBUNTU: SAUCE: block/genhd: Notify udev about capacity change
      UBUNTU: SAUCE: drivers/block/virtio_blk.c: Convert to use set_capacity_revalidate_and_notify
      UBUNTU: SAUCE: drivers/nvme/host/core.c: Convert to use set_capacity_revalidate_and_notify

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 (3):
      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

Munehisa Kamata (11):
      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
      UBUNTU: SAUCE: xen-blkfront: resurrect request-based mode

Samuel Mendoza-Jonas (1):
      UBUNTU: SAUCE: xen-blkfront: Delay flush till queue lock dropped

 arch/x86/kernel/tsc.c            | 29 +++++++++++++++++++++
 arch/x86/xen/enlighten_hvm.c     |  6 ++---
 arch/x86/xen/suspend.c           |  3 +--
 block/genhd.c                    | 24 ++++++++++++++++++
 drivers/block/virtio_blk.c       |  4 +--
 drivers/block/xen-blkfront.c     | 46 +++++++++++++++++++++++----------
 drivers/net/xen-netfront.c       | 18 +++++++++++--
 drivers/nvme/host/core.c         |  2 +-
 drivers/xen/events/events_base.c | 55 ++++++++--------------------------------
 include/linux/genhd.h            |  2 ++
 include/linux/irq.h              |  2 ++
 include/linux/sched/clock.h      |  5 ++++
 kernel/irq/chip.c                |  4 +--
 kernel/sched/clock.c             |  4 +--
 14 files changed, 131 insertions(+), 73 deletions(-)



More information about the kernel-team mailing list