PV sched supports the vCPU preemption check to enhance lock performance on
overcommitted hosts
Zengruan Ye (5):
KVM: arm64: Document PV-sched interface
KVM: arm64: Implement PV_SCHED_FEATURES call
KVM: arm64: Support pvsched preempted via shared structure
KVM: arm64: Add interface to support vCPU preempted check
KVM: arm64: Support the vCPU preemption check
Documentation/virt/kvm/arm/pvsched.rst | 58 ++++++++++++++
arch/arm64/Kconfig | 11 +++
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/include/asm/kvm_host.h | 32 ++++++++
arch/arm64/include/asm/paravirt.h | 11 +++
arch/arm64/include/asm/pvsched-abi.h | 16 ++++
arch/arm64/include/asm/spinlock.h | 8 ++
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/paravirt-spinlocks.c | 16 ++++
arch/arm64/kernel/paravirt.c | 107 +++++++++++++++++++++++++
arch/arm64/kvm/Makefile | 2 +-
arch/arm64/kvm/arm.c | 10 +++
arch/arm64/kvm/hypercalls.c | 17 ++++
arch/arm64/kvm/pvsched.c | 54 +++++++++++++
include/linux/arm-smccc.h | 19 +++++
include/linux/cpuhotplug.h | 1 +
16 files changed, 363 insertions(+), 2 deletions(-)
create mode 100644 Documentation/virt/kvm/arm/pvsched.rst
create mode 100644 arch/arm64/include/asm/pvsched-abi.h
create mode 100644 arch/arm64/kernel/paravirt-spinlocks.c
create mode 100644 arch/arm64/kvm/pvsched.c
--
2.33.0