Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/86696/?format=api
https://patches.dpdk.org/api/patches/86696/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1610717170-31279-9-git-send-email-juraj.linkes@pantheon.tech/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1610717170-31279-9-git-send-email-juraj.linkes@pantheon.tech>", "list_archive_url": "https://inbox.dpdk.org/dev/1610717170-31279-9-git-send-email-juraj.linkes@pantheon.tech", "date": "2021-01-15T13:26:06", "name": "[v15,08/12] build: add core and NUMA counts to cross files", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "1e57b4d28d9001e5ad09ae9b6f68f5f829a2deb4", "submitter": { "id": 1626, "url": "https://patches.dpdk.org/api/people/1626/?format=api", "name": "Juraj Linkeš", "email": "juraj.linkes@pantheon.tech" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/1610717170-31279-9-git-send-email-juraj.linkes@pantheon.tech/mbox/", "series": [ { "id": 14781, "url": "https://patches.dpdk.org/api/series/14781/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14781", "date": "2021-01-15T13:25:58", "name": "Arm build options rework", "version": 15, "mbox": "https://patches.dpdk.org/series/14781/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/86696/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/86696/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0F017A0A02;\n\tFri, 15 Jan 2021 14:27:44 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5ACCE1410A2;\n\tFri, 15 Jan 2021 14:26:30 +0100 (CET)", "from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20])\n by mails.dpdk.org (Postfix) with ESMTP id 3592614108F\n for <dev@dpdk.org>; Fri, 15 Jan 2021 14:26:27 +0100 (CET)", "from localhost (localhost [127.0.0.1])\n by lb.pantheon.sk (Postfix) with ESMTP id 0328FBFD8E;\n Fri, 15 Jan 2021 14:26:24 +0100 (CET)", "from lb.pantheon.sk ([127.0.0.1])\n by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id T4do4XXsssfD; Fri, 15 Jan 2021 14:26:23 +0100 (CET)", "from service-node1.lab.pantheon.local (unknown [46.229.239.141])\n by lb.pantheon.sk (Postfix) with ESMTP id 2A45CBFD8D;\n Fri, 15 Jan 2021 14:26:20 +0100 (CET)" ], "X-Virus-Scanned": "amavisd-new at siecit.sk", "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>", "To": "bruce.richardson@intel.com, Ruifeng.Wang@arm.com,\n Honnappa.Nagarahalli@arm.com, Phil.Yang@arm.com, vcchunga@amazon.com,\n Dharmik.Thakkar@arm.com, jerinjacobk@gmail.com, hemant.agrawal@nxp.com,\n ajit.khaparde@broadcom.com, ferruh.yigit@intel.com, aboyer@pensando.io", "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>", "Date": "Fri, 15 Jan 2021 14:26:06 +0100", "Message-Id": "<1610717170-31279-9-git-send-email-juraj.linkes@pantheon.tech>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1610717170-31279-1-git-send-email-juraj.linkes@pantheon.tech>", "References": "<1608724059-8562-1-git-send-email-juraj.linkes@pantheon.tech>\n <1610717170-31279-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 v15 08/12] build: add core and NUMA counts to\n cross files", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Add support for setting core count and numa nodes in cross files. The\nvalues specified in cross files will override the default values.\nAlso add missing default values to Arm config.\n\nSigned-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>\nReviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\n---\n config/arm/arm64_armada_linux_gcc | 2 ++\n config/arm/arm64_armv8_linux_gcc | 2 ++\n config/arm/arm64_bluefield_linux_gcc | 2 ++\n config/arm/arm64_dpaa_linux_gcc | 2 ++\n config/arm/arm64_emag_linux_gcc | 2 ++\n config/arm/arm64_graviton2_linux_gcc | 2 ++\n config/arm/arm64_n1sdp_linux_gcc | 2 ++\n config/arm/arm64_n2_linux_gcc | 2 ++\n config/arm/arm64_octeontx2_linux_gcc | 2 ++\n config/arm/arm64_stingray_linux_gcc | 2 ++\n config/arm/arm64_thunderx2_linux_gcc | 2 ++\n config/arm/arm64_thunderxt88_linux_gcc | 2 ++\n config/arm/meson.build | 12 ++++++------\n config/meson.build | 15 +++++++++++++++\n .../linux_gsg/cross_build_dpdk_for_arm64.rst | 9 +++++++++\n 15 files changed, 54 insertions(+), 6 deletions(-)", "diff": "diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc\nindex 143a3c9f8..2ecc4604c 100644\n--- a/config/arm/arm64_armada_linux_gcc\n+++ b/config/arm/arm64_armada_linux_gcc\n@@ -16,3 +16,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x56'\n part_number = '0xd08'\n+max_lcores = 16\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc\nindex 0099f5ca2..5451a01da 100644\n--- a/config/arm/arm64_armv8_linux_gcc\n+++ b/config/arm/arm64_armv8_linux_gcc\n@@ -16,3 +16,5 @@ endian = 'little'\n # Generate binaries that are portable across all Armv8 machines\n implementer_id = 'generic'\n part_number = 'generic'\n+max_lcores = 256\n+max_numa_nodes = 4\ndiff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc\nindex b79389d85..4f56790c5 100644\n--- a/config/arm/arm64_bluefield_linux_gcc\n+++ b/config/arm/arm64_bluefield_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x41'\n part_number = '0xd08'\n+max_lcores = 16\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc\nindex c3c8a1ef6..8641fee63 100644\n--- a/config/arm/arm64_dpaa_linux_gcc\n+++ b/config/arm/arm64_dpaa_linux_gcc\n@@ -16,3 +16,5 @@ endian = 'little'\n [properties]\n implementer_id = 'dpaa'\n part_number = '0xd08'\n+max_lcores = 16\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc\nindex c675954fc..7cbb05510 100644\n--- a/config/arm/arm64_emag_linux_gcc\n+++ b/config/arm/arm64_emag_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x50'\n part_number = '0x0'\n+max_lcores = 32\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc\nindex 022e06303..d0bfec87d 100644\n--- a/config/arm/arm64_graviton2_linux_gcc\n+++ b/config/arm/arm64_graviton2_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementor_id = '0x41'\n implementor_pn = '0xd0c'\n+max_lcores = 64\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc\nindex 6fb3f02ea..138ae08c3 100644\n--- a/config/arm/arm64_n1sdp_linux_gcc\n+++ b/config/arm/arm64_n1sdp_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x41'\n part_number = '0xd0c'\n+max_lcores = 4\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_n2_linux_gcc b/config/arm/arm64_n2_linux_gcc\nindex 3de5a6eb1..d249ccf91 100644\n--- a/config/arm/arm64_n2_linux_gcc\n+++ b/config/arm/arm64_n2_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x41'\n part_number = '0xd49'\n+max_lcores = 64\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_octeontx2_linux_gcc b/config/arm/arm64_octeontx2_linux_gcc\nindex ac1042806..26cf471ad 100644\n--- a/config/arm/arm64_octeontx2_linux_gcc\n+++ b/config/arm/arm64_octeontx2_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x43'\n part_number = '0xb2'\n+max_lcores = 36\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc\nindex b79389d85..4f56790c5 100644\n--- a/config/arm/arm64_stingray_linux_gcc\n+++ b/config/arm/arm64_stingray_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x41'\n part_number = '0xd08'\n+max_lcores = 16\n+max_numa_nodes = 1\ndiff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc\nindex dd257745e..c06dcdc2b 100644\n--- a/config/arm/arm64_thunderx2_linux_gcc\n+++ b/config/arm/arm64_thunderx2_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x43'\n part_number = '0xaf'\n+max_lcores = 256\n+max_numa_nodes = 2\ndiff --git a/config/arm/arm64_thunderxt88_linux_gcc b/config/arm/arm64_thunderxt88_linux_gcc\nindex 758966262..3ba1528e4 100644\n--- a/config/arm/arm64_thunderxt88_linux_gcc\n+++ b/config/arm/arm64_thunderxt88_linux_gcc\n@@ -15,3 +15,5 @@ endian = 'little'\n [properties]\n implementer_id = '0x43'\n part_number = '0xa1'\n+max_lcores = 96\n+max_numa_nodes = 1\ndiff --git a/config/arm/meson.build b/config/arm/meson.build\nindex 9c33490e8..d397471eb 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -36,7 +36,8 @@ implementer_generic = {\n \t'flags': [\n \t\t['RTE_MACHINE', '\"armv8a\"'],\n \t\t['RTE_USE_C11_MEM_MODEL', true],\n-\t\t['RTE_MAX_LCORE', 256]\n+\t\t['RTE_MAX_LCORE', 256],\n+\t\t['RTE_MAX_NUMA_NODES', 4]\n \t],\n \t'part_number_config': {\n \t\t'generic': {'machine_args': ['-march=armv8-a+crc',\n@@ -61,8 +62,7 @@ part_number_config_arm = {\n \t\t\t['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],\n \t\t\t['RTE_LIBRTE_VHOST_NUMA', false],\n \t\t\t['RTE_MAX_MEM_MB', 1048576],\n-\t\t\t['RTE_MAX_LCORE', 80],\n-\t\t\t['RTE_MAX_NUMA_NODES', 1]\n+\t\t\t['RTE_MAX_LCORE', 80]\n \t\t]\n \t},\n \t'0xd49': {\n@@ -82,7 +82,8 @@ implementer_arm = {\n \t\t['RTE_MACHINE', '\"armv8a\"'],\n \t\t['RTE_USE_C11_MEM_MODEL', true],\n \t\t['RTE_CACHE_LINE_SIZE', 64],\n-\t\t['RTE_MAX_LCORE', 16]\n+\t\t['RTE_MAX_LCORE', 16],\n+\t\t['RTE_MAX_NUMA_NODES', 1]\n \t],\n \t'part_number_config': part_number_config_arm\n }\n@@ -119,8 +120,7 @@ implementer_cavium = {\n \t\t\t\t['RTE_ARM_FEATURE_ATOMICS', true],\n \t\t\t\t['RTE_USE_C11_MEM_MODEL', true],\n \t\t\t\t['RTE_CACHE_LINE_SIZE', 64],\n-\t\t\t\t['RTE_MAX_LCORE', 256],\n-\t\t\t\t['RTE_MAX_NUMA_NODES', 2]\n+\t\t\t\t['RTE_MAX_LCORE', 256]\n \t\t\t]\n \t\t},\n \t\t'0xb2': {\ndiff --git a/config/meson.build b/config/meson.build\nindex a3154e29c..19c743091 100644\n--- a/config/meson.build\n+++ b/config/meson.build\n@@ -253,6 +253,21 @@ compile_time_cpuflags = []\n subdir(arch_subdir)\n dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))\n \n+# apply cross-specific options\n+if meson.is_cross_build()\n+\t# configure RTE_MAX_LCORE and RTE_MAX_NUMA_NODES from cross file\n+\tcross_max_lcores = meson.get_cross_property('max_lcores', 0)\n+\tif cross_max_lcores != 0\n+\t\tmessage('Setting RTE_MAX_LCORE from cross file')\n+\t\tdpdk_conf.set('RTE_MAX_LCORE', cross_max_lcores)\n+\tendif\n+\tcross_max_numa_nodes = meson.get_cross_property('max_numa_nodes', 0)\n+\tif cross_max_numa_nodes != 0\n+\t\tmessage('Setting RTE_MAX_NUMA_NODES from cross file')\n+\t\tdpdk_conf.set('RTE_MAX_NUMA_NODES', cross_max_numa_nodes)\n+\tendif\n+endif\n+\n # set the install path for the drivers\n dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path)\n \ndiff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst\nindex 6a883b030..4e65b271c 100644\n--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst\n+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst\n@@ -134,3 +134,12 @@ you may use various combinations of implementer/part number::\n \n Supported part_numbers for 0x50:\n '0x0': emag\n+\n+Other cross file options\n+------------------------\n+\n+There are other options you may specify in a cross file to tailor the build::\n+\n+ Supported extra configuration\n+ max_numa_nodes = n # will set RTE_MAX_NUMA_NODES\n+ max_lcores = n # will set RTE_MAX_LCORE\n", "prefixes": [ "v15", "08/12" ] }{ "id": 86696, "url": "