This bug is awaiting verification that the linux/5.15.0-36.37 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-jammy -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1974017 Title: [UBUNTU 20.04] KVM nesting support leaks too much memory, might result in stalls during cleanup Status in Ubuntu on IBM z Systems: Fix Committed Status in linux package in Ubuntu: Invalid Status in linux source package in Focal: Fix Committed Status in linux source package in Impish: Fix Committed Status in linux source package in Jammy: Fix Committed Bug description: SRU Justification: ================== [Impact] * If running KVM with nesting support (e.g. 'kvm.nested=1' on the kernel command line), the shadow page table code will produce too many entries in the shadow code. * The below mentioned upstream fix will prevent the entries from being piled up, by checking for existing entries at insert time. * This measurably reduces the list length and is faster than traversing the list at shutdown time only. [Fix] * a06afe8383080c630a7a528b8382fc6bb4925b61 a06afe838308 "KVM: s390: vsie/gmap: reduce gmap_rmap overhead" [Test Plan] * A IBM zSystems or LinuxONE LPAR on a z13 or newer is needed. * Ubuntu focal, impish or jammy needs to be installed and the Ubuntu LPAR setup as (1st level) KVM host, allowing nested virtualization. * Now setup one (or more) KVM virtual machines, with similar Ubuntu releases, and define one or more of them again as (2nd level) KVM host. * Define several KVM virtual machines on this (2nd level) KVM host in a memory constraint fashion, so that a lot of memory mapping is caused. * Let such a system run for a while under load. * Now shutdown one (or more) 2nd level VMs and notice the time it takes. * With the patch in place this time should be considerably quicker than without. * The result is reduced mapping (gmap_rmap) overhead, less danger of leaking memory and a better responding system. [Where problems could occur] * In case wrong entries are freed up this will harm the virtual memory management and may even lead to crashes. * In case the pointer handling is not done properly, again crashes may occur. * But with net just five new lines the patch is pretty short, readable and the modifications traceable in arch/s390/mm/gmap.c only. * The changes are limited to s390/mm only, hence don't affect other architectures. [Other Info] * The commit was upstream accepted in v5.18-rc6. * Since the planned target kernel for kinetic is 5.19, the kinetic kernel does not need to be patched. * Hence the SRUs are for jammy, impish and focal. __________ KVM nesting support consumes too much memory When running KVM with nesting support (kvm.nested=1 on the kernel command line) the shadow page table code will produce too many entries in the shadow code. There is an upstream fix that will prevent the majority of the problem: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a06afe8383080c630a7a528b8382fc6bb4925b61 The fix is needed for 20.04 and 22.04. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1974017/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp