All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] KVM: x86: hyperv: PV IPI support for Windows guests
@ 2018-06-29 14:14 Vitaly Kuznetsov
  2018-06-29 14:14 ` [PATCH v3 1/5] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS Vitaly Kuznetsov
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Vitaly Kuznetsov @ 2018-06-29 14:14 UTC (permalink / raw)
  To: kvm
  Cc: x86, Paolo Bonzini, Radim Krčmář, Roman Kagan,
	K. Y. Srinivasan, Haiyang Zhang, Stephen Hemminger,
	Michael Kelley (EOSG), Mohammed Gamal, Cathy Avery, Wanpeng Li,
	linux-kernel

Changes since v1 [Roman Kagan]:
- Drop vp_index_to_vcpu_idx mapping. get_vcpu_by_vpidx() should be fast
  (1:1 mapping) in all valid use-cases. We'll optimize it later if needed
  (or at least discuss this in a separate patchset).
- "enforce vp_index < KVM_MAX_VCPUS" patch added.
- Issues reported by kbuild are now gone with the PATCH2 from v2.

Using hypercall for sending IPIs is faster because this allows to specify
any number of vCPUs (even > 64 with sparse CPU set), the whole procedure
will take only one VMEXIT.

Same as PV TLB flush, this allows Windows guests having > 64 vCPUs to boot
on KVM when Hyper-V extensions are enabled.

Vitaly Kuznetsov (5):
  KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS
  KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()
  KVM: x86: hyperv: use get_vcpu_by_vpidx() in kvm_hv_flush_tlb()
  x86/hyper-v: rename ipi_arg_{ex,non_ex} structures
  KVM: x86: hyperv: implement PV IPI send hypercalls

 Documentation/virtual/kvm/api.txt  |   8 ++
 arch/x86/hyperv/hv_apic.c          |  12 +--
 arch/x86/include/asm/hyperv-tlfs.h |  16 +--
 arch/x86/kvm/hyperv.c              | 194 +++++++++++++++++++++++++++----------
 arch/x86/kvm/trace.h               |  42 ++++++++
 arch/x86/kvm/x86.c                 |   1 +
 include/uapi/linux/kvm.h           |   1 +
 virt/kvm/kvm_main.c                |   6 +-
 8 files changed, 210 insertions(+), 70 deletions(-)

-- 
2.14.4

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

end of thread, other threads:[~2018-06-29 16:53 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-29 14:14 [PATCH v3 0/5] KVM: x86: hyperv: PV IPI support for Windows guests Vitaly Kuznetsov
2018-06-29 14:14 ` [PATCH v3 1/5] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS Vitaly Kuznetsov
2018-06-29 14:14 ` [PATCH v3 2/5] KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb() Vitaly Kuznetsov
2018-06-29 14:14 ` [PATCH v3 3/5] KVM: x86: hyperv: use get_vcpu_by_vpidx() " Vitaly Kuznetsov
2018-06-29 15:01   ` Roman Kagan
2018-06-29 15:21     ` Vitaly Kuznetsov
2018-06-29 16:26       ` Roman Kagan
2018-06-29 16:47         ` Vitaly Kuznetsov
2018-06-29 16:53         ` Roman Kagan
2018-06-29 14:14 ` [PATCH v3 4/5] x86/hyper-v: rename ipi_arg_{ex,non_ex} structures Vitaly Kuznetsov
2018-06-29 14:14 ` [PATCH v3 5/5] KVM: x86: hyperv: implement PV IPI send hypercalls Vitaly Kuznetsov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.