
Support pv-spinlock feature to improved spin lock performance for performance tuning. Zengruan Ye (5): KVM: arm64: Add SMCCC PV-sched to kick cpu KVM: arm64: Implement PV_SCHED_KICK_CPU call KVM: arm64: Add interface to support PV qspinlock KVM: arm64: Enable PV qspinlock KVM: arm64: Add tracepoints for PV qspinlock Documentation/virt/kvm/arm/pvsched.rst | 16 +++++ arch/arm64/Kconfig | 13 ++++ arch/arm64/configs/openeuler_defconfig | 1 + arch/arm64/include/asm/kvm_host.h | 2 + arch/arm64/include/asm/paravirt.h | 37 ++++++++++ arch/arm64/include/asm/qspinlock.h | 35 +++++++++ arch/arm64/include/asm/qspinlock_paravirt.h | 12 ++++ arch/arm64/include/asm/spinlock.h | 3 + arch/arm64/kernel/Makefile | 1 + arch/arm64/kernel/paravirt-spinlocks.c | 5 ++ arch/arm64/kernel/paravirt.c | 78 +++++++++++++++++++++ arch/arm64/kernel/trace-paravirt.h | 66 +++++++++++++++++ arch/arm64/kvm/arm.c | 4 +- arch/arm64/kvm/handle_exit.c | 1 + arch/arm64/kvm/hypercalls.c | 3 + arch/arm64/kvm/pvsched.c | 28 ++++++++ arch/arm64/kvm/trace_arm.h | 18 +++++ include/linux/arm-smccc.h | 6 ++ 18 files changed, 328 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/include/asm/qspinlock_paravirt.h create mode 100644 arch/arm64/kernel/trace-paravirt.h -- 2.33.0