14/07/2020 11:32, Burakov, Anatoly: > On 14-Jul-20 8:26 AM, Zhike Wang wrote: > > If allocation is successful on the first attempt, typically > > there is no problem since we allocated everything required and > > we'll terminate the loop (if memory chunk is really sufficient > > to populate required number of mempool elements). > > > > If the first attempt fails, we try to allocate half > > of mem_size and it succeed, we'll have one more iteration of > > the for-loop to allocate memory for remaining elements and > > should not try the next time with quarter of the mem_size. > > > > It is wrong that max_alloc_size is divided by 2 in the > > case of successful allocation as well, or invalid memory > > can be allocated, and leads to population failure, then errno > > other than ENOMEM may be returned. > > > > Fixes: 3a3d0c75b43e ("mempool: fix slow allocation of large pools")
Cc: sta...@dpdk.org > > Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> > > Signed-off-by: Zhike Wang <wangzh...@jd.com> > > Acked-by: Anatoly Burakov <anatoly.bura...@intel.com> Applied, thanks