[RFC PATCH 0/6] flush/invalidate on entry/exit

Andrew Jones
2015-03-06T18:46:35Z

Userspace flags memory regions as incoherent and kvm flushes/
invalidates those regions on entry/exit from userspace.

Result before patch 6/6: restores coherency, waaaaay toooo sloooooow
Result with patch 6/6: fast again - well, we removed the code...

Andrew Jones (6):
kvm: promote KVM_MEMSLOT_INCOHERENT to uapi
KVM: Introduce incoherent cache maintenance API
KVM: ARM: change __coherent_cache_guest_page interface
KVM: ARM: extend __coherent_cache_guest_page
KVM: ARM: implement kvm_*_incoherent_memory_regions
KVM: ARM: no need for kvm_arch_flush_incoherent

arch/arm/include/asm/kvm_mmu.h | 12 +++----
arch/arm/include/uapi/asm/kvm.h | 1 +
arch/arm/kvm/arm.c | 4 +++
arch/arm/kvm/mmu.c | 72 +++++++++++++++++++++++++++++++++++++--
arch/arm64/include/asm/kvm_mmu.h | 12 ++++---
arch/arm64/include/uapi/asm/kvm.h | 1 +
include/linux/kvm_host.h | 15 +++++++-
include/uapi/linux/kvm.h | 1 +
virt/kvm/kvm_main.c | 45 +++++++++++++++++++++++-
9 files changed, 147 insertions(+), 16 deletions(-)

--
1.8.3.1