[PATCH 0/3] ringtest: performance optimization

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

 



In order to provide more reliable results, use link-time
optimization to inline the ring implementation in the guest/host
threads.  The second and third patch then are a reimplementation of
https://marc.info/?l=kvm&m=147428514903134&w=2 for all ring structures,
saving on code size by removing separate implementations of poll_avail
and poll_used.

Here are the results of the benchmarks:

	0_9		inorder		poll		new
base    0m10.019s       0m8.001s        0m8.724s        0m7.991s
LTO     0m8.063s        0m6.636s        0m7.106s        0m7.201s
havebuf 0m7.969s        0m6.601s        0m7.097s        0m7.054s


Paolo Bonzini (3):
  ringtest: use link-time optimization
  ringtest: commonize implementation of poll_avail/poll_used
  ringtest: poll for new buffers once before updating event index

 tools/virtio/ringtest/Makefile          |  4 +--
 tools/virtio/ringtest/main.c            | 20 ++++++++---
 tools/virtio/ringtest/main.h            |  4 +--
 tools/virtio/ringtest/noring.c          |  6 ++--
 tools/virtio/ringtest/ptr_ring.c        | 22 +++---------
 tools/virtio/ringtest/ring.c            | 18 ++++------
 tools/virtio/ringtest/virtio_ring_0_9.c | 64 ++++++++-------------------------
 7 files changed, 49 insertions(+), 89 deletions(-)

-- 
2.7.4

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