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

Stefan Bader stefan.bader at canonical.com
Thu Feb 25 10:08:34 UTC 2021


On 24.02.21 15:38, Andrea Righi wrote:
> 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(-)
> 
Second bug has a nomination now for Bionic. So that should be good. Just as a
note because the refresh bug report also lists Xenial. If the refresh then also
includes the fix for the other bug, make sure to add Xenial to the other bug,
too. Or invalidate Xenial for the refresh bug.


Acked-by: Stefan Bader <stefan.bader at canonical.com>



More information about the kernel-team mailing list