[PATCH -tip 0/4] kvm: Use rcuwait for vcpu blocking

Davidlohr Bueso
2020-03-24T04:46:08Z

Hi,

The following is an updated revision of the kvm vcpu to rcuwait conversion[0],
following the work on completions using simple waitqueues.

Changes from then:
- patch 2: Make rcuwait_wake_up() propagate the return value from
wake_up_process - Sebastian and Peter.

- patch 3:
o Added mips changes I missed.
o Fixed broken compilation on power, adding the vcore bits that
kvm-hv uses (a vcore blocking when all vcpus are blocked) - Paolo.
o Use TASK_IDLE instead of TASK_INTERRUPTIBLE - Peter.

- patch 4: fixed swait function name typo.

This has only been run tested on x86 but compile tested on mips, powerpc
and arm32.

This series applies on top of current -tip, which has the required rcuwait
api extension.

[0] https://lore.kernel.org/lkml/20200320085527.23861-3-dave@stgolabs.net/

Thanks!

Davidlohr Bueso (4):
rcuwait: Fix stale wake call name in comment
rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken
kvm: Replace vcpu->swait with rcuwait
sched/swait: Reword some of the main description

arch/mips/kvm/mips.c | 6 ++----
arch/powerpc/include/asm/kvm_book3s.h | 2 +-
arch/powerpc/include/asm/kvm_host.h | 2 +-
arch/powerpc/kvm/book3s_hv.c | 22 ++++++++--------------
arch/powerpc/kvm/powerpc.c | 2 +-
arch/x86/kvm/lapic.c | 2 +-
include/linux/kvm_host.h | 10 +++++-----
include/linux/rcuwait.h | 2 +-
include/linux/swait.h | 23 +++++------------------
kernel/exit.c | 9 ++++++---
virt/kvm/arm/arch_timer.c | 2 +-
virt/kvm/arm/arm.c | 9 +++++----
virt/kvm/async_pf.c | 3 +--
virt/kvm/kvm_main.c | 31 +++++++++++--------------------
14 files changed, 49 insertions(+), 76 deletions(-)

--
2.16.4