Skip to content

kvm: locking and API rework for iosignalfd

Michael S. Tsirkin kvm lkml 3 versions Applied

Status from this message: Applied all, thanks.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest0 of 6 patches 2 repliesApplied
  2. v40 of 6 patches 0 repliesSuperseded
  3. v30 of 4 patches 1 replySuperseded

Changes in v5 from the cover letter

Typo fix

Patches in v5 Applied

None of the 6 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCHv5 0/6] kvm: locking and API rework for iosignalfd

This series switches kvm_io_device to slots_lock from kvm->lock mutex, and uses that to rework io bus API. This takes less locks on data path, and uses less lines of code. These changes will also be useful to serve as basis for Greg's iosignalfd work.

---

This works for me, but please review carefully.

Changes since v4:
Typo fix

Changes since v3:
Fix bug noticed by Marcelo
Switch pit creation to slots_lock
Add unlocked variant for bus changes: in use by pit More documentation

Changes since v2:
I have split the patch and reworked along the lines suggested by Avi.

Michael S. Tsirkin (6):
kvm: document locking for kvm_io_device_ops
kvm: switch coalesced mmio changes to slots_lock
kvm: switch pit creation to slots_lock
kvm: convert bus to slots_lock
kvm: remove in_range from io devices
kvm: document lock nesting rule

 arch/ia64/kvm/kvm-ia64.c  |   28 +++--------
 arch/x86/kvm/i8254.c      |   54 +++++++++++----------
 arch/x86/kvm/i8259.c      |   22 +++++----
 arch/x86/kvm/lapic.c      |   44 ++++++++---------
 arch/x86/kvm/x86.c        |  114 +++++++++++++-------------------------------
 include/linux/kvm_host.h  |   11 +++-
 virt/kvm/coalesced_mmio.c |   28 +++++------
 virt/kvm/ioapic.c         |   24 +++++----
 virt/kvm/iodev.h          |   42 +++++++---------
 virt/kvm/kvm_main.c       |   38 +++++++++++----
 10 files changed, 183 insertions(+), 222 deletions(-)