qemu-irix/hw/virtio
Jason Wang 851c2a75a6 virtio-pci: speedup MSI-X masking and unmasking
This patch tries to speed up the MSI-X masking and unmasking through
the mapping between vector and queues. With this patch it will there's
no need to go through all possible virtqueues, which may help to
reduce the time spent when doing MSI-X masking/unmasking a single
vector when more than hundreds or even thousands of virtqueues were
supported.

Tested with 80 queue pairs virito-net-pci by changing the smp affinity
in the background and doing netperf in the same time:

Before the patch:
5711.70 Gbits/sec
After the patch:
6830.98 Gbits/sec

About 19.6% improvements in throughput.

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2015-04-27 21:02:41 +02:00
..
dataplane virtio: add feature checking helpers 2015-02-26 13:04:07 +01:00
Makefile.objs
vhost-backend.c vhost: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
vhost-user.c
vhost.c vhost: fix log base address 2015-04-20 09:27:01 +01:00
virtio-balloon.c balloon: improve error msg when adding second device 2015-04-24 14:18:05 -04:00
virtio-bus.c virtio: cull virtio_bus_set_vdev_features 2015-02-26 13:04:07 +01:00
virtio-mmio.c virtio: feature bit manipulation helpers 2015-02-26 13:04:07 +01:00
virtio-pci.c virtio-pci: speedup MSI-X masking and unmasking 2015-04-27 21:02:41 +02:00
virtio-pci.h virtio-pci: Convert to realize() 2015-03-11 18:24:13 +01:00
virtio-rng.c
virtio.c virtio: introduce vector to virtqueues mapping 2015-04-27 21:02:41 +02:00