From: "Eugenio Pérez" <eperezma@redhat.com>
To: jasowang@redhat.com
Cc: "Yongji Xie" <xieyongji@bytedance.com>,
"Cindy Lu" <lulu@redhat.com>,
linux-kernel@vger.kernel.org,
"Eugenio Pérez" <eperezma@redhat.com>,
"Stefano Garzarella" <sgarzare@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Maxime Coquelin" <mcoqueli@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
virtualization@lists.linux.dev,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Laurent Vivier" <lvivier@redhat.com>
Subject: [RFC 0/6] Add multiple address spaces support to VDUSE
Date: Fri, 6 Jun 2025 13:50:06 +0200 [thread overview]
Message-ID: <20250606115012.1331551-1-eperezma@redhat.com> (raw)
When used by vhost-vDPA bus driver for VM, the control virtqueue
should be shadowed via userspace VMM (QEMU) instead of being assigned
directly to Guest. This is because QEMU needs to know the device state
in order to start and stop device correctly (e.g for Live Migration).
This requies to isolate the memory mapping for control virtqueue
presented by vhost-vDPA to prevent guest from accessing it directly.
This patches introduces the multiple address spaces support for VDUSE
device. This idea is to identify a specific address space via an
dedicated identifier - ASID.
The VDUSE device needs to report the number of virtqueue groups and the
association with each virtqueue, and also the number of address space
supported. Then, the vDPA driver can modify the ASID assigned to each
VQ group to isolate the memory AS. This is already done for vdpa_sim and
nvidia mlx5 devices.
This helps to isolate the environments for the virtqueues that will not
be assigned directly. E.g in the case of virtio-net, the control
virtqueue will not be assigned directly to guest.
This is an RFC has only been tested with vhost_vdpa, so it deserves more
testing with virtio_vdpa. And it still has some TODOs pending. Sending
to gather early feedback.
Also, to be able to test this patch, the user needs to manually revert
56e71885b034 ("vduse: Temporarily fail if control queue feature requested").
Eugenio Pérez (6):
vduse: add v1 API definition
vduse: add vq group support
vduse: add vq group asid support
vduse: send update_iotlb_v2 message
vduse: reset group asid in reset
vduse: bump version number
drivers/vdpa/vdpa_user/vduse_dev.c | 307 ++++++++++++++++++++++-------
include/uapi/linux/vduse.h | 64 +++++-
2 files changed, 298 insertions(+), 73 deletions(-)
--
2.49.0
next reply other threads:[~2025-06-06 11:50 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-06 11:50 Eugenio Pérez [this message]
2025-06-06 11:50 ` [RFC 1/6] vduse: add v1 API definition Eugenio Pérez
2025-06-09 1:41 ` Jason Wang
2025-06-09 1:50 ` Jason Wang
2025-06-09 6:10 ` Eugenio Perez Martin
2025-06-10 8:35 ` Jason Wang
2025-08-07 10:55 ` Eugenio Perez Martin
2025-08-08 0:50 ` Jason Wang
2025-08-10 10:18 ` Eugenio Perez Martin
2025-08-11 2:58 ` Jason Wang
2025-08-11 9:01 ` Eugenio Perez Martin
2025-08-12 2:55 ` Jason Wang
2025-08-12 6:03 ` Eugenio Perez Martin
2025-06-06 11:50 ` [RFC 2/6] vduse: add vq group support Eugenio Pérez
2025-06-09 1:55 ` Jason Wang
2025-06-09 6:03 ` Eugenio Perez Martin
2025-06-10 8:53 ` Jason Wang
2025-06-06 11:50 ` [RFC 3/6] vduse: add vq group asid support Eugenio Pérez
2025-06-12 0:30 ` Jason Wang
2025-06-12 7:24 ` Eugenio Perez Martin
2025-06-13 1:21 ` Jason Wang
2025-08-07 11:10 ` Eugenio Perez Martin
2025-06-06 11:50 ` [RFC 4/6] vduse: send update_iotlb_v2 message Eugenio Pérez
2025-06-06 11:50 ` [RFC 5/6] vduse: reset group asid in reset Eugenio Pérez
2025-06-12 0:32 ` Jason Wang
2025-06-12 7:24 ` Eugenio Perez Martin
2025-06-06 11:50 ` [RFC 6/6] vduse: bump version number Eugenio Pérez
2025-06-09 5:51 ` [RFC 0/6] Add multiple address spaces support to VDUSE Christoph Hellwig
2025-06-20 6:25 ` Eugenio Perez Martin
2025-06-23 5:09 ` Christoph Hellwig
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=20250606115012.1331551-1-eperezma@redhat.com \
--to=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lulu@redhat.com \
--cc=lvivier@redhat.com \
--cc=mcoqueli@redhat.com \
--cc=mst@redhat.com \
--cc=sgarzare@redhat.com \
--cc=stefanha@redhat.com \
--cc=virtualization@lists.linux.dev \
--cc=xieyongji@bytedance.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®