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

Stefan Bader stefan.bader at canonical.com
Tue Mar 2 08:00:25 UTC 2021


On 26.02.21 15:49, Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1902864
> BugLink: https://bugs.launchpad.net/bugs/1913410
> 
> [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.
> 
> Changelog (v1 -> v2):
>   - fixed BugLink (do not re-use LP: #1906850, that has already
>     fix-committed)
>   - added BugLink LP: #1902864 (for the new patch "batch hibernate and
>     resume IO requests") that was missing in v1
> 
> --
> 
> 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 42f3ee903078c06d69a257e94598b54a96ce535e
> 
> for you to fetch changes up to 42f3ee903078c06d69a257e94598b54a96ce535e:
> 
>    UBUNTU: SAUCE: xen-netfront: prevent unnecessary close on hibernate (2021-02-26 11:10:49 +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(-)
> 
Looks more consistent now, thanks. Note for applying: if doing this via git am, 
one has to use -C2 because patch #0011 needs some fuzz ignored.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20210302/cc238105/attachment-0001.sig>


More information about the kernel-team mailing list