The following is an updated revision of the kvm vcpu to rcuwait conversion[0], following the work on completions using simple waitqueues. Changes from v2: - new patch 3 which adds prepare_to_rcuwait and finish_rcu helpers. - fixed broken sleep and tracepoint semantics in patch 4. (Marc and Paolo) This has only been run tested on x86 but compile tested on mips, powerpc and arm32. This series applies on top of current -tip. [0] https://lore.kernel.org/lkml/20200320085527.23861-3-dave@xxxxxxxxxxxx/ Thanks! Davidlohr Bueso (5): rcuwait: Fix stale wake call name in comment rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken rcuwait: Introduce prepare_to and finish_rcuwait 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 | 23 +++++++++++++++++------ 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 | 19 +++++++++---------- 14 files changed, 63 insertions(+), 71 deletions(-) -- 2.16.4