• S
    KVM: x86/mmu: Consult max mapping level when zapping collapsible SPTEs · 9eba50f8
    Sean Christopherson 提交于
    When zapping SPTEs in order to rebuild them as huge pages, use the new
    helper that computes the max mapping level to detect whether or not a
    SPTE should be zapped.  Doing so avoids zapping SPTEs that can't
    possibly be rebuilt as huge pages, e.g. due to hardware constraints,
    memslot alignment, etc...
    
    This also avoids zapping SPTEs that are still large, e.g. if migration
    was canceled before write-protected huge pages were shattered to enable
    dirty logging.  Note, such pages are still write-protected at this time,
    i.e. a page fault VM-Exit will still occur.  This will hopefully be
    addressed in a future patch.
    
    Sadly, TDP MMU loses its const on the memslot, but that's a pervasive
    problem that's been around for quite some time.
    Signed-off-by: NSean Christopherson <seanjc@google.com>
    Message-Id: <20210213005015.1651772-6-seanjc@google.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    9eba50f8
mmu.c 157.9 KB