aws: update patch to batch hibernate and resume IO requests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-aws (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Andrea Righi | ||
Groovy |
Fix Released
|
Medium
|
Andrea Righi |
Bug Description
[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:
55c4478a8f0ece
Drop the custom aws SAUCE patch:
11c3fa3b297221
[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.
Changed in linux-aws (Ubuntu Groovy): | |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in linux-aws (Ubuntu): | |
status: | New → Invalid |
Changed in linux-aws (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
Changed in linux-aws (Ubuntu Focal): | |
importance: | Undecided → Medium |
assignee: | nobody → Andrea Righi (arighi) |
Changed in linux-aws (Ubuntu Groovy): | |
assignee: | nobody → Andrea Righi (arighi) |
Changed in linux-aws (Ubuntu Focal): | |
status: | New → Fix Committed |
This bug was fixed in the package linux-aws - 5.8.0-1014.15
---------------
linux-aws (5.8.0-1014.15) groovy; urgency=medium
* groovy/linux-aws: 5.8.0-1014.15 -proposed tracker (LP: #1903182)
* Groovy update: v5.8.15 upstream stable release (LP: #1902130)
- [Packaging] [aws] module ocelot_board rename
* AWS: add the nitro_enclaves driver (LP: #1903087)
- [Config][aws] update config for NITRO_ENCLAVES
- nitro_enclaves: Add ioctl interface definition
- nitro_enclaves: Define the PCI device interface
- nitro_enclaves: Define enclave info for internal bookkeeping
- nitro_enclaves: Init PCI device driver
- nitro_enclaves: Handle PCI device command requests
- nitro_enclaves: Handle out-of-band PCI device events
- nitro_enclaves: Init misc device providing the ioctl interface
- nitro_enclaves: Add logic for creating an enclave VM
- nitro_enclaves: Add logic for setting an enclave vCPU
- nitro_enclaves: Add logic for getting the enclave image load info
- nitro_enclaves: Add logic for setting an enclave memory region
- nitro_enclaves: Add logic for starting an enclave
- nitro_enclaves: Add logic for terminating an enclave
- nitro_enclaves: Add Kconfig for the Nitro Enclaves driver
- nitro_enclaves: Add Makefile for the Nitro Enclaves driver
- nitro_enclaves: Add sample for ioctl interface usage
- nitro_enclaves: Add overview documentation
- MAINTAINERS: Add entry for the Nitro Enclaves driver
* aws: improve hibernation reliability in groovy (LP: #1902926) INPUT_XEN_ KBDDEV_ FRONTEND XEN_NETDEV_ FRONTEND
- [Config] [aws] disable CONFIG_
- [Config] [aws] disable CONFIG_XEN_BALLOON on amd64
- [Config] [aws] enforce CONFIG_
- [Config] [aws] remove all sound-related modules
* xen hibernation support for linux-aws (LP: #1732512) XEN_FBDEV_ FRONTEND
- [Config] [aws] make sure CONFIG_SUSPEND is disabled
- [Config] [aws] disable CONFIG_
* aws: disable CONFIG_DMA_CMA (LP: #1879711)
- [Config] [aws] make sure CONFIG_FB_HYPERV is disabled
* aws: update patch to batch hibernate and resume IO requests (LP: #1902864)
- Revert "UBUNTU: SAUCE: [aws] PM / hibernate: Speed up hibernation by
batching requests"
- PM: hibernate: Batch hibernate and resume IO requests
* aws: disable strict IOMMU TLB invalidation by default (LP: #1902281)
- SAUCE: [aws] iommu: set the default iommu-dma mode as non-strict
[ Ubuntu: 5.8.0-30.32 ]
* groovy/linux: 5.8.0-30.32 -proposed tracker (LP: #1903194) discard_ bio() for submitting discard bio
* Update kernel packaging to support forward porting kernels (LP: #1902957)
- [Debian] Update for leader included in BACKPORT_SUFFIX
* Avoid double newline when running insertchanges (LP: #1903293)
- [Packaging] insertchanges: avoid double newline
* EFI: Fails when BootCurrent entry does not exist (LP: #1899993)
- efivarfs: Replace invalid slashes with exclamation marks in dentries.
* raid10: Block discard is very slow, causing severe delays for mkfs and
fstrim operations (LP: #1896578)
- md: add md_submit_
- md/raid10: extend r10bio devs to raid disks
- md/raid10: pull...