• David Matlack's avatar
    KVM: x86/mmu: Zap collapsible SPTEs in shadow MMU at all possible levels · 20d49186
    David Matlack authored
    Currently KVM only zaps collapsible 4KiB SPTEs in the shadow MMU. This
    is fine for now since KVM never creates intermediate huge pages during
    dirty logging. In other words, KVM always replaces 1GiB pages directly
    with 4KiB pages, so there is no reason to look for collapsible 2MiB
    pages.
    
    However, this will stop being true once the shadow MMU participates in
    eager page splitting. During eager page splitting, each 1GiB is first
    split into 2MiB pages and then those are split into 4KiB pages. The
    intermediate 2MiB pages may be left behind if an error condition causes
    eager page splitting to bail early.
    
    No functional change intended.
    Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
    Signed-off-by: default avatarDavid Matlack <dmatlack@google.com>
    Message-Id: <20220516232138.1783324-20-dmatlack@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    20d49186
mmu.c 180 KB