Re: [PATCH v4 0/5] vduse: Add support for reconnection

From: Cindy Lu
Date: Fri Mar 08 2024 - 02:27:14 EST


On Fri, Mar 8, 2024 at 2:08 PM Jason Wang <jasowang@xxxxxxxxxx> wrote:
>
> On Wed, Feb 7, 2024 at 1:47 PM Cindy Lu <lulu@xxxxxxxxxx> wrote:
> >
> > Here is the reconnect support in vduse,
> >
> > Kernel will allocate pages for reconnection.
> > Userspace needs to use mmap to map the memory to userspace and use these pages to
> > save the reconnect information.
> >
> > test passd in vduse+dpdk-testpmd
> >
> > change in V2
> > 1. Address the comments from v1
> > 2. Add the document for reconnect process
> >
> > change in V3
> > 1. Move the vdpa_vq_state to the uAPI. vduse will use this to synchronize the vq info between the kernel and userspace app.
> > 2. Add a new ioctl VDUSE_DEV_GET_CONFIG. userspace app use this to get config space
> > 3. Rewrite the commit message.
> > 4. Only save the address for the page address and remove the index.
> > 5. remove the ioctl VDUSE_GET_RECONNECT_INFO, userspace app will use uAPI VDUSE_RECONNCT_MMAP_SIZE to mmap
> > 6. Rewrite the document for the reconnect process to make it clearer.
> >
> > change in v4
> > 1. Change the number of map pages to VQ numbers. UserSpace APP can define and maintain the structure for saving reconnection information in userspace. The kernel will not maintain this information.
>
> So this means the structure (e.g inflight descriptors) are application
> specific, we can't do cross application reconnection?
>
> Thanks
>
yes, this is also defined by the application itself. so maybe we can't
support the
cross-application reconnection
thanks
cindy
> > 2. Rewrite the document for the reconnect process to make it clearer.
> > 3. add the new ioctl for VDUSE_DEV_GET_CONFIG/VDUSE_DEV_GET_STATUS
> >
> > Cindy Lu (5):
> > vduse: Add new ioctl VDUSE_DEV_GET_CONFIG
> > vduse: Add new ioctl VDUSE_DEV_GET_STATUS
> > vduse: Add function to get/free the pages for reconnection
> > vduse: Add file operation for mmap
> > Documentation: Add reconnect process for VDUSE
> >
> > Documentation/userspace-api/vduse.rst | 32 +++++++
> > drivers/vdpa/vdpa_user/vduse_dev.c | 125 ++++++++++++++++++++++++++
> > include/uapi/linux/vduse.h | 5 ++
> > 3 files changed, 162 insertions(+)
> >
> > --
> > 2.43.0
> >
>