On 11/13/2025 10:13 AM, Bathija, Pravin wrote: > 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.
I am OK for this. > >> >>> >>>> >>>>> >>>>> #define VHOST_USER_NET_SUPPORTED_FEATURES \ >>>>> (VIRTIO_NET_SUPPORTED_FEATURES | \ >>> >>> > >

