public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] KVM: x86: hyperv: PV IPI support for Windows guests
@ 2018-07-03 13:42 Vitaly Kuznetsov
  2018-07-03 13:42 ` [PATCH v4 1/5] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS Vitaly Kuznetsov
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Vitaly Kuznetsov @ 2018-07-03 13:42 UTC (permalink / raw)
  To: kvm
  Cc: 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 v3 [Roman Kagan]:
- Don't use vcpu_id in kvm_make_vcpus_request_mask to avoid dealing with
  sparse CPU masks.
- Create get_vcpu_idx_by_vpidx() and use it in get_vcpu_by_vpidx() and
  kvm_hv_flush_tlb().

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              | 211 +++++++++++++++++++++++++++----------
 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, 224 insertions(+), 73 deletions(-)

-- 
2.14.4


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

end of thread, other threads:[~2018-07-23 11:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-03 13:42 [PATCH v4 0/5] KVM: x86: hyperv: PV IPI support for Windows guests Vitaly Kuznetsov
2018-07-03 13:42 ` [PATCH v4 1/5] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS Vitaly Kuznetsov
2018-07-09 17:56   ` Roman Kagan
2018-07-03 13:42 ` [PATCH v4 2/5] KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb() Vitaly Kuznetsov
2018-07-09 18:19   ` Roman Kagan
2018-07-03 13:42 ` [PATCH v4 3/5] KVM: x86: hyperv: use get_vcpu_by_vpidx() " Vitaly Kuznetsov
2018-07-09 18:30   ` Roman Kagan
2018-07-03 13:42 ` [PATCH v4 4/5] x86/hyper-v: rename ipi_arg_{ex,non_ex} structures Vitaly Kuznetsov
2018-07-09 18:32   ` Roman Kagan
2018-07-03 13:42 ` [PATCH v4 5/5] KVM: x86: hyperv: implement PV IPI send hypercalls Vitaly Kuznetsov
2018-07-23 11:31 ` [PATCH v4 0/5] KVM: x86: hyperv: PV IPI support for Windows guests Vitaly Kuznetsov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox