[PATCH v3 0/7] vduse: Add support for reconnection

From: Cindy Lu
Date: Tue Dec 05 2023 - 03:35:03 EST


Here is the reconnect support in vduse,

Kernel will allocate pages for reconnection.
Userspace needs to use mmap to map the memory to userspace.
The kernel and userspace will use these pages to synchronize 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.

Signed-off-by: Cindy Lu <lulu@xxxxxxxxxx>

Cindy Lu (7):
vdpa: Move struct vdpa_vq_state to uAPI
vduse: Add new uAPI for vduse reconnection
vduse: Add new ioctl VDUSE_DEV_GET_CONFIG
vduse: Add function to get/free the pages for reconnection
vduse: Add file operation for mmap
vduse: Update the vq_info in ioctl VDUSE_VQ_GET_INFO
Documentation: Add reconnect process for VDUSE

Documentation/userspace-api/vduse.rst | 30 +++++
drivers/vdpa/vdpa_user/vduse_dev.c | 184 +++++++++++++++++++++++++-
include/linux/vdpa.h | 29 +---
include/uapi/linux/vdpa.h | 31 +++++
include/uapi/linux/vduse.h | 25 ++++
5 files changed, 270 insertions(+), 29 deletions(-)

--
2.34.3