All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Eugenio Pérez" <eperezma@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Laurent Vivier" <lvivier@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Dragos Tatulea DE" <dtatulea@nvidia.com>,
	"Jonah Palmer" <jonah.palmer@oracle.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Eugenio Pérez" <eperezma@redhat.com>,
	"Lei Yang" <leiyang@redhat.com>,
	"Koushik Dutta" <kdutta@redhat.com>,
	"Stefano Garzarella" <sgarzare@redhat.com>,
	qemu-stable@nongnu.org, "Cindy Lu" <lulu@redhat.com>,
	"Maxime Coquelin" <mcoqueli@redhat.com>
Subject: [PATCH 0/7] Add VIRTIO_F_IN_ORDER support to vhost shadow virtqueue
Date: Wed,  4 Mar 2026 18:35:28 +0100	[thread overview]
Message-ID: <20260304173535.2702587-1-eperezma@redhat.com> (raw)

This series adds support for the VIRTIO_F_IN_ORDER feature flag to vhost shadow
virtqueue (SVQ), enabling migration of vDPA devices that offer this feature.
As SVQ acts as a virtio driver, the series follows the Linux kernel
implementation for the feature by Jason Wang.  This enables the live migration
of vhost-vdpa devices that supports IN_ORDER.

The IN_ORDER feature allows virtio devices to use many descriptors in batch,
just by marking the last one of the set as used.

The series is structured in three parts.  First, max_steps calculation in
virtqueue_ordered_fill is fixed to allow filling the entire virtqueue at once.
Otherwise, a full queue cannot be used with just one used entry.

Afterwards, the series extracts helper functions for descriptor processing to
prepare for in order changes:

Finally, the series adds IN_ORDER support, first adding conditional logic for
in-order vs regular processing and whitelisting the feature flag in SVQ.

Eugenio Pérez (7):
  virtio: Allow to fill a whole virtqueue in order
  vhost: move svq next desc array to descs state struct
  vhost: factor out the descriptor next fetching
  vhost: factor out the get of last used desc in SVQ
  vhost: factor out the detach buf logic in SVQ
  vhost: add in_order feature to shadow virtqueue
  vhost: accept in order feature flag

 hw/virtio/vhost-shadow-virtqueue.c | 215 +++++++++++++++++++++++++----
 hw/virtio/vhost-shadow-virtqueue.h |  38 ++++-
 hw/virtio/virtio.c                 |   2 +-
 3 files changed, 219 insertions(+), 36 deletions(-)

-- 
2.53.0



             reply	other threads:[~2026-03-04 17:36 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-04 17:35 Eugenio Pérez [this message]
2026-03-04 17:35 ` [PATCH 1/7] virtio: Allow to fill a whole virtqueue in order Eugenio Pérez
2026-03-06  3:26   ` Jason Wang
2026-03-06  6:22     ` Eugenio Perez Martin
2026-03-09  3:16       ` Jason Wang
2026-03-09  6:19         ` Eugenio Perez Martin
2026-03-10  3:09           ` Jason Wang
2026-03-10  6:21             ` Eugenio Perez Martin
2026-03-11 14:42               ` Jonah Palmer
2026-03-04 17:35 ` [PATCH 2/7] vhost: move svq next desc array to descs state struct Eugenio Pérez
2026-03-09  8:57   ` Jason Wang
2026-03-04 17:35 ` [PATCH 3/7] vhost: factor out the descriptor next fetching Eugenio Pérez
2026-03-09  8:57   ` Jason Wang
2026-03-04 17:35 ` [PATCH 4/7] vhost: factor out the get of last used desc in SVQ Eugenio Pérez
     [not found]   ` <CACGkMEukuUcCuTUpYEG5bdWD9dnJDWh2w50vsdhEbF2E=rNsvA@mail.gmail.com>
     [not found]     ` <CAJaqyWcTav8BWcRio+w4LYsTtAJSvJBJdeLoTdDBYAmh_2jjLg@mail.gmail.com>
2026-03-10  3:07       ` Jason Wang
2026-03-04 17:35 ` [PATCH 5/7] vhost: factor out the detach buf logic " Eugenio Pérez
2026-03-09  8:57   ` Jason Wang
2026-03-09  9:43     ` Eugenio Perez Martin
2026-03-10  3:04       ` Jason Wang
2026-03-10  6:36         ` Eugenio Perez Martin
2026-03-04 17:35 ` [PATCH 6/7] vhost: add in_order feature to shadow virtqueue Eugenio Pérez
2026-03-09  8:57   ` Jason Wang
2026-03-04 17:35 ` [PATCH 7/7] vhost: accept in order feature flag Eugenio Pérez
2026-03-09  8:57   ` Jason Wang
2026-03-11 11:50 ` [PATCH 0/7] Add VIRTIO_F_IN_ORDER support to vhost shadow virtqueue Michael Tokarev
2026-03-11 12:24   ` Eugenio Perez Martin
2026-03-11 13:49     ` Michael Tokarev
2026-05-13  6:45 ` Michael Tokarev

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=20260304173535.2702587-1-eperezma@redhat.com \
    --to=eperezma@redhat.com \
    --cc=dtatulea@nvidia.com \
    --cc=jasowang@redhat.com \
    --cc=jonah.palmer@oracle.com \
    --cc=kdutta@redhat.com \
    --cc=leiyang@redhat.com \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mcoqueli@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    --cc=sgarzare@redhat.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.