[dpdk-dev] [PATCH v8 12/14] build: disable Arm drivers

Juraj Linkeš juraj.linkes at pantheon.tech
Tue Nov 10 10:03:15 CET 2020



> -----Original Message-----
> From: Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>
> Sent: Tuesday, November 10, 2020 12:27 AM
> To: Juraj Linkeš <juraj.linkes at pantheon.tech>; bruce.richardson at intel.com;
> Ruifeng Wang <Ruifeng.Wang at arm.com>; Phil Yang <Phil.Yang at arm.com>;
> vcchunga at amazon.com; Dharmik Thakkar <Dharmik.Thakkar at arm.com>;
> jerinjacobk at gmail.com; hemant.agrawal at nxp.com; Ajit Khaparde
> (ajit.khaparde at broadcom.com) <ajit.khaparde at broadcom.com>;
> ferruh.yigit at intel.com; aconole at redhat.com
> Cc: dev at dpdk.org; nd <nd at arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli at arm.com>; nd <nd at arm.com>
> Subject: RE: [PATCH v8 12/14] build: disable Arm drivers
> 
> <snip>
> 
> > >
> > > >
> > > > A few options that disabled drivers in the old makefiles were
> > > > improperly ported to the meson build system. Fix this by adding a
> > > > to the list of disabled
> > > The fixes need to be separated into a different commit as they need
> > > to be backported.
> > > It would be good to get the fix patch as the first patch, it will be
> > > easy to backport.
> > >
> >
> > Ok, I'll add support for disabling drivers for native and cross builds
> > (that will be an independent easily portable change) and put the rest into a
> separate patch.
> > That would be a compromise between v7 and v8.
> I did not understand the last sentence.
> 

A compromise between version 7 of the series and version 8 of the series. V7 had the support for arm disabling drivers in non-cross builds in one commit and support for cross builds in another patch, v8 joined the two patches and the new version will be in between.

> >
> > > > drivers, similarly how the command line option works. Remove
> > > > unneeded driver options ported from the old makefile system.
> > > > Add support for removing drivers for cross builds.
> > > >
> > > > Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>
> > > > Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> > > > ---
> > > >  config/arm/arm64_armada_linux_gcc | 1 +
> > > > config/arm/arm64_armv8_linux_gcc  | 3 +++
> > > >  config/arm/meson.build            | 7 +++----
> > > >  drivers/meson.build               | 6 +++++-
> > > >  meson.build                       | 1 +
> > > >  5 files changed, 13 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/config/arm/arm64_armada_linux_gcc
> > > > b/config/arm/arm64_armada_linux_gcc
> > > > index 73945fbb4..7383f42e2 100644
> > > > --- a/config/arm/arm64_armada_linux_gcc
> > > > +++ b/config/arm/arm64_armada_linux_gcc
> > > > @@ -17,3 +17,4 @@ endian = 'little'
> > > >  implementer_id = '0x56'
> > > >  max_lcores = 16
> > > >  max_numa_nodes = 1
> > > > +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
> > > > diff --git a/config/arm/arm64_armv8_linux_gcc
> > > > b/config/arm/arm64_armv8_linux_gcc
> > > > index fb24be5fc..245e06e5f 100644
> > > > --- a/config/arm/arm64_armv8_linux_gcc
> > > > +++ b/config/arm/arm64_armv8_linux_gcc
> > > > @@ -52,3 +52,6 @@ part_number = 'generic'
> > > >  # max_lcores = n      # will set RTE_MAX_LCORE
> > > >  max_lcores = 256
> > > >  max_numa_nodes = 4
> > > > +
> > > > +# disabled_drivers = ['bus/dpaa', 'crypto']
> > > > +    # add to the set of disabled libraries
> > > > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > > > e9bb60045..a39a35b6a 100644
> > > > --- a/config/arm/meson.build
> > > > +++ b/config/arm/meson.build
> > > > @@ -3,6 +3,9 @@
> > > >  # Copyright(c) 2017 Cavium, Inc
> > > >  # Copyright(c) 2020 PANTHEON.tech s.r.o.
> > > >
> > > > +# disable Arm drivers for all builds disabled_drivers +=
> > > > +['net/avp', 'net/fm10k']
> > > > +
> > > >  # common flags to all aarch64 builds, with lowest priority
> > > > flags_common_default = [
> > > >  	# Accelarate rte_memcpy. Be sure to run unit test
> > > > (memcpy_perf_autotest) @@ -17,9 +20,6 @@ flags_common_default = [
> > > >  	#	['RTE_ARM64_MEMCPY_ALIGN_MASK', 0xF],
> > > >  	#	['RTE_ARM64_MEMCPY_STRICT_ALIGN', false],
> > > >
> > > > -	['RTE_NET_FM10K', false],
> > > > -	['RTE_NET_AVP', false],
> > > > -
> > > >  	['RTE_SCHED_VECTOR', false],
> > > >  	['RTE_ARM_USE_WFE', false],
> > > >  	['RTE_ARCH_ARM64', true],
> > > > @@ -124,7 +124,6 @@ implementers = {
> > > >  					['RTE_MACHINE', '"octeontx2"'],
> > > >  					['RTE_ARM_FEATURE_ATOMICS',
> > > > true],
> > > >  					['RTE_USE_C11_MEM_MODEL', true],
> > > > -					['RTE_EAL_IGB_UIO', false],
> > > Does this need to go to octeon tx2 cross file?
> > >
> >
> > Possibly.
> > Based on my understanding of the old makefile config (which could be
> > wrong), I think there are two categories here:
> > 1. drivers which were disabled because they weren't supported at all
> > or just on that platform.
> > 2. drivers which were explicitly disabled no matter the support.
> >
> > If this is in category 1, we should investigate whether support was not added.
> > If we don't know, it's better to disable it, in which case I'll put it
> > to the cross file.
> I think all the platforms have moved to VFIO. It should be fine to disable this.
> 

Do you mean all arm platforms? If so, I'll add this to disabled drivers for all arm builds instead of just one soc.

> >
> > > >  					['RTE_MAX_LCORE', 36],
> > > >  					['RTE_MAX_NUMA_NODES', 1]
> > > >  				]
> > > > diff --git a/drivers/meson.build b/drivers/meson.build index
> > > > 4bb7e9218..a997387ad 100644
> > > > --- a/drivers/meson.build
> > > > +++ b/drivers/meson.build
> > > > @@ -18,9 +18,13 @@ subdirs = [
> > > >  	'baseband', # depends on common and bus.
> > > >  ]
> > > >
> > > > -disabled_drivers = run_command(list_dir_globs,
> > > > get_option('disable_drivers'),
> > > > +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
> > > > +
> > > >  default_cflags = machine_args
> > > >  default_cflags += ['-DALLOW_EXPERIMENTAL_API']  default_cflags +=
> > > > ['- DALLOW_INTERNAL_API'] diff --git a/meson.build b/meson.build
> > > > index 61d9a4f5f..8dadd70dc 100644
> > > > --- a/meson.build
> > > > +++ b/meson.build
> > > > @@ -21,6 +21,7 @@ dpdk_drivers = []  dpdk_extra_ldflags = []
> > > > dpdk_libs_disabled = []  dpdk_drvs_disabled = []
> > > > +disabled_drivers = []
> > > >  abi_version_file = files('ABI_VERSION')
> > > >
> > > >  if host_machine.cpu_family().startswith('x86')
> > > > --
> > > > 2.20.1



More information about the dev mailing list