* PCI device perf limitation
@ 2020-03-27 22:17 Mohammad El-Shabani
0 siblings, 0 replies; only message in thread
From: Mohammad El-Shabani @ 2020-03-27 22:17 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]
Hi,
I noticed a perf issue in my own pci device, and managed to reproduce it
with the pci-testdev with a small patch. Here:
1. diff --git a/hw/misc/pci-testdev.c b/hw/misc/pci-testdev.c
2. index 188de4d9cc..b2e225d25b 100644
3. --- a/hw/misc/pci-testdev.c
4. +++ b/hw/misc/pci-testdev.c
5. @@ -252,7 +252,7 @@ static void pci_testdev_realize(PCIDevice *pci_dev
, Error **errp)
6. pci_conf[PCI_INTERRUPT_PIN] = 0; /* no interrupt pin */
7.
8. memory_region_init_io(&d->mmio, OBJECT(d), &pci_testdev_mmio_ops, d,
9. - "pci-testdev-mmio", IOTEST_MEMSIZE * 2);
10. + "pci-testdev-mmio", 256 * 1024 * 1024);
11. memory_region_init_io(&d->portio, OBJECT(d), &pci_testdev_pio_ops, d,
12. "pci-testdev-portio", IOTEST_IOSIZE * 2);
13. pci_register_bar(pci_dev, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &d->mmio
);
Before my patch, I could start a VM with 32 of these devices happily. I can
ssh to the VM within a minute. I also see that once the VM is up, I see
small amount of kvm activity, i.e. less than 100 kvm exits a second.
After the patch, I can start no more than 3 devices. If I do, I seems like
QEMU gets to a state of thrashing. The VM never comes up, and I see the
following:
kvm statistics - summary
Event Total %Total CurAvg/s
kvm_fpu 52166411 46.8 2773738
kvm_userspace_exit 26083186 23.4 1386869
kvm_vcpu_wakeup 25415616 22.8 1386869
I tried to trace the kvm exit reason, but I get:
qemu-system-x86 83801 [090] 10892345.982869:
kvm:kvm_userspace_exit: reason KVM_EXIT_UNKNOWN (0)
I am wondering if this is known performance limitation on io memory region?
Is there a way around it?
Thanks,
Mo
[-- Attachment #2: Type: text/html, Size: 23586 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-03-28 1:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-27 22:17 PCI device perf limitation Mohammad El-Shabani
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).