[PATCH v1 0/2] Enable HvNotifyLongSpinWait for Hyper-V

From: Yi Sun
Date: Fri Oct 19 2018 - 09:39:52 EST


The HvNotifyLongSpinWait hypercall is used by a guest
OS to notify the hypervisor that the calling virtual
processor is attempting to acquire a resource that is
potentially held by another virtual processor within
the same Virtual Machine. This scheduling hint improves
the scalability of VMs with more than one virtual
processor on Hyper-V.

Per MSFT TLFS, the retry number is sent to hypervisor
only when the retry number exceeds the recommended
number. If recommended number is 0xFFFFFFFF, never retry.

The recommended number if got from EBX of Implementation
Recommendations MSR (0x40000004).

This patch set bases on latest tip branch because below
patch set has not been merged into main branch.
[PATCH v4 0/2] Enable PV qspinlock for Hyper-V

Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Michael Kelley (EOSG) <Michael.H.Kelley@xxxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>

Yi Sun (2):
x86/hyperv: get number of spinlock retry on Hyper-V
x86/hyperv: call HVCALL_NOTIFY_LONG_SPIN_WAIT

arch/x86/hyperv/hv_spinlock.c | 18 ++++++++++++++++++
arch/x86/include/asm/mshyperv.h | 4 ++++
arch/x86/kernel/cpu/mshyperv.c | 1 +
kernel/locking/qspinlock_paravirt.h | 10 ++++++++++
4 files changed, 33 insertions(+)

--
1.9.1