drivers/vhost/net.c | 88 +++++++++++++++++++++--------- drivers/vhost/vhost.c | 123 ++++++++++++++++++++++++++++++++++-------- drivers/vhost/vhost.h | 8 ++- 3 files changed, 171 insertions(+), 48 deletions(-)
Hi all, This series implements VIRTIO_F_IN_ORDER support for vhost-net. This feature is designed to improve the performance of the virtio ring by optimizing descriptor processing. Benchmarks show a notable improvement. Please see patch 3 for details. Changes since V1: - add a new patch to fail early when vhost_add_used() fails - drop unused parameters of vhost_add_used_ooo() - conisty nheads for vhost_add_used_in_order() - typo fixes and other tweaks Thanks Jason Wang (3): vhost: fail early when __vhost_add_used() fails vhost: basic in order support vhost_net: basic in_order support drivers/vhost/net.c | 88 +++++++++++++++++++++--------- drivers/vhost/vhost.c | 123 ++++++++++++++++++++++++++++++++++-------- drivers/vhost/vhost.h | 8 ++- 3 files changed, 171 insertions(+), 48 deletions(-) -- 2.39.5
On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > feature is designed to improve the performance of the virtio ring by > optimizing descriptor processing. > > Benchmarks show a notable improvement. Please see patch 3 for details. You tagged these as net-next but just to be clear -- these don't apply for us in the current form.
On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > > On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > > feature is designed to improve the performance of the virtio ring by > > optimizing descriptor processing. > > > > Benchmarks show a notable improvement. Please see patch 3 for details. > > You tagged these as net-next but just to be clear -- these don't apply > for us in the current form. > Will rebase and send a new version. Thanks
On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: > On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > > > > On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > > > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > > > feature is designed to improve the performance of the virtio ring by > > > optimizing descriptor processing. > > > > > > Benchmarks show a notable improvement. Please see patch 3 for details. > > > > You tagged these as net-next but just to be clear -- these don't apply > > for us in the current form. > > > > Will rebase and send a new version. > > Thanks Indeed these look as if they are for my tree (so I put them in linux-next, without noticing the tag). But I also guess guest bits should be merged in the same cycle as host bits, less confusion. -- MST
On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: > > On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > > > > > > On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > > > > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > > > > feature is designed to improve the performance of the virtio ring by > > > > optimizing descriptor processing. > > > > > > > > Benchmarks show a notable improvement. Please see patch 3 for details. > > > > > > You tagged these as net-next but just to be clear -- these don't apply > > > for us in the current form. > > > > > > > Will rebase and send a new version. > > > > Thanks > > Indeed these look as if they are for my tree (so I put them in > linux-next, without noticing the tag). I think that's also fine. Do you prefer all vhost/vhost-net patches to go via your tree in the future? (Note that the reason for the conflict is because net-next gets UDP GSO feature merged). > > But I also guess guest bits should be merged in the same cycle > as host bits, less confusion. Work for me, I will post guest bits. Thanks > > -- > MST >
On 7/17/25 8:01 AM, Jason Wang wrote: > On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: >> On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: >>> On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: >>>> >>>> On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: >>>>> This series implements VIRTIO_F_IN_ORDER support for vhost-net. This >>>>> feature is designed to improve the performance of the virtio ring by >>>>> optimizing descriptor processing. >>>>> >>>>> Benchmarks show a notable improvement. Please see patch 3 for details. >>>> >>>> You tagged these as net-next but just to be clear -- these don't apply >>>> for us in the current form. >>>> >>> >>> Will rebase and send a new version. >>> >>> Thanks >> >> Indeed these look as if they are for my tree (so I put them in >> linux-next, without noticing the tag). > > I think that's also fine. > > Do you prefer all vhost/vhost-net patches to go via your tree in the future? > > (Note that the reason for the conflict is because net-next gets UDP > GSO feature merged). FTR, I thought that such patches should have been pulled into the vhost tree, too. Did I miss something? Thanks, Paolo
On Thu, Jul 17, 2025 at 9:52 PM Paolo Abeni <pabeni@redhat.com> wrote: > > On 7/17/25 8:01 AM, Jason Wang wrote: > > On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: > >> On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: > >>> On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > >>>> > >>>> On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > >>>>> This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > >>>>> feature is designed to improve the performance of the virtio ring by > >>>>> optimizing descriptor processing. > >>>>> > >>>>> Benchmarks show a notable improvement. Please see patch 3 for details. > >>>> > >>>> You tagged these as net-next but just to be clear -- these don't apply > >>>> for us in the current form. > >>>> > >>> > >>> Will rebase and send a new version. > >>> > >>> Thanks > >> > >> Indeed these look as if they are for my tree (so I put them in > >> linux-next, without noticing the tag). > > > > I think that's also fine. > > > > Do you prefer all vhost/vhost-net patches to go via your tree in the future? > > > > (Note that the reason for the conflict is because net-next gets UDP > > GSO feature merged). > > FTR, I thought that such patches should have been pulled into the vhost > tree, too. Did I miss something? See: https://www.spinics.net/lists/netdev/msg1108896.html > > Thanks, > > Paolo > Thanks
On 7/18/25 4:04 AM, Jason Wang wrote: > On Thu, Jul 17, 2025 at 9:52 PM Paolo Abeni <pabeni@redhat.com> wrote: >> On 7/17/25 8:01 AM, Jason Wang wrote: >>> On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: >>>> On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: >>>>> On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: >>>>>> >>>>>> On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: >>>>>>> This series implements VIRTIO_F_IN_ORDER support for vhost-net. This >>>>>>> feature is designed to improve the performance of the virtio ring by >>>>>>> optimizing descriptor processing. >>>>>>> >>>>>>> Benchmarks show a notable improvement. Please see patch 3 for details. >>>>>> >>>>>> You tagged these as net-next but just to be clear -- these don't apply >>>>>> for us in the current form. >>>>>> >>>>> >>>>> Will rebase and send a new version. >>>>> >>>>> Thanks >>>> >>>> Indeed these look as if they are for my tree (so I put them in >>>> linux-next, without noticing the tag). >>> >>> I think that's also fine. >>> >>> Do you prefer all vhost/vhost-net patches to go via your tree in the future? >>> >>> (Note that the reason for the conflict is because net-next gets UDP >>> GSO feature merged). >> >> FTR, I thought that such patches should have been pulled into the vhost >> tree, too. Did I miss something? > > See: https://www.spinics.net/lists/netdev/msg1108896.html I'm sorry I likely was not clear in my previous message. My question is: any special reason to not pull the UDP tunnel GSO series into the vhost tree, too? Thanks, Paolo
On Fri, Jul 18, 2025 at 11:19:26AM +0200, Paolo Abeni wrote: > On 7/18/25 4:04 AM, Jason Wang wrote: > > On Thu, Jul 17, 2025 at 9:52 PM Paolo Abeni <pabeni@redhat.com> wrote: > >> On 7/17/25 8:01 AM, Jason Wang wrote: > >>> On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: > >>>> On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: > >>>>> On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > >>>>>> > >>>>>> On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > >>>>>>> This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > >>>>>>> feature is designed to improve the performance of the virtio ring by > >>>>>>> optimizing descriptor processing. > >>>>>>> > >>>>>>> Benchmarks show a notable improvement. Please see patch 3 for details. > >>>>>> > >>>>>> You tagged these as net-next but just to be clear -- these don't apply > >>>>>> for us in the current form. > >>>>>> > >>>>> > >>>>> Will rebase and send a new version. > >>>>> > >>>>> Thanks > >>>> > >>>> Indeed these look as if they are for my tree (so I put them in > >>>> linux-next, without noticing the tag). > >>> > >>> I think that's also fine. > >>> > >>> Do you prefer all vhost/vhost-net patches to go via your tree in the future? > >>> > >>> (Note that the reason for the conflict is because net-next gets UDP > >>> GSO feature merged). > >> > >> FTR, I thought that such patches should have been pulled into the vhost > >> tree, too. Did I miss something? > > > > See: https://www.spinics.net/lists/netdev/msg1108896.html > > I'm sorry I likely was not clear in my previous message. My question is: > any special reason to not pull the UDP tunnel GSO series into the vhost > tree, too? > > Thanks, > > Paolo Paolo I'm likely confused. That series is in net-next, right? So now it would be work to drop it from there, and invalidate all the testing it got there, for little benefit - the merge conflict is easy to resolve. -- MST
On 7/18/25 11:29 AM, Michael S. Tsirkin wrote: > Paolo I'm likely confused. That series is in net-next, right? > So now it would be work to drop it from there, and invalidate > all the testing it got there, for little benefit - > the merge conflict is easy to resolve. Yes, that series is in net-next now. My understanding of the merge plan was to pull such series in _both_ the net-next and the vhost tree. Pulling from a stable public branch allows constant commit hashes in both trees, avoids conflicts with later vhost patches in the vhost tree and with later virtio_net/tun/tap patches in net-next and also avoid conflicts at merge window time. We do (in net-next) that sort of hashes sharing from time to time for cross-subtrees changes, like this one. But not a big deal if you didn't/don't pull the thing in the vhost tree. At this point, merging it will be likely quite complex and there will be likely no gains on vhost tree management side. Perhaps we could use this schema next time. Thanks, Paolo
On Thu, Jul 17, 2025 at 02:01:06PM +0800, Jason Wang wrote: > On Thu, Jul 17, 2025 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > > > On Thu, Jul 17, 2025 at 10:03:00AM +0800, Jason Wang wrote: > > > On Thu, Jul 17, 2025 at 8:04 AM Jakub Kicinski <kuba@kernel.org> wrote: > > > > > > > > On Mon, 14 Jul 2025 16:47:52 +0800 Jason Wang wrote: > > > > > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > > > > > feature is designed to improve the performance of the virtio ring by > > > > > optimizing descriptor processing. > > > > > > > > > > Benchmarks show a notable improvement. Please see patch 3 for details. > > > > > > > > You tagged these as net-next but just to be clear -- these don't apply > > > > for us in the current form. > > > > > > > > > > Will rebase and send a new version. > > > > > > Thanks > > > > Indeed these look as if they are for my tree (so I put them in > > linux-next, without noticing the tag). > > I think that's also fine. > > Do you prefer all vhost/vhost-net patches to go via your tree in the future? > > (Note that the reason for the conflict is because net-next gets UDP > GSO feature merged). Whatever is easier really. Generally I do core vhost but if there is a conflict we can do net-next. > > > > But I also guess guest bits should be merged in the same cycle > > as host bits, less confusion. > > Work for me, I will post guest bits. > > Thanks > > > > > -- > > MST > >
Tested this series of patches v2 with "virtio-net-pci,..,in_order=on", regression tests pass. Tested-by: Lei Yang <leiyang@redhat.com> On Mon, Jul 14, 2025 at 4:48 PM Jason Wang <jasowang@redhat.com> wrote: > > Hi all, > > This series implements VIRTIO_F_IN_ORDER support for vhost-net. This > feature is designed to improve the performance of the virtio ring by > optimizing descriptor processing. > > Benchmarks show a notable improvement. Please see patch 3 for details. > > Changes since V1: > - add a new patch to fail early when vhost_add_used() fails > - drop unused parameters of vhost_add_used_ooo() > - conisty nheads for vhost_add_used_in_order() > - typo fixes and other tweaks > > Thanks > > Jason Wang (3): > vhost: fail early when __vhost_add_used() fails > vhost: basic in order support > vhost_net: basic in_order support > > drivers/vhost/net.c | 88 +++++++++++++++++++++--------- > drivers/vhost/vhost.c | 123 ++++++++++++++++++++++++++++++++++-------- > drivers/vhost/vhost.h | 8 ++- > 3 files changed, 171 insertions(+), 48 deletions(-) > > -- > 2.39.5 > >
© 2016 - 2025 Red Hat, Inc.