Re: [PATCH v3 uq/master 0/6] kvm: Get coalesced MMIO flushing out of the hot-path

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

 



On Thu, Aug 23, 2012 at 01:02:28PM +0200, Jan Kiszka wrote:
> This is just a repost, now targeting uq/master as agreed. No changes
> compared to v2 except that "i82378: Remove bogus MMIO coalescing" was
> dropped as it is already in QEMU upstream by now.
> 
> Original description:
> 
> We currently flush the coalesced MMIO buffer on every vmexit to
> userspace. KVM only provides a single buffer per VM, so a central lock
> is required to read from it. This is a contention point given a large
> enough VCPU set. Moreover, we need to hold the BQL while replaying the
> queued requests, probably for a long time until there is more fine
> grained locking available. Good reasons to overcome the unconditional
> flush.
> 
> The series achieves this by flushing only on selected memory region
> accesses, either generically via the memory access dispatcher or
> directly on certain VGA PIO accesses that are not yet fully converted.
> Another reason to flush are remappings or other relevant region state
> changes.
> 
> Jan Kiszka (6):
>   memory: Flush coalesced MMIO on selected region access
>   memory: Use transaction_begin/commit also for single-step operations
>   memory: Fold memory_region_update_topology into
>     memory_region_transaction_commit
>   memory: Flush coalesced MMIO on mapping and state changes
>   VGA: Flush coalesced MMIO on related MMIO/PIO accesses
>   kvm: Stop flushing coalesced MMIO on vmexit
> 
>  hw/cirrus_vga.c |    7 ++++
>  hw/qxl.c        |    1 +
>  hw/vga-isa-mm.c |    1 +
>  hw/vga.c        |    5 +++
>  hw/vmware_vga.c |    1 +
>  kvm-all.c       |    2 -
>  memory.c        |  104 ++++++++++++++++++++++++++++++++-----------------------
>  memory.h        |   26 ++++++++++++++
>  8 files changed, 102 insertions(+), 45 deletions(-)
> 
> -- 
> 1.7.3.4

Applied, thanks.

--
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