Since the new rte API was "discussed in recent years" and it is also dependent 
on different driver vendors acceptance - I suggest that the compilation option 
will be applied now.
The new rte API effort will start in parallel. Once accepted - it will replace 
the compilation option.

> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com>
> Sent: Monday, 13 February 2023 16:53
> To: NBU-Contact-Thomas Monjalon (EXTERNAL) <tho...@monjalon.net>
> Cc: Ophir Munk <ophi...@nvidia.com>; dev@dpdk.org; Matan Azrad
> <ma...@nvidia.com>; Lior Margalit <lmarga...@nvidia.com>; Asaf Penso
> <as...@nvidia.com>; david.march...@redhat.com;
> honnappa.nagaraha...@arm.com; jer...@marvell.com; rm...@marvell.com;
> dsinghra...@marvell.com
> Subject: Re: [PATCH v1] config: make max memzones definition configurable
> 
> On Mon, Feb 13, 2023 at 02:55:41PM +0100, Thomas Monjalon wrote:
> > 13/02/2023 12:05, Bruce Richardson:
> > > On Sun, Feb 12, 2023 at 10:53:19AM +0200, Ophir Munk wrote:
> > > > In current DPDK the RTE_MAX_MEMZONE definition is unconditionally
> > > > hard coded as 2560.  For applications requiring different values
> > > > of this parameter – it is more convenient to set its value as part
> > > > of the meson command line rather than changing the dpdk source
> > > > code per application.  An example would be of an application that
> > > > uses the DPDK mempool library which is based on DPDK memzone
> > > > library.  The application may need to create a number of steering
> > > > tables, each of which will require its own mempool allocation.
> > > > This commit adds a meson optional parameter named max_memzones.
> If
> > > > not specified - it is set by default to 2560. The hard coded
> > > > definition of RTE_MAX_MEMZONE is removed. During meson build time
> > > > the RTE_MAX_MEMZONE can be optionally defined as the value of
> max_memzones parameter.
> > > >
> > > > Signed-off-by: Ophir Munk <ophi...@nvidia.com> --- RFC:
> > > >
> https://patchwork.dpdk.org/project/dpdk/patch/20230130092302.37614
> > > > 5-1-ophi...@nvidia.com/
> > > >
> > > >  config/meson.build  | 1 + config/rte_config.h | 1 -
> > > >  meson_options.txt   | 2 ++ 3 files changed, 3 insertions(+), 1
> > > >  deletion(-)
> > > >
> > > Acked-by: Bruce Richardson <bruce.richard...@intel.com>
> >
> > Are we going to move all compilation-defined settings to
> > meson_options.txt?  The direction discussed in recent years was to
> > configure things at runtime, and stop adding compilation-time settings.
> >
> > In this case, it is quite easy to add a new function void
> > rte_memzone_set_max(int max) to be called before rte_eal_init().  If
> > not called, the historical default is used.
> >
> Good point, I admit I had forgotten that.
> 
> Looking at the use of RTE_MAX_MEMZONE, it is used as an array dimension
> in a number of places, but, from what I see on cursory examination, it should
> be replacable with a runtime value without significant pain in most cases.
> The one that probably needs more attention is the fact that the "net/qede"
> driver maintains an array of memzones in it's base-code layer. Therefore, we
> probably need input from that driver maintainer to know the impact there
> and why that array is needed in a net driver. [Adding the two maintainers on
> CC]
> 
> /Bruce

Reply via email to