diff options
author | Ben Gardon | 2019-03-12 19:45:59 +0100 |
---|---|---|
committer | Paolo Bonzini | 2019-03-28 17:28:57 +0100 |
commit | f285c633cb6d68d2bf3a8ad65bee3835aac9886c (patch) | |
tree | 58657b50af4d6435d38d76cafdfa9a233cbe26e5 /virt | |
parent | KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported (diff) | |
download | kernel-qcow2-linux-f285c633cb6d68d2bf3a8ad65bee3835aac9886c.tar.gz kernel-qcow2-linux-f285c633cb6d68d2bf3a8ad65bee3835aac9886c.tar.xz kernel-qcow2-linux-f285c633cb6d68d2bf3a8ad65bee3835aac9886c.zip |
kvm: mmu: Used range based flushing in slot_handle_level_range
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: Ben Gardon <bgardon@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions