[PATCHv2 0/4] arm64:kvm: teach guest sched that VCPUs can be preempted

From: Sergey Senozhatsky
Date: Fri Jul 09 2021 - 00:37:36 EST


Hello,

This patch set adds a simple vcpu_is_preempted() implementation so
that scheduler can make better decisions when it search for the idle
(v)CPU.

For sched benchmarks please refer to [0].

[0] https://github.com/sergey-senozhatsky/arm64-vcpu_is_preempted

v2:
- 5.13 rebase (static calls, etc)
- simplified and reworked some bits

Sergey Senozhatsky (4):
arm64: smccc: Add SMCCC pv-vcpu-state function call IDs
arm64: add guest pvstate support
arm64: do not use dummy vcpu_is_preempted()
arm64: add host pv-vcpu-state support

arch/arm64/include/asm/kvm_host.h | 23 ++++++++
arch/arm64/include/asm/paravirt.h | 19 +++++++
arch/arm64/include/asm/spinlock.h | 18 +++---
arch/arm64/kernel/paravirt.c | 94 +++++++++++++++++++++++++++++++
arch/arm64/kernel/smp.c | 4 ++
arch/arm64/kvm/Makefile | 3 +-
arch/arm64/kvm/arm.c | 3 +
arch/arm64/kvm/hypercalls.c | 11 ++++
arch/arm64/kvm/pv-vcpu-state.c | 64 +++++++++++++++++++++
include/linux/arm-smccc.h | 18 ++++++
10 files changed, 248 insertions(+), 9 deletions(-)
create mode 100644 arch/arm64/kvm/pv-vcpu-state.c

--
2.32.0.93.g670b81a890-goog