[dpdk-dev] [PATCH v5 11/11] build: update Arm builds with makefile flags

Juraj Linkeš juraj.linkes at pantheon.tech
Fri Oct 30 14:38:34 CET 2020



> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Juraj Linkeš
> Sent: Friday, October 30, 2020 12:29 PM
> To: Bruce Richardson <bruce.richardson at intel.com>
> Cc: Ruifeng.Wang at arm.com; Honnappa.Nagarahalli at arm.com;
> Phil.Yang at arm.com; vcchunga at amazon.com; Dharmik.Thakkar at arm.com;
> jerinjacobk at gmail.com; hemant.agrawal at nxp.com; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v5 11/11] build: update Arm builds with makefile
> flags
> 
> 
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson at intel.com>
> > Sent: Wednesday, October 28, 2020 4:08 PM
> > To: Juraj Linkeš <juraj.linkes at pantheon.tech>
> > Cc: Ruifeng.Wang at arm.com; Honnappa.Nagarahalli at arm.com;
> > Phil.Yang at arm.com; vcchunga at amazon.com; Dharmik.Thakkar at arm.com;
> > jerinjacobk at gmail.com; hemant.agrawal at nxp.com; dev at dpdk.org
> > Subject: Re: [PATCH v5 11/11] build: update Arm builds with makefile
> > flags
> >
> > On Wed, Oct 28, 2020 at 03:04:05PM +0100, Juraj Linkeš wrote:
> > > Not all flags were moved properly from the old Makefile build system.
> > > Disable corresponding drivers and libnuma in cross files and remove
> > > deprecated config.
> > >
> > > Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>
> > > ---
> > >  config/arm/arm64_armada_linux_gcc    | 2 ++
> > >  config/arm/arm64_armv8_linux_gcc     | 8 ++++++--
> > >  config/arm/arm64_bluefield_linux_gcc | 1 +
> > >  config/arm/arm64_dpaa_linux_gcc      | 1 +
> > >  config/arm/arm64_n1sdp_linux_gcc     | 1 +
> > >  config/arm/arm64_octeontx2_linux_gcc | 1 +
> > > config/arm/arm64_stingray_linux_gcc  | 1 +
> > >  config/arm/meson.build               | 5 ++++-
> > >  drivers/meson.build                  | 4 ++++
> > >  9 files changed, 21 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/config/arm/arm64_armada_linux_gcc
> > > b/config/arm/arm64_armada_linux_gcc
> > > index 36100c594..e33f1e742 100644
> > > --- a/config/arm/arm64_armada_linux_gcc
> > > +++ b/config/arm/arm64_armada_linux_gcc
> > > @@ -17,3 +17,5 @@ endian = 'little'
> > >  implementer_id = '0x56'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
> >
> > Changes to disabled drivers should be merged in the previous patch.
> >
> 
> These are not changes, but additions based on the old makefile flags, which is
> why I added them in a separate patch.
> However, do you think we could just merge both of these patches? Both are
> either fixing existing config or fixing config that previously worked (defined in
> the old makefiles). What do you think? If not, what's the best way to split these
> two (fixing existing config and fixing/adding config from makefiles)?
> 

I've decided to redo the last three patches a bit - add the capability to specify numa and cpu counts into the first, disable drivers into the second and disable numa into the last one.

> > > diff --git a/config/arm/arm64_armv8_linux_gcc
> > > b/config/arm/arm64_armv8_linux_gcc
> > > index 779333199..c6010e303 100644
> > > --- a/config/arm/arm64_armv8_linux_gcc
> > > +++ b/config/arm/arm64_armv8_linux_gcc
> > > @@ -28,7 +28,11 @@ implementer_id = 'generic'
> > >  part_number = 'generic'
> > >
> > >  # Supported extra configuration
> > > -# max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
> > > -# max_lcores = n      # will set RTE_MAX_LCORE
> > > +# max_numa_nodes = n   # will set RTE_MAX_NUMA_NODES
> > > +# max_lcores = n        # will set RTE_MAX_LCORE
> > >  max_lcores = 256
> > >  max_numa_nodes = 4
> > > +
> > > +# has_libnuma = 0      # set to 0 if the SoC is not a NUMA system
> > > +# disabled_drivers += ['bus/dpaa', 'crypto']
> > > +    # add to the set of disabled libraries
> > > diff --git a/config/arm/arm64_bluefield_linux_gcc
> > > b/config/arm/arm64_bluefield_linux_gcc
> > > index 7ff6fd309..e154ac4fd 100644
> > > --- a/config/arm/arm64_bluefield_linux_gcc
> > > +++ b/config/arm/arm64_bluefield_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd08'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_dpaa_linux_gcc
> > > b/config/arm/arm64_dpaa_linux_gcc index adae86f57..78883a2ec 100644
> > > --- a/config/arm/arm64_dpaa_linux_gcc
> > > +++ b/config/arm/arm64_dpaa_linux_gcc
> > > @@ -17,3 +17,4 @@ endian = 'little'
> > >  implementer_id = 'dpaa'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_n1sdp_linux_gcc
> > > b/config/arm/arm64_n1sdp_linux_gcc
> > > index 3a8b46812..4493227f3 100644
> > > --- a/config/arm/arm64_n1sdp_linux_gcc
> > > +++ b/config/arm/arm64_n1sdp_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd0c'
> > >  max_numa_nodes = 1
> > >  max_lcores = 4
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_octeontx2_linux_gcc
> > > b/config/arm/arm64_octeontx2_linux_gcc
> > > index 2baf95a2a..ff9e5c403 100644
> > > --- a/config/arm/arm64_octeontx2_linux_gcc
> > > +++ b/config/arm/arm64_octeontx2_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x43'
> > >  part_number = '0xb2'
> > >  max_numa_nodes = 1
> > >  max_lcores = 36
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_stingray_linux_gcc
> > > b/config/arm/arm64_stingray_linux_gcc
> > > index 7ff6fd309..e154ac4fd 100644
> > > --- a/config/arm/arm64_stingray_linux_gcc
> > > +++ b/config/arm/arm64_stingray_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd08'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > > 21deb2dd9..a023abb17 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -101,7 +101,6 @@ flags_octeontx2_extra = [
> > >  	['RTE_MACHINE', '"octeontx2"'],
> > >  	['RTE_ARM_FEATURE_ATOMICS', true],
> > >  	['RTE_USE_C11_MEM_MODEL', true],
> > > -	['RTE_EAL_IGB_UIO', false],
> > >  	['RTE_MAX_LCORE', 36],
> > >  	['RTE_MAX_NUMA_NODES', 1]
> > >  ]
> > > @@ -236,6 +235,10 @@ else
> > >  				['RTE_MAX_LCORE', cross_max_lcores]
> > >  			]
> > >  		endif
> > > +		cross_has_libnuma = meson.get_cross_property('has_libnuma',
> > '')
> > > +		if cross_has_libnuma != ''
> > > +			has_libnuma = cross_has_libnuma
> > > +		endif
> > >  	endif
> > >
> > >  	# apply supported machine args
> > > diff --git a/drivers/meson.build b/drivers/meson.build index
> > > 4c4866866..a997387ad 100644
> > > --- a/drivers/meson.build
> > > +++ b/drivers/meson.build
> > > @@ -21,6 +21,10 @@ subdirs = [
> > >  disabled_drivers += run_command(list_dir_globs,
> > get_option('disable_drivers'),
> > >  		).stdout().split()
> > >
> > > +if meson.is_cross_build()
> > > +	disabled_drivers += meson.get_cross_property('disabled_drivers',
> > > +[]) endif
> > > +
> >
> > This change also belongs in the previous patch. However, because of
> > the way it's done here, I think the change to the disabled_drivers
> > assignment in the previous patch can be dropped, since assigning using
> > "=" rather than "+=" is fine when the cross-file addition is done later.
> >
> 
> Moving this to the other patch makes sense. If you mean the assignment change
> in drivers/meson.build that has to be there, so we don't overwrite disabled
> drivers configured in config/arm/meson.build.
> 
> > >  default_cflags = machine_args
> > >  default_cflags += ['-DALLOW_EXPERIMENTAL_API']  default_cflags +=
> > > ['-DALLOW_INTERNAL_API']
> > > --
> > > 2.20.1
> > >



More information about the dev mailing list