Skip to content

Commit 3756b6f

Browse files
rananta468Marc Zyngier
authored andcommitted
KVM: arm64: Flush only the memslot after write-protect
After write-protecting the region, currently KVM invalidates the entire TLB entries using kvm_flush_remote_tlbs(). Instead, scope the invalidation only to the targeted memslot. If supported, the architecture would use the range-based TLBI instructions to flush the memslot or else fallback to flushing all of the TLBs. Signed-off-by: Raghavendra Rao Ananta <rananta@google.com> Reviewed-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Shaoqin Huang <shahuang@redhat.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230811045127.3308641-13-rananta@google.com
1 parent c42b6f0 commit 3756b6f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/arm64/kvm/mmu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1083,7 +1083,7 @@ static void kvm_mmu_wp_memory_region(struct kvm *kvm, int slot)
10831083
write_lock(&kvm->mmu_lock);
10841084
stage2_wp_range(&kvm->arch.mmu, start, end);
10851085
write_unlock(&kvm->mmu_lock);
1086-
kvm_flush_remote_tlbs(kvm);
1086+
kvm_flush_remote_tlbs_memslot(kvm, memslot);
10871087
}
10881088

10891089
/**

0 commit comments

Comments
 (0)