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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux