Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/83737/?format=api
https://patches.dpdk.org/api/patches/83737/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1604584762-25321-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": "<1604584762-25321-9-git-send-email-juraj.linkes@pantheon.tech>", "list_archive_url": "https://inbox.dpdk.org/dev/1604584762-25321-9-git-send-email-juraj.linkes@pantheon.tech", "date": "2020-11-05T13:59:16", "name": "[v7,08/14] build: use native machine args in Arm native build", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "2adf7c997d34ed99777e72933ecc53d477682f18", "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/1604584762-25321-9-git-send-email-juraj.linkes@pantheon.tech/mbox/", "series": [ { "id": 13692, "url": "https://patches.dpdk.org/api/series/13692/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=13692", "date": "2020-11-05T13:59:09", "name": "Arm build options rework", "version": 7, "mbox": "https://patches.dpdk.org/series/13692/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/83737/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/83737/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id C3AC9A04DD;\n\tThu, 5 Nov 2020 15:03:30 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C66D0C8FC;\n\tThu, 5 Nov 2020 14:59:52 +0100 (CET)", "from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20])\n by dpdk.org (Postfix) with ESMTP id 7B27EC8C6\n for <dev@dpdk.org>; Thu, 5 Nov 2020 14:59:47 +0100 (CET)", "from localhost (localhost [127.0.0.1])\n by lb.pantheon.sk (Postfix) with ESMTP id 25A9DB6B69;\n Thu, 5 Nov 2020 14:59:44 +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 IspWNLD_QBif; Thu, 5 Nov 2020 14:59:43 +0100 (CET)", "from service-node1.lab.pantheon.local (unknown [46.229.239.141])\n by lb.pantheon.sk (Postfix) with ESMTP id 39F3CB6B65;\n Thu, 5 Nov 2020 14:59:37 +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, aconole@redhat.com", "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>", "Date": "Thu, 5 Nov 2020 14:59:16 +0100", "Message-Id": "<1604584762-25321-9-git-send-email-juraj.linkes@pantheon.tech>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1604584762-25321-1-git-send-email-juraj.linkes@pantheon.tech>", "References": "<1604323278-18039-1-git-send-email-juraj.linkes@pantheon.tech>\n <1604584762-25321-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 v7 08/14] build: use native machine args in Arm\n\tnative build", "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>,\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": "Letting the compiler decide is going to yield the best results for\nnative builds, so use native machine args.\n\nSigned-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>\n---\n config/arm/meson.build | 54 ++++++++++++++++++++++--------------------\n 1 file changed, 28 insertions(+), 26 deletions(-)", "diff": "diff --git a/config/arm/meson.build b/config/arm/meson.build\nindex 92572f670..a3e5ff9df 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -3,8 +3,6 @@\n # Copyright(c) 2017 Cavium, Inc\n # Copyright(c) 2020 PANTHEON.tech s.r.o.\n \n-arm_force_native_march = false\n-\n # common flags to all aarch64 builds, with lowest priority\n flags_common_default = [\n \t# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)\n@@ -28,13 +26,13 @@ flags_common_default = [\n \t['RTE_ARCH_ARM64', true],\n \t['RTE_CACHE_LINE_SIZE', 128]\n ]\n+native_machine_args = ['-march=native', '-mtune=native']\n \n flags_part_number_thunderx = [\n \t['RTE_MACHINE', '\"thunderx\"'],\n \t['RTE_USE_C11_MEM_MODEL', false]\n ]\n part_number_config_arm = {\n-\t'native': {'machine_args': ['-march=native']},\n \t'0xd03': {'machine_args': ['-mcpu=cortex-a53']},\n \t'0xd04': {'machine_args': ['-mcpu=cortex-a35']},\n \t'0xd07': {'machine_args': ['-mcpu=cortex-a57']},\n@@ -96,7 +94,6 @@ implementers = {\n \t\t\t['RTE_MAX_NUMA_NODES', 2]\n \t\t],\n \t\t'part_number_config': {\n-\t\t\t'native': {'machine_args': ['-march=native']},\n \t\t\t'0xa1': {\n \t\t\t\t'machine_args': ['-mcpu=thunderxt88'],\n \t\t\t\t'flags': flags_part_number_thunderx\n@@ -142,8 +139,7 @@ implementers = {\n \t\t\t['RTE_MAX_NUMA_NODES', 1]\n \t\t],\n \t\t'part_number_config': {\n-\t\t\t'0x0': {'machine_args': ['-march=armv8-a+crc+crypto', '-mtune=emag']},\n-\t\t\t'native': {'machine_args': ['-march=native']}\n+\t\t\t'0x0': {'machine_args': ['-march=armv8-a+crc+crypto', '-mtune=emag']}\n \t\t}\n \t},\n \t'0x56': {\n@@ -181,26 +177,27 @@ if dpdk_conf.get('RTE_ARCH_32')\n \tmachine_args += '-mfpu=neon'\n else\n \t# aarch64 build\n-\tif machine == 'generic' and not meson.is_cross_build()\n-\t\t# generic build\n-\t\timplementer_id = 'generic'\n-\t\tpart_number = 'generic'\n-\telif not meson.is_cross_build()\n-\t\t# native build\n-\t\t# The script returns ['Implementer', 'Variant', 'Architecture',\n-\t\t# 'Primary Part number', 'Revision']\n-\t\tdetect_vendor = find_program(join_paths(\n-\t\t\t\tmeson.current_source_dir(), 'armv8_machine.py'))\n-\t\tcmd = run_command(detect_vendor.path())\n-\t\tif cmd.returncode() == 0\n-\t\t\tcmd_output = cmd.stdout().to_lower().strip().split(' ')\n-\t\t\timplementer_id = cmd_output[0]\n-\t\t\tpart_number = cmd_output[3]\n+\tuse_native_machine_args = false\n+\tif not meson.is_cross_build()\n+\t\tif machine == 'generic'\n+\t\t\t# generic build\n+\t\t\timplementer_id = 'generic'\n+\t\t\tpart_number = 'generic'\n \t\telse\n-\t\t\terror('Error when getting Arm Implementer ID and part number.')\n-\t\tendif\n-\t\tif arm_force_native_march == true\n-\t\t\tpart_number = 'native'\n+\t\t\t# native build\n+\t\t\t# The script returns ['Implementer', 'Variant', 'Architecture',\n+\t\t\t# 'Primary Part number', 'Revision']\n+\t\t\tdetect_vendor = find_program(join_paths(\n+\t\t\t\t\tmeson.current_source_dir(), 'armv8_machine.py'))\n+\t\t\tcmd = run_command(detect_vendor.path())\n+\t\t\tif cmd.returncode() == 0\n+\t\t\t\tcmd_output = cmd.stdout().to_lower().strip().split(' ')\n+\t\t\t\timplementer_id = cmd_output[0]\n+\t\t\t\tpart_number = cmd_output[3]\n+\t\t\telse\n+\t\t\t\terror('Error when getting Arm Implementer ID and part number.')\n+\t\t\tendif\n+\t\t\tuse_native_machine_args = true\n \t\tendif\n \telse\n \t\t# cross build\n@@ -236,7 +233,12 @@ else\n \n \t# apply supported machine args\n \tmachine_args = [] # Clear previous machine args\n-\tforeach flag: part_number_config['machine_args']\n+\tif use_native_machine_args\n+\t\tcandidate_machine_args = native_machine_args\n+\telse\n+\t\tcandidate_machine_args = part_number_config['machine_args']\n+\tendif\n+\tforeach flag: candidate_machine_args\n \t\tif cc.has_argument(flag)\n \t\t\tmachine_args += flag\n \t\tendif\n", "prefixes": [ "v7", "08/14" ] }{ "id": 83737, "url": "