ACK: [SRU][J][I][F][PATCH 0/1] KVM nesting support leaks too much memory, might result in stalls during cleanup (LP: 1974017)
Bartlomiej Zolnierkiewicz
bartlomiej.zolnierkiewicz at canonical.com
Thu May 19 14:10:30 UTC 2022
Acked-by: Bartlomiej Zolnierkiewicz <bartlomiej.zolnierkiewicz at canonical.com>
On Thu, May 19, 2022 at 8:40 AM <frank.heimes at canonical.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/1974017
>
> 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.
>
> Christian Borntraeger (1):
> KVM: s390: vsie/gmap: reduce gmap_rmap overhead
>
> arch/s390/mm/gmap.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> --
> 2.25.1
More information about the kernel-team
mailing list