[PATCH v5 2/4] vhost_user: header defines for add/rem mem region
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Jan 15 15:33:14 CET 2026
Hello,
On Thu, Jan 15, 2026 at 9:02 AM Bathija, Pravin <Pravin.Bathija at dell.com> wrote:
>
> Dear Maxime,
>
> Responses inline.
>
>
> Internal Use - Confidential
> > -----Original Message-----
> > From: Maxime Coquelin <maxime.coquelin at redhat.com>
> > Sent: Tuesday, January 6, 2026 8:08 AM
> > To: Bathija, Pravin <Pravin.Bathija at dell.com>; dev at dpdk.org
> > Cc: pravin.m.bathija.dev at gmail.com
> > Subject: Re: [PATCH v5 2/4] vhost_user: header defines for add/rem mem
> > region
> >
> >
> > [EXTERNAL EMAIL]
> >
> >
> >
> > On 11/13/25 1:44 PM, Pravin M Bathija wrote:
> > > The changes in this file cover the enum message requests for
> > > supporting add/remove memory regions. The front-end vhost-user client
> > > sends messages like get max memory slots, add memory region and remove
> > > memory region which are covered in these changes which are on the
> > > vhost-user back-end. The changes also include data structure
> > > definition of memory region to be added/removed. The data structure
> > > VhostUserMsg has been changed to include the memory region.
> > >
> > > Signed-off-by: Pravin M Bathija <pravin.bathija at dell.com>
> > > ---
> > > lib/vhost/vhost_user.h | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/lib/vhost/vhost_user.h b/lib/vhost/vhost_user.h index
> > > ef486545ba..5a0e747b58 100644
> > > --- a/lib/vhost/vhost_user.h
> > > +++ b/lib/vhost/vhost_user.h
> > > @@ -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 be enabled only once the feature is actually implemented, otherwise
> > bisection may fail.
>
> So to clarify, you are suggesting, this change ought to be the final patch in the patch-set ?
Yes.
Because here you are advertising support for a feature that is not yet
implemented.
> >
> > > (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;
>
More information about the dev
mailing list