From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: xuanzhuo@linux.alibaba.com, eperezma@redhat.com,
virtualization@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2 00/19] virtio_ring in order support
Date: Wed, 28 May 2025 08:50:54 -0400 [thread overview]
Message-ID: <20250528084904-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20250528064234.12228-1-jasowang@redhat.com>
On Wed, May 28, 2025 at 02:42:15PM +0800, Jason Wang wrote:
> Hello all:
>
> This sereis tries to implement the VIRTIO_F_IN_ORDER to
> virtio_ring. This is done by introducing virtqueue ops so we can
> implement separate helpers for different virtqueue layout/features
> then the in-order were implemented on top.
>
> Tests shows 3%-5% imporvment with packed virtqueue PPS with KVM guest
> testpmd on the host.
ok this looks quite clean. We are in the merge window so not merging new
intrusive stuff, but after rc2 or so pls ping me I will put it in next.
> Changes since V1:
>
> - use const global array of function pointers to avoid indirect
> branches to eliminate retpoline when mitigation is enabled
> - fix used length calculation when processing used ids in a batch
> - fix sparse warnings
>
> Please review.
>
> Thanks
>
> Jason Wang (19):
> virtio_ring: rename virtqueue_reinit_xxx to virtqueue_reset_xxx()
> virtio_ring: switch to use vring_virtqueue in virtqueue_poll variants
> virtio_ring: unify logic of virtqueue_poll() and more_used()
> virtio_ring: switch to use vring_virtqueue for virtqueue resize
> variants
> virtio_ring: switch to use vring_virtqueue for virtqueue_kick_prepare
> variants
> virtio_ring: switch to use vring_virtqueue for virtqueue_add variants
> virtio: switch to use vring_virtqueue for virtqueue_add variants
> virtio_ring: switch to use vring_virtqueue for enable_cb_prepare
> variants
> virtio_ring: use vring_virtqueue for enable_cb_delayed variants
> virtio_ring: switch to use vring_virtqueue for disable_cb variants
> virtio_ring: switch to use vring_virtqueue for detach_unused_buf
> variants
> virtio_ring: use u16 for last_used_idx in virtqueue_poll_split()
> virtio_ring: introduce virtqueue ops
> virtio_ring: determine descriptor flags at one time
> virtio_ring: factor out core logic of buffer detaching
> virtio_ring: factor out core logic for updating last_used_idx
> virtio_ring: factor out split indirect detaching logic
> virtio_ring: factor out split detaching logic
> virtio_ring: add in order support
>
> drivers/virtio/virtio_ring.c | 896 ++++++++++++++++++++++++++---------
> 1 file changed, 684 insertions(+), 212 deletions(-)
>
> --
> 2.31.1
next prev parent reply other threads:[~2025-05-28 12:51 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-28 6:42 [PATCH V2 00/19] virtio_ring in order support Jason Wang
2025-05-28 6:42 ` [PATCH V2 01/19] virtio_ring: rename virtqueue_reinit_xxx to virtqueue_reset_xxx() Jason Wang
2025-05-28 6:42 ` [PATCH V2 02/19] virtio_ring: switch to use vring_virtqueue in virtqueue_poll variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 03/19] virtio_ring: unify logic of virtqueue_poll() and more_used() Jason Wang
2025-05-28 6:42 ` [PATCH V2 04/19] virtio_ring: switch to use vring_virtqueue for virtqueue resize variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 05/19] virtio_ring: switch to use vring_virtqueue for virtqueue_kick_prepare variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 06/19] virtio_ring: switch to use vring_virtqueue for virtqueue_add variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 07/19] virtio: " Jason Wang
2025-05-28 6:42 ` [PATCH V2 08/19] virtio_ring: switch to use vring_virtqueue for enable_cb_prepare variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 09/19] virtio_ring: use vring_virtqueue for enable_cb_delayed variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 10/19] virtio_ring: switch to use vring_virtqueue for disable_cb variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 11/19] virtio_ring: switch to use vring_virtqueue for detach_unused_buf variants Jason Wang
2025-05-28 6:42 ` [PATCH V2 12/19] virtio_ring: use u16 for last_used_idx in virtqueue_poll_split() Jason Wang
2025-05-28 6:42 ` [PATCH V2 13/19] virtio_ring: introduce virtqueue ops Jason Wang
2025-05-28 6:42 ` [PATCH V2 14/19] virtio_ring: determine descriptor flags at one time Jason Wang
2025-05-28 6:42 ` [PATCH V2 15/19] virtio_ring: factor out core logic of buffer detaching Jason Wang
2025-05-28 6:42 ` [PATCH V2 16/19] virtio_ring: factor out core logic for updating last_used_idx Jason Wang
2025-05-28 6:42 ` [PATCH V2 17/19] virtio_ring: factor out split indirect detaching logic Jason Wang
2025-05-28 6:42 ` [PATCH V2 18/19] virtio_ring: factor out split " Jason Wang
2025-05-28 6:42 ` [PATCH V2 19/19] virtio_ring: add in order support Jason Wang
2025-05-28 15:04 ` kernel test robot
2025-05-28 7:10 ` [PATCH V2 00/19] virtio_ring " Eugenio Perez Martin
2025-05-28 12:50 ` Michael S. Tsirkin [this message]
2025-05-29 2:23 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250528084904-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.