On Thu, May 30, 2024 at 05:22:22PM +0200, Albert Esteve wrote: > Hi all, > > This is an early attempt to have backends > support dynamic fd mapping into shared > memory regions. As such, there are a few > things that need settling, so I wanted to > post this first to have some early feedback. > > The usecase for this is, e.g., to support > vhost-user-gpu RESOURCE_BLOB operations, > or DAX Window request for virtio-fs. In > general, any operation where a backend > would need to mmap an fd to a shared > memory so that the guest can access it.
I wanted to mention that this sentence confuses me because: - The frontend will mmap an fd into the guest's memory space so that a VIRTIO Shared Memory Region is exposed to the guest. The backend requests the frontend to perform this operation. The backend does not invoke mmap itself. - "Shared memory" is ambiguous. Please call it VIRTIO Shared Memory Region to differentiate from vhost-user shared memory tables/regions. > The request will be processed by the VMM, > that will, in turn, trigger a mmap with > the instructed parameters (i.e., shmid, > shm_offset, fd_offset, fd, lenght). > > As there are already a couple devices > that could benefit of such a feature, > and more could require it in the future, > my intention was to make it generic. > > To that end, I declared the shared > memory region list in `VirtIODevice`. > I could add a couple commodity > functions to add new regions to the list, > so that the devices can use them. But > I wanted to gather some feedback before > refining it further, as I am probably > missing some required steps/or security > concerns that I am not taking into account. > > Albert Esteve (1): > vhost-user: add shmem mmap request > > docs/interop/vhost-user.rst | 23 ++++++++ > hw/virtio/vhost-user.c | 106 ++++++++++++++++++++++++++++++++++++ > hw/virtio/virtio.c | 2 + > include/hw/virtio/virtio.h | 3 + > 4 files changed, 134 insertions(+) > > -- > 2.44.0 >
signature.asc
Description: PGP signature