From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E249DA0524;
	Fri,  6 Nov 2020 09:07:46 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 6A40E9B01;
	Fri,  6 Nov 2020 09:03:46 +0100 (CET)
Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20])
 by dpdk.org (Postfix) with ESMTP id 2E4D668C3
 for <dev@dpdk.org>; Fri,  6 Nov 2020 09:03:39 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by lb.pantheon.sk (Postfix) with ESMTP id A4652B6B64;
 Fri,  6 Nov 2020 09:03:36 +0100 (CET)
X-Virus-Scanned: amavisd-new at siecit.sk
Received: from lb.pantheon.sk ([127.0.0.1])
 by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id zodQBKBI9JK4; Fri,  6 Nov 2020 09:03:35 +0100 (CET)
Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141])
 by lb.pantheon.sk (Postfix) with ESMTP id 6F3AFB6B65;
 Fri,  6 Nov 2020 09:03:30 +0100 (CET)
From: =?UTF-8?q?Juraj=20Linke=C5=A1?= <juraj.linkes@pantheon.tech>
To: bruce.richardson@intel.com, Ruifeng.Wang@arm.com,
 Honnappa.Nagarahalli@arm.com, Phil.Yang@arm.com, vcchunga@amazon.com,
 Dharmik.Thakkar@arm.com, jerinjacobk@gmail.com, hemant.agrawal@nxp.com,
 ajit.khaparde@broadcom.com, ferruh.yigit@intel.com, aconole@redhat.com
Cc: dev@dpdk.org, =?UTF-8?q?Juraj=20Linke=C5=A1?= <juraj.linkes@pantheon.tech>
Date: Fri,  6 Nov 2020 09:03:14 +0100
Message-Id: <1604649795-27476-14-git-send-email-juraj.linkes@pantheon.tech>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1604649795-27476-1-git-send-email-juraj.linkes@pantheon.tech>
References: <1604584762-25321-1-git-send-email-juraj.linkes@pantheon.tech>
 <1604649795-27476-1-git-send-email-juraj.linkes@pantheon.tech>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v8 13/14] build: disable libnuma in cross builds
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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@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
 # 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
+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