From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0100.outbound.protection.outlook.com [207.46.100.100]) by dpdk.org (Postfix) with ESMTP id 3CBD556A9 for ; Wed, 3 Feb 2016 14:38:36 +0100 (CET) Authentication-Results: 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (122.167.162.141) by BN3PR0701MB1717.namprd07.prod.outlook.com (10.163.39.16) with Microsoft SMTP Server (TLS) id 15.1.396.15; Wed, 3 Feb 2016 13:38:31 +0000 Date: Wed, 3 Feb 2016 19:08:12 +0530 From: Jerin Jacob To: Thomas Monjalon Message-ID: <20160203133810.GA7359@localhost.localdomain> References: <1454453993-3903-1-git-send-email-thomas.monjalon@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1454453993-3903-1-git-send-email-thomas.monjalon@6wind.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [122.167.162.141] X-ClientProxiedBy: MAXPR01CA0030.INDPRD01.PROD.OUTLOOK.COM (25.164.147.37) To BN3PR0701MB1717.namprd07.prod.outlook.com (25.163.39.16) X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 2:zCbJr0N4vZE30WSTmmFeQYzgg855ctZe6Do+ycEZc8/1LiYxDA9HTlB09DNuXUdDaljBFhelmY6W4xmLwjHWSMsqn3ezGW/cygF87udKb5Vr/jDrX2098ySNgBZsCiN2eQxjnvx1He29kIZyAsQFFw==; 3:Uz+PhExvqExbUBQfj0wrax9wCqYDnwkIMtA8jKihfAx4ndUa5zHJo42qKOmsN1h5BXXwsVqi+OSxVjsYghsHDS4pcAR9CYXnlxHdLwxIEp/Xo9AqF7WTnpDB5EZta5ub; 25:wPUsYxGyPIoyRg6KLiAuNWYddL2t+1SBDf7e0zW7xnREinQEmoxdo6j/zVVgbYW1GcEvhxOvSP/Ji6jvka/ClOtINhsdRWXjV/zDIRbAl7FwxnphUuRCcU5qc5yN8UBDjbP5uw9LGkBXp32xKMY+gpeNnJU5YBaEXtpdiv1lVXSyMYoAzlHG9FKAZAIZj0m+xbFsoj53GMqRmpiE4SpSHUzgvd+h7NIR4ASYOX390y/KMNvkqXycibk9JEd6J6zl X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1717; X-MS-Office365-Filtering-Correlation-Id: 014dc412-1f2b-4dcc-6648-08d32c9f4fee X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 20:eJb745AJbxmgKy34w+roymTXiEpnE826lbt3YsQMW0P9PUd0sJhDL3Io9BaQb0l/YwheQQKsq38R5xZityvf21XLlH/j//dhThNgS0O526IJfGqrozxtYwL+kTDNZcigeq6d46FpjUzk4vUFy2OkFJI13ePX2SJhRf0ERrbsSSpCwBIMzzu1xw9TBc22HuBzaYgIPccQDuqKKfvsNBF0pZwQ6wF3yMHGq8QlRY59qcMa0Q2K125txpDcXUqeMMy5xZ1gDzwFJwgQTSskQSnD9G1JR75DGGe95ImSGCxAZZ63LkX1xSzf/dSKpxB9z6GZq+EM1lWS9r4oSHUE7n0xYTnKzyg8P1SsmOdWSPqYCTrPSkg1cl2WoVJlDmvzBl4ut1OojPils06fDAH4tyfM2kCCYB/dY6kUNfa7MlEOrtJQP1V7b+C/7jL3+lgDgI+823N0RxjR6dHJmP0E0ybwtqtZtUtGBIoWrCM6Mw6xx9axs66n1w6Oja2ywRXma2l1eHd5eQqNByfNLDgwokQu0eufsNwqMYvUp0Jr0xrOuqfKxMlfiJfGuOL6rvw4sGWZ0QOPoap4rq6zOILz0j1g6Ab64E/srshPk9pW1bbfg5Q= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:BN3PR0701MB1717; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1717; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 4:mfQgJy15skRgA7UDwcS0APX/dwKbGbFuJsBnHIO/dEY7q28GVeK+NplfvjrznEAYE3JxToLX70pdFQeNRCMLR/YBh3ymQsJNW0WI3mXarvaqIkfugWIemXZQkNGdBXBQLcli/RmQM5WC6B+TwxK4gTFw6qVIts9A/Nrqh0RzUF7390O+At3bD4wFGSU+YCWnI5kA0Fj/uMldDPrqu1RNqylSBSWVzKaqp4WKSJpmUsUlRZ/dKh+ei4bIYcMBQr7RIQQP6QYBQ/A2qtesISb85icBAB2vEv0TwacNg52PXWZbXPTZv9g3pHwgzK38P3gFlyEBhxUGhzqR7kM1ZsFKSxovM/Ol1dm94pYHA7lwUQWS6H6yGscBokhVgTlRV6iV X-Forefront-PRVS: 08417837C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(24454002)(6116002)(19580395003)(4001350100001)(2950100001)(50986999)(76176999)(23676002)(61506002)(54356999)(1076002)(1096002)(586003)(122386002)(15975445007)(83506001)(86362001)(77096005)(5001960100002)(87976001)(47776003)(5004730100002)(92566002)(5008740100001)(2870700001)(189998001)(2906002)(66066001)(40100003)(42186005)(33656002)(50466002)(4326007)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1717; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjA3MDFNQjE3MTc7MjM6VHh6bjNsL0dpQUJLdkk2ZlVnNjBjVXVT?= =?utf-8?B?TE93akkrU3JvdGo3eE1jMDVmVDlsNnJpNktFN3FGdHFXSklXczR6SE5ucUU3?= =?utf-8?B?UjNybUlSdThtZXd1VTd2K24rV3p5MmNTcEpyYnJPOCt1eDJnWlBNY0FObTZq?= =?utf-8?B?NkU2OGVHeml2M0VETW9GRU5YS29PbEhtTHVVeExKK0MxSWpXbTFweWlNRHJF?= =?utf-8?B?OUJPSVV0dnRXZ213ZCtWTU5KcDVPdWx5NkY2R01rOUlpTWI0eklLcEJnMzJU?= =?utf-8?B?cmtQQnJWUkNoZzRuYUlqTU45VnBSaUNWajY3ek83R3dqaU1va2N5OWJVeHhl?= =?utf-8?B?YTc0ZVJ1cHllY3hvYTE0WjdNYXkveDVXWUo4OG1XeXNVL3p6bU1nSjhVRWRh?= =?utf-8?B?cjlhV2NKTUJ0RFZuM3NidXZyUGFuSXozMERwTU9nV0hkWmFiVzQxUFNaRGpS?= =?utf-8?B?V1hHWkhYN3FxYy9aVmJPMkVPc1U0bWhnYlVIMDA3QUNrdmhmWEJPRDh3Ulgz?= =?utf-8?B?STVHSTI0U2V0YXZKeW5DWXB2YWc2MWx1U3ZBYnBmVTZ6QzlrbU4ra2RkN1dB?= =?utf-8?B?Y1hvaGluZyttVXRLL0RDY3p0Zjg5ak02OE02eHNVR3BIU09FV25CaGljSHY1?= =?utf-8?B?bklrZWZBd0xkak9mK0ZzdzJWYTVRU09BZGRBK3NiR3lONk1QclJPWUtoS0dK?= =?utf-8?B?bzdmVFBzYUlNNDVXSnE4SWJQSUZqTWtMdEFDekFVZ2ltODVkNDB4NUFadG5E?= =?utf-8?B?ZzY0TXVaK05rTHY3N0ZsRFlCZjhMTytUMkRSODZBc0U5RlRJTXhqVHRXTkE2?= =?utf-8?B?K2ZKNEl2S1ZiaUFybGY2bmRPaHJ3blFiRU90QzczUDlGT3padGVwNmRkeWRW?= =?utf-8?B?WTVsYjFuR3VFL1NsSE9ibDBUaWxNbW9tUERpUVhuYlpNT1J6Si8vSDYxNTBi?= =?utf-8?B?V1pYbHpTRW0yVUZoRUN1a21FZnRiN3RIUnA5OStPTHRRRnpDQTZYOEZiL1Bh?= =?utf-8?B?WEp0aWFzS3NuWGtsR2RBdk0wdWpBcGhaQUs2S1kzL21aeUNBdEhXRjlITC9r?= =?utf-8?B?blNPU2t0aXN3RHIvVFlTNTBhSXRhTHZZd3JFeGR1L0h3U243Z2ptclRNbWM4?= =?utf-8?B?TzkxUGdlREtFV2JuK044MzZwMGpyVytTaHJ6NlZhNkpzeFpibTlBRXdBSStY?= =?utf-8?B?Um53MVdRVnM0bXJnYTVpZlVWUUp4ckMxOEtESm9kL1ZsQUxubkErYXlTa2JB?= =?utf-8?B?Q2tsV28xRmhCT3JNLzRFdkVTRkx6QlprZjVVMjY1bSt1M0ZINWJMUXMxdC9D?= =?utf-8?Q?lGT24SGwdnkbriogGYs5nYC07VmV1PMkis=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 5:GVot6gyztJD0CK+JzpJhPiPAspeIWL1wg2fYGRVv+hA322bNwoXf5nwA0JkE+VvsYq7NVxlvJhLHy/1/4KM55AOeGKhSF1tuYrNgPR/q95ZX8kXnP+X8Zy/gBGsGuWcjUTIGczPQwo2KNLCE5YBmPw==; 24:BxPrS0+Tt253j+GcmzewfrNEEI9Of8JuXZ+XuaLuQ37CPgNSsQ+qaCJ0gYeRLu7C6lFMJ633Xrv/yF+edE8S5DtoD3r/8ZZdwC37KiIh1dk= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2016 13:38:31.5098 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1717 Cc: dev@dpdk.org, viktorin@rehivetech.com Subject: Re: [dpdk-dev] [PATCH v1 0/5] clean-up cpuflags X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2016 13:38:37 -0000 On Tue, Feb 02, 2016 at 11:59:48PM +0100, Thomas Monjalon wrote: > Following the work of Ferruh, I suggest this cleanup to remove as much > as possible of the code from the cpuflags headers. > The goal is to un-inline these functions (not performance sensitive) > and remove the CPU flags table from the ABI (just added recently). > The bonus is to stop mimic x86 in ARM and PPC implementations. > > WARNING: it has not been tested nor compiled on Tilera, ARM and POWER8. > Please help, thank you. compilation errors on arm64 too. arm64 toolchains are publicly available @ http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu/ ➜ [master] thunderx [dpdk-master] $ make == Build lib == Build lib/librte_compat == Build lib/librte_eal == Build lib/librte_eal/common == Build lib/librte_eal/linuxapp == Build lib/librte_eal/linuxapp/igb_uio (cat /dev/null; echo kernel//home/jerin/dpdk-master/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko;) > /home/jerin/dpdk-master/build/build/lib/librte_eal/linuxapp/igb_uio/modules.order Building modules, stage 2. MODPOST 1 modules == Build lib/librte_eal/linuxapp/eal CC rte_cpuflags.o /home/jerin/dpdk-master/lib/librte_eal/common/arch/arm/rte_cpuflags.c:83:20: error: ‘REG_PLATFORM’ undeclared here (not in a function) FEAT_DEF(AARCH64, REG_PLATFORM, 1) ^ /home/jerin/dpdk-master/lib/librte_eal/common/arch/arm/rte_cpuflags.c:71:26: note: in definition of macro ‘FEAT_DEF’ [RTE_CPUFLAG_##name] = {reg, bit, #name}, ^ /home/jerin/dpdk-master/lib/librte_eal/common/arch/arm/rte_cpuflags.c: In function ‘rte_cpu_get_features’: /home/jerin/dpdk-master/lib/librte_eal/common/arch/arm/rte_cpuflags.c:144:8: error: array subscript is not an integer out[REG_PLATFORM] = 0x0001; ^ /home/jerin/dpdk-master/lib/librte_eal/common/arch/arm/rte_cpuflags.c:144:5: error: statement with no effect [-Werror=unused-value] out[REG_PLATFORM] = 0x0001; ^ cc1: all warnings being treated as errors /home/jerin/dpdk-master/mk/internal/rte.compile-pre.mk:126: recipe for target 'rte_cpuflags.o' failed make[5]: *** [rte_cpuflags.o] Error 1 /home/jerin/dpdk-master/mk/rte.subdir.mk:61: recipe for target 'eal' failed make[4]: *** [eal] Error 2 /home/jerin/dpdk-master/mk/rte.subdir.mk:61: recipe for target 'linuxapp' failed make[3]: *** [linuxapp] Error 2 /home/jerin/dpdk-master/mk/rte.subdir.mk:61: recipe for target 'librte_eal' failed make[2]: *** [librte_eal] Error 2 /home/jerin/dpdk-master/mk/rte.sdkbuild.mk:77: recipe for target 'lib' failed make[1]: *** [lib] Error 2 /home/jerin/dpdk-master/mk/rte.sdkroot.mk:123: recipe for target 'all' failed make: *** [all] Error 2 > > Thomas Monjalon (5): > eal: get CPU flag name > eal: move CPU flag functions out of headers > eal/arm: adapt CPU flags check to the arch > eal/ppc: adapt CPU flags check to the arch > eal: remove compiler optimization workaround > > app/test/test_hash_scaling.c | 2 + > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 +- > lib/librte_eal/common/arch/arm/rte_cpuflags.c | 170 ++++++++++++++++----- > lib/librte_eal/common/arch/ppc_64/rte_cpuflags.c | 145 +++++++++++++----- > lib/librte_eal/common/arch/tile/rte_cpuflags.c | 11 ++ > lib/librte_eal/common/arch/x86/rte_cpuflags.c | 91 +++++++++++ > lib/librte_eal/common/eal_common_cpuflags.c | 18 +-- > .../common/include/arch/arm/rte_cpuflags_32.h | 78 ---------- > .../common/include/arch/arm/rte_cpuflags_64.h | 79 ---------- > .../common/include/arch/ppc_64/rte_cpuflags.h | 64 -------- > .../common/include/arch/tile/rte_cpuflags.h | 29 ---- > .../common/include/arch/x86/rte_cpuflags.h | 66 -------- > .../common/include/generic/rte_cpuflags.h | 56 ++----- > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 3 +- > 14 files changed, 364 insertions(+), 450 deletions(-) > > -- > 2.5.2 >