[SRU][PULL v3][G/aws] config changes to improve hibernation on Xen instance types
Andrea Righi
andrea.righi at canonical.com
Wed Nov 4 19:11:45 UTC 2020
BugLink: https://bugs.launchpad.net/bugs/1902926
BugLink: https://bugs.launchpad.net/bugs/1732512
BugLink: https://bugs.launchpad.net/bugs/1879711
[Impact]
The 5.8 kernel (groovy) is not still 100% reliable with hibernation,
especially on the Xen instance type. However, re-aligning the config
options as much as possible with the 5.4 kernel (focal) allows to
hibernate and resume with a success rate close to 100% (according to our
tests on the AWS cloud).
[Test case]
- spin up an AWS instance (for example a c4.8xlarge instance type)
- run a memory stress test
- hibernate
- resume
- verify that the system has been resumed correctly and the memory
stress test is still running
[Fix]
The following fixes must be applied to improve hibernation/resume
reliability:
- disable CONFIG_SUSPEND (suspend to memory is not supported in AWS and
it can introduce a deadlock condition with the Xen hibernation layer)
- make sure CONFIG_DMA_CMA is disabled (this introduces another
deadlock condition with Xen)
- disable CONFIG_FB_HYPERV: this would enable CONFIG_DMA_CMA and we
dont' want that (to prevent the Xen deadlock); moreover this driver
is not needed at all in the AWS environment
- disable CONFIG_XEN_FBDEV_FRONTEND: this is also not required in the
AWS environement and it has the potential of breaking hibernation
- disable CONFIG_INPUT_XEN_KBDDEV_FRONTEND
- compile xen-netfront as module
- disable CONFIG_XEN_BALLOON
- remove all sound-related modules (not really needed in the AWS cloud,
they were also disabled on 5.4)
[Regression potential]
These are all .config changes. With these changes we are basically
re-aligning with the previous 5.4 settings and we have experimentally
verified (tests) that these changes are increasing the success rate of
hibernation. So the regression potential is minimal.
Changes v2 -> v3:
- identify the minimum set of changes required to make
hibernation/resume reliable (>= 99% success rate)
----------------------------------------------------------------
The following changes since commit f352dd559e7c0ab7aa8db3b91f698e4cbbfbcbe3:
UBUNTU: Ubuntu-aws-5.8.0-1011.11 (2020-10-22 11:23:44 +0200)
are available in the Git repository at:
git://git.launchpad.net/~arighi/ubuntu/+source/linux-aws/+git/groovy tags/aws-config-update
for you to fetch changes up to a93066f2c494cbce327827bf2feca0cd123e1c2b:
UBUNTU: [Config] [aws] remove all sound-related modules (2020-11-04 19:29:59 +0100)
----------------------------------------------------------------
Andrea Righi (7):
UBUNTU: [Config] [aws] make sure CONFIG_FB_HYPERV is disabled
UBUNTU: [Config] [aws] make sure CONFIG_SUSPEND is disabled
UBUNTU: [Config] [aws] disable CONFIG_XEN_FBDEV_FRONTEND
UBUNTU: [Config] [aws] disable CONFIG_INPUT_XEN_KBDDEV_FRONTEND
UBUNTU: [Config] [aws] compile xen-netfront as module
UBUNTU: [Config] [aws] disable CONFIG_XEN_BALLOON on amd64
UBUNTU: [Config] [aws] remove all sound-related modules
debian.aws/abi/5.8.0-1010.10/amd64/aws.modules | 479 +----------------
debian.aws/abi/5.8.0-1010.10/arm64/aws.modules | 480 +----------------
debian.aws/config/amd64/config.common.amd64 | 3 +-
debian.aws/config/annotations | 655 +----------------------
debian.aws/config/arm64/config.common.arm64 | 3 +-
debian.aws/config/config.common.ubuntu | 695 +------------------------
6 files changed, 24 insertions(+), 2291 deletions(-)
More information about the kernel-team
mailing list