2020-11-04 18:58:31 |
Andrea Righi |
description |
[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]
Identify the minimum subset of config changes that we need to apply to the 5.8 kernel to make hibernation as reliable as 5.4.
[Regression potential]
Still need to be evaluated exactly, probably we will have to apply only .config changes, so regression potential will be minimal. |
[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. |
|