qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] kvm-unittests: add pci PORT IO and MMIO speed tests
@ 2013-04-03  8:59 Michael S. Tsirkin
  2013-04-03  8:59 ` [Qemu-devel] [PATCH 1/4] kvm: remove unused APIs Michael S. Tsirkin
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Michael S. Tsirkin @ 2013-04-03  8:59 UTC (permalink / raw)
  To: qemu-devel, kvm, pbonzini, gleb, mtosatti

These patches add a test device, useful to measure speed of MMIO versus PIO, in
different configurations. As I didn't want to reserve a hardcoded range
of memory, I added pci device for this instead.  Used together with the
kvm unittest patches I posted on kvm mailing list.

To use, simply add the device on the pci bus.
Example test output:
	mmio-no-eventfd:pci-mem 8796
	mmio-wildcard-eventfd:pci-mem 3609
	mmio-datamatch-eventfd:pci-mem 3685
	portio-no-eventfd:pci-io 5287
	portio-wildcard-eventfd:pci-io 1762
	portio-datamatch-eventfd:pci-io 1777

First interesting conclusion is that the overhead of MMIO
exit to QEMU as compared to PIO is double that of
MMIO ioeventfd as compared to PIO eventfd. Is this a known fact?

I also had to extend kvm in a minor way, making all ioeventfd
options accessible through the API. This actually needs less code
than checking that users DTRT.

What's the best way to merge this patchset?
I'm guessing the kvm tree ...

Michael S. Tsirkin (4):
  kvm: remove unused APIs
  kvm: support any size for pio eventfd
  kvm: support non datamatch ioeventfd
  pci: add pci test device

 hw/i386/Makefile.objs |   2 +-
 hw/pci-testdev.c      | 306 ++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/pci/pci.h          |   1 +
 include/sysemu/kvm.h  |   4 -
 kvm-all.c             | 133 +++++++++++-----------
 kvm-stub.c            |  10 --
 6 files changed, 376 insertions(+), 80 deletions(-)
 create mode 100644 hw/pci-testdev.c

-- 
MST

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [Qemu-devel] [PULL  0/4] pci: add pci test device
@ 2013-04-18  8:00 Michael S. Tsirkin
  2013-04-18  8:00 ` [Qemu-devel] [PATCH 4/4] " Michael S. Tsirkin
  0 siblings, 1 reply; 28+ messages in thread
From: Michael S. Tsirkin @ 2013-04-18  8:00 UTC (permalink / raw)
  To: qemu-devel, Anthony Liguori; +Cc: mst

The following changes since commit e2ec3f976803b360c70d9ae2ba13852fa5d11665:

  qjson: to_json() case QTYPE_QSTRING is buggy, rewrite (2013-04-13 19:40:25 +0000)

are available in the git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony

for you to fetch changes up to 22773d6066a7f01a95f78c270edf9dbd2e755ac3:

  pci: add pci test device (2013-04-16 01:41:53 +0300)

----------------------------------------------------------------
pci: add pci test device

This adds a new device that we can use for testing PCI PIO and MMIO, with and
without ioeventfd in different configurations.  FAST_MMIO will be added if/when
kvm supports it.  Also included are minor cleanups in kvm APIs that it needs.

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

----------------------------------------------------------------
Michael S. Tsirkin (4):
      kvm: remove unused APIs
      kvm: support any size for pio eventfd
      kvm: support non datamatch ioeventfd
      pci: add pci test device

 default-configs/pci.mak    |   1 +
 docs/specs/pci-testdev.txt |  26 ++++
 hw/misc/Makefile.objs      |   1 +
 hw/misc/pci-testdev.c      | 325 +++++++++++++++++++++++++++++++++++++++++++++
 include/hw/pci/pci.h       |   1 +
 include/sysemu/kvm.h       |   4 -
 kvm-all.c                  | 133 ++++++++++---------
 kvm-stub.c                 |  10 --
 8 files changed, 422 insertions(+), 79 deletions(-)
 create mode 100644 docs/specs/pci-testdev.txt
 create mode 100644 hw/misc/pci-testdev.c

Michael S. Tsirkin (4):
  kvm: remove unused APIs
  kvm: support any size for pio eventfd
  kvm: support non datamatch ioeventfd
  pci: add pci test device

 default-configs/pci.mak    |   1 +
 docs/specs/pci-testdev.txt |  26 ++++
 hw/misc/Makefile.objs      |   1 +
 hw/misc/pci-testdev.c      | 325 +++++++++++++++++++++++++++++++++++++++++++++
 include/hw/pci/pci.h       |   1 +
 include/sysemu/kvm.h       |   4 -
 kvm-all.c                  | 133 ++++++++++---------
 kvm-stub.c                 |  10 --
 8 files changed, 422 insertions(+), 79 deletions(-)
 create mode 100644 docs/specs/pci-testdev.txt
 create mode 100644 hw/misc/pci-testdev.c

-- 
MST

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2013-04-18  8:59 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-03  8:59 [Qemu-devel] [PATCH 0/4] kvm-unittests: add pci PORT IO and MMIO speed tests Michael S. Tsirkin
2013-04-03  8:59 ` [Qemu-devel] [PATCH 1/4] kvm: remove unused APIs Michael S. Tsirkin
2013-04-03  8:59 ` [Qemu-devel] [PATCH 2/4] kvm: support any size for pio eventfd Michael S. Tsirkin
2013-04-03  8:59 ` [Qemu-devel] [PATCH 3/4] kvm: support non datamatch ioeventfd Michael S. Tsirkin
2013-04-03  8:59 ` [Qemu-devel] [PATCH 4/4] pci: add pci test device Michael S. Tsirkin
2013-04-03  9:28   ` Paolo Bonzini
2013-04-03  9:45     ` Michael S. Tsirkin
2013-04-03  9:53       ` Paolo Bonzini
2013-04-03 10:22         ` Michael S. Tsirkin
2013-04-03 10:25           ` Paolo Bonzini
2013-04-03 10:33             ` Michael S. Tsirkin
2013-04-03 10:34               ` Paolo Bonzini
2013-04-03 10:38                 ` Michael S. Tsirkin
2013-04-03 11:48                   ` Paolo Bonzini
2013-04-03 12:00                     ` Michael S. Tsirkin
2013-04-03 12:05                       ` Paolo Bonzini
2013-04-03 14:06                         ` Michael S. Tsirkin
2013-04-03 14:08                           ` Paolo Bonzini
2013-04-03 14:28                             ` Michael S. Tsirkin
2013-04-03 15:46                               ` Paolo Bonzini
2013-04-03 17:04                                 ` Michael S. Tsirkin
2013-04-03 17:10                                   ` Paolo Bonzini
2013-04-03 14:33                             ` Michael S. Tsirkin
2013-04-03 15:09                             ` Michael S. Tsirkin
2013-04-03 15:43                               ` Paolo Bonzini
2013-04-03 18:39                                 ` Michael S. Tsirkin
2013-04-03 19:59                                   ` Paolo Bonzini
  -- strict thread matches above, loose matches on Subject: below --
2013-04-18  8:00 [Qemu-devel] [PULL 0/4] " Michael S. Tsirkin
2013-04-18  8:00 ` [Qemu-devel] [PATCH 4/4] " Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).