Re: [PATCH V10 19/19] virtio_ring: add in order support
From: Jason Wang
Date: Wed Dec 24 2025 - 23:20:35 EST
On Wed, Dec 24, 2025 at 4:06 PM Eugenio Perez Martin
<eperezma@xxxxxxxxxx> wrote:
>
> On Wed, Dec 24, 2025 at 1:34 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
> >
> > 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.
> >
> > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> >
> > fix
>
> Extra "fix" here?
My bad, let me fix that.
>
> Reviewed-by: Eugenio Pérez <eperezma@xxxxxxxxxx>
>
> Thanks!
[...]
> > +
> > + if (unlikely(last_used >= num)) {
> > + BAD_RING(vq, "id %u out of range\n", last_used);
> > + return NULL;
> > + }
>
> This check cannot be true, but it does not harm so it is totally ok to
> fix on top later.
Will fix this in V11.
Thanks