]> git.ipfire.org Git - thirdparty/linux.git/commit
virtio_ring: add in order support
authorJason Wang <jasowang@redhat.com>
Tue, 30 Dec 2025 06:46:49 +0000 (14:46 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 31 Dec 2025 10:47:50 +0000 (05:47 -0500)
commitf6a15d85498614baf121f7e207e6c55524f175a4
tree90020c0075e6d0e4f3a2f1dbe5321ae2698e5392
parent519b206e30a37f16cfa88a2f6a508642f7d8fd0c
virtio_ring: add in order support

This patch implements in order support for both split virtqueue and
packed virtqueue. Performance could be gained for the device where the
memory access could be expensive (e.g vhost-net or a real PCI device):

Benchmark with KVM guest:

Vhost-net on the host: (pktgen + XDP_DROP):

         in_order=off | in_order=on | +%
    TX:  4.51Mpps     | 5.30Mpps    | +17%
    RX:  3.47Mpps     | 3.61Mpps    | + 4%

Vhost-user(testpmd) on the host: (pktgen/XDP_DROP):

For split virtqueue:

         in_order=off | in_order=on | +%
    TX:  5.60Mpps     | 5.60Mpps    | +0.0%
    RX:  9.16Mpps     | 9.61Mpps    | +4.9%

For packed virtqueue:

         in_order=off | in_order=on | +%
    TX:  5.60Mpps     | 5.70Mpps    | +1.7%
    RX:  10.6Mpps     | 10.8Mpps    | +1.8%

Benchmark also shows no performance impact for in_order=off for queue
size with 256 and 1024.

Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251230064649.55597-20-jasowang@redhat.com>
drivers/virtio/virtio_ring.c