aws: disable CONFIG_DMA_CMA
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-aws (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
High
|
Andrea Righi | ||
Focal |
Fix Released
|
High
|
Andrea Righi | ||
Groovy |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
The option CONFIG_DMA_CMA seems to cause hibernation failures on the t2.* instance types (Xen).
With this option enabled device drivers are allowed to use the Contiguous Memory Allocator (CMA) for DMA operations. So, drivers can allocate large physically-
However, on resume, the memory used by DMA needs to be re-initialized / re-allocated, but it may fail to allocate large chunks of contiguous memory due to the fact that we also need to restore the hibernation image, using more memory and causing a system hang during the resume process.
[Test case]
Hibernate / resume any t2.* instance (especially t2.nano, where the problem seems to happen 100% of the times after 2 consecutive hibernate/resume cycles).
[Fix]
Disable CONFIG_DMA_CMA.
NOTE: this option is already disabled in the generic kernel (see LP: #1362261).
With this option disabled the success rate of hibernation on the t2.*
instance types during our tests jumped to 100%.
[Regression potential]
It is a .config change, no regression potential except for the fact that disabling this option also disables the module 'etnaviv' (Vivante graphic card), that is not really needed in the aws kernel.
CVE References
affects: | linux (Ubuntu) → linux-aws (Ubuntu) |
Changed in linux-aws (Ubuntu Focal): | |
importance: | Undecided → High |
assignee: | nobody → Andrea Righi (arighi) |
description: | updated |
description: | updated |
description: | updated |
Changed in linux-aws (Ubuntu Eoan): | |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux-aws (Ubuntu Focal): | |
status: | New → In Progress |
Changed in linux-aws (Ubuntu): | |
status: | New → Invalid |
Changed in linux-aws (Ubuntu Eoan): | |
assignee: | nobody → Andrea Righi (arighi) |
Changed in linux-aws (Ubuntu Eoan): | |
status: | In Progress → Fix Committed |
Changed in linux-aws (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux-aws (Ubuntu Groovy): | |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in linux-aws (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
This bug was fixed in the package linux-aws - 5.4.0-1018.18
---------------
linux-aws (5.4.0-1018.18) focal; urgency=medium
* focal/linux-aws: 5.4.0-1016.16 -proposed tracker (LP: #1882686)
* ASoC/amd: add audio driver for amd renoir (LP: #1881046)
- [Config] aws: do not enable amd renoir ASoC audio
* Focal update: v5.4.42 upstream stable release (LP: #1879759) WARN_MAYBE_ UNINITIALIZED
- [Config] updateconfigs for CC_HAS_
* linux-aws: Xen / hibernation: xen-netfront panic + resume hangs restore_ pirqs." introduce- xen_-save- restore- R_shared_ info on Resume"
(LP: #1881869)
- Revert "UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in
xen_
- 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]: ACPICA: Enable sleep button on ACPI legacy wake"
- Revert "UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic"
- Revert "UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during
image writing"
- 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-
_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
HYPERVISO
- Revert "UBUNTU: SAUCE: xen-blkfront: Fixed blkfront_restore to remove a call
to negotiate_mq"
- 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"
- xen/blkfront: fix ring info addressing
- [Config] aws: compile xen-netfront as module
- SAUCE: mm: swap: properly update readahead statistics in unuse_pte_range()
- UBUNTU SAUCE [aws]: mm: swap: increase default swap readahead size
- [Config] aws: compile xen-netfront as module (update the right config)
* Restore request-based mode to xen-blkfront for AWS kernels (LP: #1801305) shared_ info on restore} ...
- SAUCE: xen/manage: keep track of the on-going suspend mode
- SAUCE: xenbus: add freeze/thaw/restore callbacks support
- SAUCE: x86/xen: Introduce new function to map HYPERVISOR_
Resume
- SAUCE: x86/xen: add system core suspend and resume callbacks
- SAUCE: genirq: Shutdown irq chips in suspend/resume during hibernation
- SAUCE: xen-blkfront: add callbacks for PM suspend and hibernation
- SAUCE: xen-netfront: add callbacks for PM suspend and hibernation
- SAUCE: xen/time: introduce xen_{save,