| From: |
| Eugenio Pérez <eperezma-AT-redhat.com> |
| To: |
| "Michael S . Tsirkin" <mst-AT-redhat.com> |
| Subject: |
| [PATCH 0/6] Add queue ready message to VDUSE |
| Date: |
| Wed, 28 Jan 2026 13:45:18 +0100 |
| Message-ID: |
| <20260128124524.875271-1-eperezma@redhat.com> |
| Cc: |
| Jason Wang <jasowang-AT-redhat.com>, Xuan Zhuo <xuanzhuo-AT-linux.alibaba.com>, Cindy Lu <lulu-AT-redhat.com>, Laurent Vivier <lvivier-AT-redhat.com>, Stefano Garzarella <sgarzare-AT-redhat.com>, linux-kernel-AT-vger.kernel.org, Maxime Coquelin <mcoqueli-AT-redhat.com>, Yongji Xie <xieyongji-AT-bytedance.com>, Eugenio Pérez <eperezma-AT-redhat.com>, virtualization-AT-lists.linux.dev |
| Archive-link: |
| Article |
This series introduces a new VDUSE message for VDUSE userland instance to
detect when a VirtQueue (VQ) is enabled, replacing the polling.
VirtIO net devices' dataplane is started after the control virtqueue so QEMU
can apply the configuration in the destination of a Live Migration. Without
this feature, the VDUSE instance must poll the VQs to check when (and if) a VQ
has been enabled.
This series also implements VDUSE feature flags allowing the VDUSE devices to
opt-in to the VQ ready message. Devices that opt-in to this feature will
receive explicit notifications when a VQ is ready. Devices that do not set this
flag remain unaffected, ensuring backward compatibility without indefinitely
incrementing API versions.
The VDUSE features is a 64 bit bitmap for simplicity, the same way as vhost and
vhost-net started. It can be extended as a flexible array of bits when we
reach so many features, but it seems unlikely at this point.
This series depends on
https://lore.kernel.org/lkml/20260119143306.1818855-1-epe...
Eugenio Pérez (6):
vduse: ensure vq->ready access is smp safe
vduse: store control device pointer
vduse: Add API v2 definition
vduse: add VDUSE_GET_FEATURES ioctl
vduse: add F_QUEUE_READY feature
vduse: advertise API V2 support
drivers/vdpa/vdpa_user/vduse_dev.c | 100 +++++++++++++++++++++++++----
include/uapi/linux/vduse.h | 30 ++++++++-
2 files changed, 115 insertions(+), 15 deletions(-)
--
2.52.0