Answers inline
Internal Use - Confidential > -----Original Message----- > From: fengchengwen <[email protected]> > Sent: Tuesday, November 11, 2025 5:26 PM > To: Bathija, Pravin <[email protected]>; [email protected] > Cc: [email protected] > Subject: Re: [PATCH v3 5/5] vhost_user: Increase number of memory regions > > > [EXTERNAL EMAIL] > > On 11/11/2025 7:34 PM, Bathija, Pravin wrote: > > Responses inline. > > > > > > Internal Use - Confidential > >> -----Original Message----- > >> From: fengchengwen <[email protected]> > >> Sent: Tuesday, November 4, 2025 12:12 AM > >> To: Bathija, Pravin <[email protected]>; [email protected] > >> Cc: [email protected] > >> Subject: Re: [PATCH v3 5/5] vhost_user: Increase number of memory > >> regions > >> > >> > >> [EXTERNAL EMAIL] > >> > >> On 11/4/2025 12:21 PM, Pravin M Bathija wrote: > >>> In this patch the number of memory regions are increased from > >>> 8 to 128. When a vhost-user front-end such as qemu or libblkio > >>> queries the back-end such as dpdk with the message, get max number > >>> of memory slots, the back-end replies with this number 128 instead > >>> of the previously defined 8. The back-end also allocates that many > >>> slots in the memory table where regions are added/removed as > >>> requested by the vhost-user front-end. This also helps the vhost- > >>> user front-end to limit the number of memory regions when sending > >>> the set mem table message ar adding memory regions. > >>> > >>> Signed-off-by: Pravin M Bathija <[email protected]> > >>> --- > >>> lib/vhost/vhost_user.h | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/lib/vhost/vhost_user.h b/lib/vhost/vhost_user.h index > >>> 5a0e747b58..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 > >> > >> The address translation may increase a lot if the real region is 128. > >> Maybe we should add another patch to optimize it. > > > > Could you please share more thoughts on this ? Are you concerned about > the number of addresses and translation table bloat ? What optimization are > you suggesting ? > > Because each memory region is independent and does not overlap, maybe we > could use binary search to optimize it. >From what I gather, both of your latest comments, for patches 4 and 5 are >related to performance impact because of 128 memory regions. My thoughts on >this are, I will work on an algorithm to optimize as you suggested. Meanwhile >we could approve patches 1-4. The rest of the implementation does not need 128 >memory regions. The existing 8 regions are fine. I put in this change as I >felt it makes the system scale more and was also suggested by Maxime. I think >patches 1-4 stand by themselves and have been thoroughly tested. Please let me >know your thoughts on this. > > > > >> > >>> > >>> #define VHOST_USER_NET_SUPPORTED_FEATURES \ > >>> (VIRTIO_NET_SUPPORTED_FEATURES | \ > > > >

