[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/17] virtio-net: enable ioeventfd even if vhost=off
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 01/17] virtio-net: enable ioeventfd even if vhost=off |
Date: |
Thu, 19 Jan 2017 23:09:04 +0200 |
From: Paolo Bonzini <address@hidden>
virtio-net-pci does not enable ioeventfd for historical reasons (and
nobody ever checked whether it should be revisited). Note that other
backends do enable ioeventfd for virtio-net.
However, it has a major effect on performance. On Windows, throughput is
_multiplied_ by 2 or 3 on TCP_STREAM (on small packets it is "only" a 30%
improvement) and a little less so on TCP_MAERTS albeit still very much
statistically significant. Latency also has a single digit improvement.
This is not visible when using vhost, which forces ioeventfd=on, but it
is substantial without vhost. In addition, also on Windows and with the
RHEL 7.3 kernel, APICv seems to slow down virtio-net performance a bit,
but the penalty with this patch goes from -25% to -7%.
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/virtio/virtio-pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 854b8f2..8baaf2b 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -2278,7 +2278,7 @@ static const TypeInfo virtio_serial_pci_info = {
static Property virtio_net_properties[] = {
DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
- VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, false),
+ VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 3),
DEFINE_PROP_END_OF_LIST(),
};
--
MST
- [Qemu-devel] [PULL 00/17] virtio, vhost, pc: fixes, features, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 01/17] virtio-net: enable ioeventfd even if vhost=off,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 02/17] Revert "virtio: turn vq->notification into a nested counter", Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 03/17] virtio: disable notifications again after poll succeeded, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 04/17] vhost_net: device IOTLB support, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 06/17] fw-cfg: turn FW_CFG_FILE_SLOTS into a device property, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 07/17] pc: Add 2.9 machine-types, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 05/17] fw-cfg: support writeable blobs, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 08/17] fw-cfg: bump "x-file-slots" to 0x20 for 2.9+ machine types, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 09/17] virtio: drop an obsolete comment, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 10/17] virtio_mmio: add standard header file, Michael S. Tsirkin, 2017/01/19
- [Qemu-devel] [PULL 11/17] virtio-mmio: switch to linux headers, Michael S. Tsirkin, 2017/01/19