[lkml]   [2019]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v1 2/2] virtio-mmio: add features for virtio-mmio specification version 3

On 2019/12/25 上午10:50, Zha Bin wrote:
> From: Liu Jiang <>
> Userspace VMMs (e.g. Qemu microvm, Firecracker) take advantage of using
> virtio over mmio devices as a lightweight machine model for modern
> cloud. The standard virtio over MMIO transport layer only supports one
> legacy interrupt, which is much heavier than virtio over PCI transport
> layer using MSI. Legacy interrupt has long work path and causes specific
> VMExits in following cases, which would considerably slow down the
> performance:
> 1) read interrupt status register
> 2) update interrupt status register
> 3) write IOAPIC EOI register
> We proposed to update virtio over MMIO to version 3[1] to add the
> following new features and enhance the performance.
> 1) Support Message Signaled Interrupt(MSI), which increases the
> interrupt performance for virtio multi-queue devices
> 2) Support per-queue doorbell, so the guest kernel may directly write
> to the doorbells provided by virtio devices.
> The following is the network tcp_rr performance testing report, tested
> with virtio-pci device, vanilla virtio-mmio device and patched
> virtio-mmio device (run test 3 times for each case):
> netperf -t TCP_RR -H -l 30 -- -r 32,1024
> Virtio-PCI Virtio-MMIO Virtio-MMIO(MSI)
> trans/s 9536 6939 9500
> trans/s 9734 7029 9749
> trans/s 9894 7095 9318
> [1]

Thanks for the patch. Two questions after a quick glance:

1) In PCI we choose to support MSI-X instead of MSI for having extra
flexibility like alias, independent data and address (e.g for affinity)
. Any reason for not start from MSI-X? E.g having MSI-X table and PBA
(both of which looks pretty independent).
2) It's better to split notify_multiplexer out of MSI support to ease
the reviewers (apply to spec patch as well)


 \ /
  Last update: 2019-12-25 11:22    [W:0.203 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site