Re: [RFC 0/5] In virtio-spec 1.1, new feature bit VIRTIO_F_IN_ORDER was introduced.

From: Guo Zhi
Date: Thu Jul 21 2022 - 07:54:58 EST


On 2022/7/21 17:17, Jason Wang wrote:
On Thu, Jul 21, 2022 at 4:44 PM Guo Zhi <qtxuning1999@xxxxxxxxxxx> wrote:
When this feature has been negotiated, virtio driver will use
descriptors in ring order: starting from offset 0 in the table, and
wrapping around at the end of the table. Vhost devices will always use
descriptors in the same order in which they have been made available.
This can reduce virtio accesses to used ring.

Based on updated virtio-spec, this series realized IN_ORDER prototype
in virtio driver and vhost.
Thanks a lot for the series.

I wonder if you can share any performance numbers for this?

Thanks

As a RFC series, current prototype only support virtio_test, and its performance evaluation between

in order and traditional has little difference. We can focus on the prototype design at this stage.

I will continue work to support real network driver and device, thus share more persuasive performance result.

Thanks.

Guo Zhi (5):
vhost: reorder used descriptors in a batch
vhost: announce VIRTIO_F_IN_ORDER support
vhost_test: batch used buffer
virtio: get desc id in order
virtio: annouce VIRTIO_F_IN_ORDER support

drivers/vhost/test.c | 15 +++++++++++-
drivers/vhost/vhost.c | 44 ++++++++++++++++++++++++++++++++++--
drivers/vhost/vhost.h | 4 ++++
drivers/virtio/virtio_ring.c | 39 +++++++++++++++++++++++++-------
4 files changed, 91 insertions(+), 11 deletions(-)

--
2.17.1