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

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

 



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.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---

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(-)
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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