[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230516234444-mutt-send-email-mst@kernel.org>
Date: Tue, 16 May 2023 23:46:01 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: zhenwei pi <pizhenwei@...edance.com>
Cc: stefanha@...hat.com, jasowang@...hat.com,
xuanzhuo@...ux.alibaba.com,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/2] virtio: abstract virtqueue related methods
On Wed, May 17, 2023 at 10:54:22AM +0800, zhenwei pi wrote:
> v1 -> v2:
> - Suggested by MST, use fast path for vring based performance
> sensitive API.
> - Reduce changes in tools/virtio.
>
> Add test result(no obvious change):
> Before:
> time ./vringh_test --parallel
> Using CPUS 0 and 191
> Guest: notified 10036893, pinged 68278
> Host: notified 68278, pinged 3093532
>
> real 0m14.463s
> user 0m6.437s
> sys 0m8.010s
>
> After:
> time ./vringh_test --parallel
> Using CPUS 0 and 191
> Guest: notified 10036709, pinged 68347
> Host: notified 68347, pinged 3085292
>
> real 0m14.196s
> user 0m6.289s
> sys 0m7.885s
>
> v1:
> Hi,
>
> 3 weeks ago, I posted a proposal 'Virtio Over Fabrics':
> https://lists.oasis-open.org/archives/virtio-comment/202304/msg00442.html
>
> Jason and Stefan pointed out that a non-vring based virtqueue has a
> chance to overwrite virtqueue instead of using vring virtqueue.
>
> Then I try to abstract virtqueue related methods in this series, the
> details changes see the comment of patch 'virtio: abstract virtqueue related methods'.
>
> Something is still remained:
> - __virtqueue_break/__virtqueue_unbreak is supposed to use by internal
> virtio core, I'd like to rename them to vring_virtqueue_break
> /vring_virtqueue_unbreak. Is this reasonable?
Why? These just set a flag?
> - virtqueue_get_desc_addr/virtqueue_get_avail_addr/virtqueue_get_used_addr
> /virtqueue_get_vring is vring specific, I'd like to rename them like
> vring_virtqueue_get_desc_addr. Is this reasonable?
> - there are still some functions in virtio_ring.c with prefix *virtqueue*,
> for example 'virtqueue_add_split', just keep it or rename it to
> 'vring_virtqueue_add_split'?
> zhenwei pi (2):
> virtio: abstract virtqueue related methods
> tools/virtio: implement virtqueue in test
>
> drivers/virtio/virtio_ring.c | 285 +++++-----------------
> include/linux/virtio.h | 441 +++++++++++++++++++++++++++++++----
> include/linux/virtio_ring.h | 26 +++
> tools/virtio/linux/virtio.h | 355 +++++++++++++++++++++++++---
> 4 files changed, 807 insertions(+), 300 deletions(-)
>
> --
> 2.20.1
Powered by blists - more mailing lists