From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A605FA04DD; Wed, 28 Oct 2020 15:04:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EA0C3CAD8; Wed, 28 Oct 2020 15:04:11 +0100 (CET) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id 5FE75CAD4 for ; Wed, 28 Oct 2020 15:04:09 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id C004CB6B54; Wed, 28 Oct 2020 15:04:07 +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 b22LVcdPnnSr; Wed, 28 Oct 2020 15:04:06 +0100 (CET) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id EFA38B6B40; Wed, 28 Oct 2020 15:04:05 +0100 (CET) From: =?UTF-8?q?Juraj=20Linke=C5=A1?= 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 Cc: dev@dpdk.org, =?UTF-8?q?Juraj=20Linke=C5=A1?= Date: Wed, 28 Oct 2020 15:03:54 +0100 Message-Id: <1603893845-5736-1-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1603464488-25493-1-git-send-email-juraj.linkes@pantheon.tech> References: <1603464488-25493-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 v5 00/11] Arm build options rework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The current way of specifying Arm configuration options is insufficient since we can't identify the SoC we're building for from the MIDR information. For example, we can't distinguish between N1SDP, Graviton2 or Ampere Altra. Add a way to specify the cpu count and numa node count for cross builds. We also want to be able to disable which drivers (and possibly libraries) are built without user input. This is useful when building: 1. on an SoC that is slow and we want to build only what is necessary without the user having to check which libraries they have installed 2. a cross build on a fast aarch64 machine but with target SoC which differs in capabilities or libraries. This is achieved by specifying the drivers in cross files. Among libraries, only libnuma can be now disabled. Also add an optional way to discover cpu count a numa node count. Fix -Dmax_lcores and -Dmax_numa_nodes for arm builds. The current implementation adds/supports the following: * x86 -> aarch64 cross build with added config options/disabled drivers/libs * aarch64 -> aarch64 builds for a different SoCs must be done using cross-files * max numa nodes and max lcore may be specified on the command line to overwrite the values for any (native or cross) build v2: Major rework of the whole series. v3: Added numa and core count defaults for x86 default build. Removed numa and core count defaults. Now requiring defaults to be specified in a cross file or on the cmdline. Added FreeBDS support for numa count discovery. v4: Make automatic numa and cpu counts discovery optional. v5: Split the refactor patch into smaller patches. Simplify buildtools/get_numa_count.py. Add more explanation to cover letter. Juraj Linkeš (11): build: alias default build as generic build: rename Arm build variables build: remove unused or superfluous variables build: Arm reformat, comments, move config build: simplify how Arm flags are processed build: use dict in Arm part number config build: Arm generic and native build setup build: optional NUMA and cpu counts detection build: add core and NUMA counts to cross files build: disable Arm drivers build: update Arm builds with makefile flags buildtools/get_cpu_count.py | 7 + buildtools/get_numa_count.py | 22 ++ buildtools/meson.build | 2 + config/arm/arm64_armada_linux_gcc | 6 +- config/arm/arm64_armv8_linux_gcc | 18 +- config/arm/arm64_bluefield_linux_gcc | 7 +- config/arm/arm64_dpaa_linux_gcc | 5 +- config/arm/arm64_emag_linux_gcc | 4 +- config/arm/arm64_n1sdp_linux_gcc | 7 +- config/arm/arm64_octeontx2_linux_gcc | 7 +- config/arm/arm64_stingray_linux_gcc | 7 +- config/arm/arm64_thunderx2_linux_gcc | 6 +- config/arm/arm64_thunderx_linux_gcc | 4 +- config/arm/meson.build | 302 ++++++++++++++++----------- config/meson.build | 57 ++++- config/x86/meson.build | 2 + drivers/meson.build | 6 +- meson.build | 1 + meson_options.txt | 8 +- 19 files changed, 324 insertions(+), 154 deletions(-) create mode 100644 buildtools/get_cpu_count.py create mode 100644 buildtools/get_numa_count.py -- 2.20.1