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

Andrea Righi andrea.righi at canonical.com
Thu Feb 25 09:46:08 UTC 2021


NACK-ing this one, I'll send a new version to fix the buglink issue
pointed out by Stefan (thanks for the review!).

-Andrea

On Wed, Feb 24, 2021 at 03:27:13PM +0100, 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).
> 
> 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