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

Jason Wang
2024-03-08T08:17:01Z

On Fri, Mar 8, 2024 at 3:27 PM Cindy Lu <lulu@redhat.com> wrote:
>
> On Fri, Mar 8, 2024 at 2:08 PM Jason Wang <jasowang@redhat.com> wrote:
> >
> > On Wed, Feb 7, 2024 at 1:47 PM Cindy Lu <lulu@redhat.com> 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

Well, ok. We can probably start from this but let's document this
explicitly in the doc patch.

Thanks

> > > 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
> > >
> >
>