kvm_arch_flush_incoherent makes things too slow, and we don't need it. Userspace can flush for us, as the necessary cache maintenance instruction is not (necessarily) privileged. Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> --- arch/arm/kvm/mmu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c index 2f45db9cd436a..b2d87587a9d79 100644 --- a/arch/arm/kvm/mmu.c +++ b/arch/arm/kvm/mmu.c @@ -1822,6 +1822,11 @@ int kvm_arch_create_memslot(struct kvm *kvm, struct kvm_memory_slot *slot, void kvm_arch_flush_incoherent(struct kvm *kvm, struct kvm_memory_slot *slot) { + /* + * We no longer need this function, now that userspace does the + * flushing. + */ +#if 0 if (slot->flags & KVM_MEM_READONLY) { /* * Readonly memory shouldn't be changing, and we do a @@ -1840,6 +1845,7 @@ void kvm_arch_flush_incoherent(struct kvm *kvm, struct kvm_memory_slot *slot) */ coherent_cache_memslot(slot, true); +#endif } void kvm_arch_invalidate_incoherent(struct kvm *kvm, struct kvm_memory_slot *slot) -- 1.8.3.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm