[SRU][PULL v2][G/aws] config changes to improve hibernation on Xen instance types

Andrea Righi andrea.righi at canonical.com
Wed Nov 4 15:33:37 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1732512
BugLink: https://bugs.launchpad.net/bugs/1879711

[Impact]

After moving to 5.8 the config for the AWS kernel has been re-generated
starting from the generic 5.8 kernel. However, in the process, we missed
some important config options that are required to properly support
hibernation on Xen instance types.

Re-align the config starting from a 5.4 kernel and report explicitly in
the annotations file the relevant config options required by
hibernation.

These changes have been tested in the AWS environment using Xen and KVM
instance types. Without these config changes hibernation is currently
broken on certain instance types.

With these changes hibernation is still not 100% reliable, but they
improve hibernation success rate a little bit with the 5.8 kernel.

More config changes will come in a future pull request (I'll create a
separate bug for them).

[Test case]

 - start a Xen-based instance (i.e., c4.8xlarge)
 - start a memory stress test on it
 - hibernate & resume
 - verify that the instance has been properly resumed and the memory
   stress test is still running

[Fix]

 - 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

[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 v1 -> v2:
 - apply only the config changes we know for sure that are required to
   improve hibernation 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 bab427a64f957b5f33b3cb84c2da6d9da3817882:

  UBUNTU: [Config] [aws] disable CONFIG_XEN_FBDEV_FRONTEND (2020-11-04 15:59:00 +0100)

----------------------------------------------------------------
Andrea Righi (3):
      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

 debian.aws/abi/5.8.0-1010.10/amd64/aws.modules |  2 --
 debian.aws/abi/5.8.0-1010.10/arm64/aws.modules |  1 -
 debian.aws/config/amd64/config.common.amd64    |  1 +
 debian.aws/config/annotations                  | 11 +++++++----
 debian.aws/config/arm64/config.common.arm64    |  1 +
 debian.aws/config/config.common.ubuntu         |  5 ++---
 6 files changed, 11 insertions(+), 10 deletions(-)



More information about the kernel-team mailing list