[PATCH v2 3/6] vhost: hdr file changes for add/remove mem regions
Maxime Coquelin
mcoqueli at redhat.com
Wed Oct 15 09:36:43 CEST 2025
On Wed, Oct 8, 2025 at 11:05 AM Pravin M Bathija
<pravin.bathija at dell.com> wrote:
>
> * add enums to vhost user request for add/remove
> memory region support
> * data structure that defines single memory region
> * increase max memory regions from 8 to 128
> * 128 add/remove regions tested with qemu virtio with
> testpmd vhost.
The commit message has to be full sentences, explaining the changes but more
importantly the purpose of the patch.
For the title, it should not contain variable names or abbreviations.
This comment applies here and to other patches of the series.
> Signed-off-By: Pravin M Bathija <pravin.bathija at dell.com>
> ---
> lib/vhost/vhost_user.h | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/lib/vhost/vhost_user.h b/lib/vhost/vhost_user.h
> index ef486545ba..c6ad5b76d6 100644
> --- a/lib/vhost/vhost_user.h
> +++ b/lib/vhost/vhost_user.h
> @@ -11,7 +11,7 @@
>
> /* refer to hw/virtio/vhost-user.c */
>
> -#define VHOST_MEMORY_MAX_NREGIONS 8
> +#define VHOST_MEMORY_MAX_NREGIONS 128
>
> #define VHOST_USER_NET_SUPPORTED_FEATURES \
> (VIRTIO_NET_SUPPORTED_FEATURES | \
> @@ -32,6 +32,7 @@
> (1ULL << VHOST_USER_PROTOCOL_F_BACKEND_SEND_FD) | \
> (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \
> (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT) | \
> + (1ULL << VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS) | \
It should only be enabled once the feature works, so likely as the
last patch of this series.
> (1ULL << VHOST_USER_PROTOCOL_F_STATUS))
>
> typedef enum VhostUserRequest {
> @@ -67,6 +68,9 @@ typedef enum VhostUserRequest {
> VHOST_USER_POSTCOPY_END = 30,
> VHOST_USER_GET_INFLIGHT_FD = 31,
> VHOST_USER_SET_INFLIGHT_FD = 32,
> + VHOST_USER_GET_MAX_MEM_SLOTS = 36,
> + VHOST_USER_ADD_MEM_REG = 37,
> + VHOST_USER_REM_MEM_REG = 38,
> VHOST_USER_SET_STATUS = 39,
> VHOST_USER_GET_STATUS = 40,
> } VhostUserRequest;
> @@ -91,6 +95,11 @@ typedef struct VhostUserMemory {
> VhostUserMemoryRegion regions[VHOST_MEMORY_MAX_NREGIONS];
> } VhostUserMemory;
>
> +typedef struct VhostUserSingleMemReg {
> + uint64_t padding;
> + VhostUserMemoryRegion region;
> +} VhostUserSingleMemReg;
> +
> typedef struct VhostUserLog {
> uint64_t mmap_size;
> uint64_t mmap_offset;
> @@ -186,6 +195,7 @@ typedef struct __rte_packed_begin VhostUserMsg {
> struct vhost_vring_state state;
> struct vhost_vring_addr addr;
> VhostUserMemory memory;
> + VhostUserSingleMemReg memory_single;
> VhostUserLog log;
> struct vhost_iotlb_msg iotlb;
> VhostUserCryptoSessionParam crypto_session;
> --
> 2.43.0
>
More information about the dev
mailing list