Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/84428/?format=api
https://patches.dpdk.org/api/patches/84428/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1605874101-30893-8-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": "<1605874101-30893-8-git-send-email-juraj.linkes@pantheon.tech>", "list_archive_url": "https://inbox.dpdk.org/dev/1605874101-30893-8-git-send-email-juraj.linkes@pantheon.tech", "date": "2020-11-20T12:08:16", "name": "[v13,07/12] build: use native machine args in Arm native build", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "549039d2b9337e0e932cf4c077d5b95d0b95b061", "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/1605874101-30893-8-git-send-email-juraj.linkes@pantheon.tech/mbox/", "series": [ { "id": 14004, "url": "https://patches.dpdk.org/api/series/14004/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14004", "date": "2020-11-20T12:08:09", "name": "Arm build options rework", "version": 13, "mbox": "https://patches.dpdk.org/series/14004/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/84428/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/84428/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 72E8AA04DD;\n\tFri, 20 Nov 2020 13:10:57 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 62EAAC946;\n\tFri, 20 Nov 2020 13:08:54 +0100 (CET)", "from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20])\n by dpdk.org (Postfix) with ESMTP id 870F9C910\n for <dev@dpdk.org>; Fri, 20 Nov 2020 13:08:39 +0100 (CET)", "from localhost (localhost [127.0.0.1])\n by lb.pantheon.sk (Postfix) with ESMTP id 6E631B9B55;\n Fri, 20 Nov 2020 13:08:36 +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 QQQgp1N4ieFH; Fri, 20 Nov 2020 13:08:35 +0100 (CET)", "from service-node1.lab.pantheon.local (unknown [46.229.239.141])\n by lb.pantheon.sk (Postfix) with ESMTP id 509E0B9B5C;\n Fri, 20 Nov 2020 13:08:31 +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", "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>", "Date": "Fri, 20 Nov 2020 13:08:16 +0100", "Message-Id": "<1605874101-30893-8-git-send-email-juraj.linkes@pantheon.tech>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1605874101-30893-1-git-send-email-juraj.linkes@pantheon.tech>", "References": "<1605277875-13625-1-git-send-email-juraj.linkes@pantheon.tech>\n <1605874101-30893-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 v13 07/12] 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 usable for both GCC and Clang.\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 403e1a02f..4508f369c 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -2,8 +2,6 @@\n # Copyright(c) 2017 Intel Corporation.\n # Copyright(c) 2017 Cavium, Inc\n \n-arm_force_native_march = false\n-\n # common flags to all aarch64 builds, with lowest priority\n flags_common = [\n \t# Accelerate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)\n@@ -26,6 +24,7 @@ flags_common = [\n \t['RTE_ARCH_ARM64', true],\n \t['RTE_CACHE_LINE_SIZE', 128]\n ]\n+native_machine_args = ['-mcpu=native']\n \n ## Part numbers are specific to Arm implementers\n # implementer specific aarch64 flags have middle priority\n@@ -47,7 +46,6 @@ implementer_generic = {\n }\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@@ -95,7 +93,6 @@ implementer_cavium = {\n \t\t['RTE_MAX_NUMA_NODES', 2]\n \t],\n \t'part_number_config': {\n-\t\t'native': {'machine_args': ['-march=native']},\n \t\t'0xa1': {\n \t\t\t'machine_args': ['-mcpu=thunderxt88'],\n \t\t\t'flags': flags_part_number_thunderx\n@@ -145,8 +142,7 @@ implementer_ampere = {\n \t],\n \t'part_number_config': {\n \t\t'0x0': {'machine_args': ['-march=armv8-a+crc+crypto',\n-\t\t\t\t\t '-mtune=emag']},\n-\t\t'native': {'machine_args': ['-march=native']}\n+\t\t\t\t\t '-mtune=emag']}\n \t}\n }\n \n@@ -195,26 +191,27 @@ if dpdk_conf.get('RTE_ARCH_32')\n \tmachine_args += '-mfpu=neon'\n else\n \t# aarch64 build\n-\tif machine == 'default' and not meson.is_cross_build()\n-\t\t# default 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 == 'default'\n+\t\t\t# default 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@@ -250,7 +247,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": [ "v13", "07/12" ] }{ "id": 84428, "url": "