[SRU][G/aws][PATCH 0/2] aws: update patch to batch hibernate and resume IO requests

Andrea Righi andrea.righi at canonical.com
Wed Nov 4 12:05:52 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1902864

[Impact]

During hibernation and resume the kernel is submitting an individual IO
request for each page of data. In the aws kernel we are using a custom
SAUCE patch to batch IO requests together in order to achieve better
performance.

Recently a patch designed to achieve the same goal has been applied
upstream. This patch has been acknowledged by Amazon and it has shown a
performance improvement.

Moreover, this patch looks much cleaner compared to the custom patch
that we are using and it's upstream, so it makes sense to drop the
previous patch and apply this new one.

[Test case]

Hibernate + resume and measure the time required to perform these
operations.

Performance result reported by Amazon:

    One hibernate and resume cycle for 16GB RAM out of 32GB in use takes
    around 21 minutes before the change, and 1 minutes after the change on
    a system with limited storage IOPS.

[Fix]

Apply the following upstream commit:

 55c4478a8f0ecedc0c1a0c9379380249985c372a ("PM: hibernate: Batch hibernate and resume IO requests")

Drop the custom aws SAUCE patch:

 11c3fa3b29722124f5c9122671983614383686db ("UBUNTU: SAUCE: [aws] PM / hibernate: Speed up hibernation by batching requests")

[Regression potential]

Upstream patch that allows to drop a custom patch that is doing the same
thing. The only potential regression would be a performance drop, but
according to Amazon's tests and our tests, we didn't notice any
performance regression. Any other kind of regression would be considered
as upstream regressions.

----------------------------------------------------------------
Andrea Righi (1):
      Revert "UBUNTU: SAUCE: [aws] PM / hibernate: Speed up hibernation by batching requests"

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

 kernel/power/swap.c | 250 ++++++++++------------------------------------------
 1 file changed, 49 insertions(+), 201 deletions(-)




More information about the kernel-team mailing list