Skip to content

Enable HvNotifyLongSpinWait for Hyper-V

Yi Sun lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 22 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2x86/hyperv: get spinlock retry number on Hyper-Varch/x86/include/asm/mshyperv.h arch/x86/kernel/cpu/mshyperv.c+4 -00 replies
2/2x86/hyperv: make HvNotifyLongSpinWait hypercallarch/x86/hyperv/hv_spinlock.c arch/x86/include/asm/mshyperv.h kernel/locking/qspinlock_paravirt.h+29 -022 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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" <[email protected]>
Cc Haiyang Zhang <[email protected]>
Cc Stephen Hemminger <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Michael Kelley (EOSG) <[email protected]>
Cc Juergen Gross <[email protected]>

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(+)
Signature · 1 line
1.9.1