linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/5] KVM/x86/hyper-V: Introduce PV guest address space mapping flush support
@ 2018-07-09  9:02 Tianyu Lan
  2018-07-09  9:02 ` [PATCH V2 1/5] X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall support Tianyu Lan
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Tianyu Lan @ 2018-07-09  9:02 UTC (permalink / raw)
  Cc: Tianyu Lan, devel, Haiyang Zhang, hpa, kvm, KY Srinivasan,
	linux-kernel, mingo, pbonzini, rkrcmar, Stephen Hemminger, tglx,
	x86, Michael Kelley (EOSG),
	vkuznets

Hyper-V provides a para-virtualization hypercall HvFlushGuestPhysicalAddressSpace
to flush nested VM address space mapping in l1 hypervisor and it's to reduce overhead
of flushing ept tlb among vcpus. The tradition way is to send IPIs to all affected
vcpus and executes INVEPT on each vcpus. It will trigger several vmexits for IPI and
INVEPT emulation. The pv hypercall can help to flush specified ept table on all vcpus
via one single hypercall.

Change since v1:
       - Fix compilation error for non-x86 platform.
       - Use ept_pointers_match to check condition of identical ept
table pointer and get ept pointer from struct vcpu_vmx->ept_pointer.
       - Add hyperv_nested_flush_guest_mapping ftrace support

Lan Tianyu (5):
  X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall
    support
  KVM: Add tlb remote flush callback in kvm_x86_ops.
  KVM/VMX: Add identical ept table pointer check
  KVM/x86: Add tlb_remote_flush callback support for vmx
  X86/Hyper-V: Add hyperv_nested_flush_guest_mapping ftrace support

 arch/x86/hyperv/Makefile            |  2 +-
 arch/x86/hyperv/nested.c            | 67 +++++++++++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h  |  8 +++++
 arch/x86/include/asm/kvm_host.h     | 11 ++++++
 arch/x86/include/asm/mshyperv.h     |  2 ++
 arch/x86/include/asm/trace/hyperv.h | 14 ++++++++
 arch/x86/kvm/vmx.c                  | 59 ++++++++++++++++++++++++++++++++
 include/linux/kvm_host.h            |  7 ++++
 virt/kvm/kvm_main.c                 | 11 +++++-
 9 files changed, 179 insertions(+), 2 deletions(-)
 create mode 100644 arch/x86/hyperv/nested.c

-- 
2.14.3

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-07-18 13:38 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-09  9:02 [PATCH V2 0/5] KVM/x86/hyper-V: Introduce PV guest address space mapping flush support Tianyu Lan
2018-07-09  9:02 ` [PATCH V2 1/5] X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall support Tianyu Lan
2018-07-10 21:29   ` Michael Kelley (EOSG)
2018-07-11  6:01     ` Tianyu Lan
2018-07-09  9:02 ` [PATCH V2 2/5] KVM: Add tlb remote flush callback in kvm_x86_ops Tianyu Lan
2018-07-18 11:57   ` Paolo Bonzini
2018-07-18 12:01   ` Paolo Bonzini
2018-07-18 13:25     ` Tianyu Lan
2018-07-09  9:02 ` [PATCH V2 3/5] KVM/VMX: Add identical ept table pointer check Tianyu Lan
2018-07-18 11:59   ` Paolo Bonzini
2018-07-18 13:38     ` Tianyu Lan
2018-07-09  9:02 ` [PATCH V2 4/5] KVM/x86: Add tlb_remote_flush callback support for vmx Tianyu Lan
2018-07-09  9:02 ` [PATCH V2 5/5] X86/Hyper-V: Add hyperv_nested_flush_guest_mapping ftrace support Tianyu Lan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).