• Ben Gardon's avatar
    kvm: mmu: Used range based flushing in slot_handle_level_range · f285c633
    Ben Gardon authored
    Replace kvm_flush_remote_tlbs with kvm_flush_remote_tlbs_with_address
    in slot_handle_level_range. When range based flushes are not enabled
    kvm_flush_remote_tlbs_with_address falls back to kvm_flush_remote_tlbs.
    
    This changes the behavior of many functions that indirectly use
    slot_handle_level_range, iff the range based flushes are enabled. The
    only potential problem I see with this is that kvm->tlbs_dirty will be
    cleared less often, however the only caller of slot_handle_level_range that
    checks tlbs_dirty is kvm_mmu_notifier_invalidate_range_start which
    checks it and does a kvm_flush_remote_tlbs after calling
    kvm_unmap_hva_range anyway.
    
    Tested: Ran all kvm-unit-tests on a Intel Haswell machine with and
    	without this patch. The patch introduced no new failures.
    Signed-off-by: default avatarBen Gardon <bgardon@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    f285c633
mmu.c 158 KB