[dpdk-dev] [PATCH v8 13/14] build: disable libnuma in cross builds
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Mon Nov 9 01:24:38 CET 2020
<snip>
>
> Some Arm SoCs are not NUMA systems. Add the capability to disable NUMA
> for cross build and disabled NUMA in Arm cross files.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>
> ---
> config/arm/arm64_armada_linux_gcc | 1 +
> config/arm/arm64_armv8_linux_gcc | 1 +
> config/arm/arm64_bluefield_linux_gcc | 1 +
> config/arm/arm64_dpaa_linux_gcc | 1 +
> config/arm/arm64_graviton2_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 | 2 --
> config/meson.build | 19 +++++++++++++------
> 10 files changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/config/arm/arm64_armada_linux_gcc
> b/config/arm/arm64_armada_linux_gcc
> index 7383f42e2..f5403f0a6 100644
> --- a/config/arm/arm64_armada_linux_gcc
> +++ b/config/arm/arm64_armada_linux_gcc
> @@ -17,4 +17,5 @@ endian = 'little'
> implementer_id = '0x56'
> max_lcores = 16
> max_numa_nodes = 1
> +numa = false
> 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 245e06e5f..77e3d6278 100644
> --- a/config/arm/arm64_armv8_linux_gcc
> +++ b/config/arm/arm64_armv8_linux_gcc
> @@ -53,5 +53,6 @@ part_number = 'generic'
> max_lcores = 256
> max_numa_nodes = 4
>
> +# numa = false # set to false if the target is not a NUMA system
Nit, IMO, we can skip these comments in this file and keep it short
> # 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 4f56790c5..6bef87fbd 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_lcores = 16
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/arm64_dpaa_linux_gcc
> b/config/arm/arm64_dpaa_linux_gcc index 00101962b..3458b9d7b 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_lcores = 16
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/arm64_graviton2_linux_gcc
> b/config/arm/arm64_graviton2_linux_gcc
> index d0bfec87d..cfe239797 100644
> --- a/config/arm/arm64_graviton2_linux_gcc
> +++ b/config/arm/arm64_graviton2_linux_gcc
> @@ -17,3 +17,4 @@ implementor_id = '0x41'
> implementor_pn = '0xd0c'
> max_lcores = 64
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/arm64_n1sdp_linux_gcc
> b/config/arm/arm64_n1sdp_linux_gcc
> index 138ae08c3..b00f2d1ef 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_lcores = 4
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/arm64_octeontx2_linux_gcc
> b/config/arm/arm64_octeontx2_linux_gcc
> index 26cf471ad..593769709 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_lcores = 36
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/arm64_stingray_linux_gcc
> b/config/arm/arm64_stingray_linux_gcc
> index 4f56790c5..6bef87fbd 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_lcores = 16
> max_numa_nodes = 1
> +numa = false
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> a39a35b6a..52274c0c5 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -45,8 +45,6 @@ part_number_config_arm = {
> ['RTE_MACHINE', '"neoverse-n1"'],
> ['RTE_ARM_FEATURE_ATOMICS', true],
> ['RTE_USE_C11_MEM_MODEL', true],
> - ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> - ['RTE_LIBRTE_VHOST_NUMA', false],
> ['RTE_MAX_MEM_MB', 1048576],
> ['RTE_CACHE_LINE_SIZE', 64],
> ['RTE_MAX_LCORE', 64],
> diff --git a/config/meson.build b/config/meson.build index
> 41adb2303..5c190dd6e 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -141,12 +141,19 @@ endif
>
> # check for libraries used in multiple places in DPDK has_libnuma = 0 -
> numa_dep = cc.find_library('numa', required: false) -if numa_dep.found() and
> cc.has_header('numaif.h')
> - dpdk_conf.set10('RTE_HAS_LIBNUMA', true)
> - has_libnuma = 1
> - add_project_link_arguments('-lnuma', language: 'c')
> - dpdk_extra_ldflags += '-lnuma'
> +find_libnuma = true
> +if meson.is_cross_build() and not meson.get_cross_property('numa', true)
> + # don't look for libnuma if explicitly disabled in cross build
> + check_libnuma = false
^^^^^^^^^^^^ find_libnuma?
> +endif
> +if find_libnuma
> + numa_dep = cc.find_library('numa', required: false)
> + if numa_dep.found() and cc.has_header('numaif.h')
> + dpdk_conf.set10('RTE_HAS_LIBNUMA', true)
> + has_libnuma = 1
> + add_project_link_arguments('-lnuma', language: 'c')
> + dpdk_extra_ldflags += '-lnuma'
> + endif
> endif
>
> has_libfdt = 0
> --
> 2.20.1
More information about the dev
mailing list