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@xxxxxxxxxxxx/ 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