From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0057.outbound.protection.outlook.com [65.55.169.57]) by dpdk.org (Postfix) with ESMTP id AF6448E9E for ; Tue, 3 Nov 2015 05:31:21 +0100 (CET) Received: from CY1PR0701MB1979.namprd07.prod.outlook.com (10.163.141.21) by CY1PR0701MB1996.namprd07.prod.outlook.com (10.163.141.26) with Microsoft SMTP Server (TLS) id 15.1.312.18; Tue, 3 Nov 2015 04:31:20 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.localdomain (111.93.218.67) by CY1PR0701MB1979.namprd07.prod.outlook.com (10.163.141.21) with Microsoft SMTP Server (TLS) id 15.1.312.18; Tue, 3 Nov 2015 04:31:17 +0000 Date: Tue, 3 Nov 2015 10:00:55 +0530 From: Jerin Jacob To: "Ananyev, Konstantin" Message-ID: <20151103043051.GA2228@localhost.localdomain> References: <1446473921-12706-1-git-send-email-jerin.jacob@caviumnetworks.com> <1446473921-12706-2-git-send-email-jerin.jacob@caviumnetworks.com> <1446473921-12706-3-git-send-email-jerin.jacob@caviumnetworks.com> <2601191342CEEE43887BDE71AB97725836AB86A5@irsmsx105.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <2601191342CEEE43887BDE71AB97725836AB86A5@irsmsx105.ger.corp.intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0009.INDPRD01.PROD.OUTLOOK.COM (25.164.117.16) To CY1PR0701MB1979.namprd07.prod.outlook.com (25.163.141.21) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1979; 2:fdtrKQoYrNBTMYvqKZMipcYgLmlJYYaqKcaT0c3t6TnrSu+phG9cay54DWZsncdk17doGQPQqP6Ws872nOQgcVJsnXqLxyO1KaFfbavhNZpPZsc7ogvOfwu4MS7/eWpgOZcjB0ohizI2ZZ/ozaVJkG0IxtQkUlqDZKLoH0eaAhk=; 3:KruX/5uZRT+dO7CNiWP4qJEYShyowTu9sXINOmRnqTslzezNjhZt0fI142K75FzYvEfdSE/7/5bHmTAZDHbT+U6OutvYLeb4atJOnCGn1RAIFI3Q1fOnVOeT+lAWIeR9lnLjpRwL3IRXbUCTMFTieQ==; 25:75HMverfeeH7zL94YUpxOtsSPrJK+GLJ3NPHx/sKJ83yq4EZuqM0ZB5o5TfzefZyy0+f4NFFRFrdqoA1aIc1TUJ3uf5J9Sir4z+nWQP4T9HwgBMMqQqZCzqxDQv7G4mVnFR0e4I1XkPm+/m/l/Qqq/mzeb6fcRdj65fUBD9X0HsUMT6bTWl773ts5qCPhpdK9ETxCIDnC3iiv1r0sle1TElqR++HI6jhsW5Sylo6QeytbVDlu9eHjeqSdC/eX5fKFQRpVw/RGj25KZfQ7/PHFw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1979; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1979; 20:HpQbIPIPpzxce9nyly06/cmGy9e/jnv8Day4seThVl3oqcRWs+tHRBBkZT655LsFlmIb9WkBnRL3HVumBmeBMXM9x13sGYSKGUx4YKtlpaZAUsecQwqR6sVprnKU9xv8jl5EYBuYzT6lW1hChsXCl1Z+TrCDbhv1OQxpLRxfSydGFeWvGtWIQCzndsEhXENMz6bWlabWsP0S6tYYlMbjrXHy898P61mEG9QIVMOaqOWZujUQ2QNUffb1r8lnCUxfa/kbcOBJdepMVYS4Fk427OeNoqA9wtZXk0g/nrFpY4n9cezqQEI7aYsWlqr1LavclY95FwxBQNME/0hXe4ENMsQkmCXcQp1GCcH2zS0vMlsP3pooxM5rtjPoaSb8UPslS1lDoc/lDnLGMm+4395sUJHAJgZanFmt9T3LdZ0mTY+Nv0NkJDq0GUFm4BKRKzRVRdukCGbzmsvPtvuHyn/+mWHKxvu+O/Fh1a8Mm4RDzKrXUhZVFcS6dLpZDiJ8H2w2VRAI2iXzXfnpmsDtkHPAEOJLbdVcDluaJDufju3wTWWXJVF9UZgNDoq8UsUY98XhRcecsQFrrWUzXuCXlUTI1daJyaL0IZYjuYZHiZzU26s= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046); SRVR:CY1PR0701MB1979; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1979; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1979; 4:Xj22dQKvQBb8PUPkjz/f2g60sFF0LVIZyLFZv4zWdJMam71gw9vNHCenfZBXUHD2oPuz1KXCmOxblJheDYJXcUYOY35K+kmQBRKUMuTaSETBYpfBIcOSp/NNf7fwV4iAwIdNXJMthS6W9JG85ry99fVvJRZqA0bEjkAJsdu7zTgdwHPGDm3uAGCsHtmKeXHOTFuNYmR/qw3BoJUHZXIB9yuk411lE1SZZ/OsXkUa9MASJQAbWHSm6kaNiP2AjR04XgmCsnSRNamtbh1+HvOpcssBcHoZhGqugwXVnGmVEqxjiwR3h4KkPp7ZPeZukEyPGrQA1DuxcXPzkz1XufQ5w45C9jC6bp9Awn70xG74pwPOnP8Ql2MfPLDagG5AW8h6RHD4az4dvgnUodZWFO24Eg== X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(199003)(189002)(24454002)(87976001)(50466002)(92566002)(4001350100001)(5009440100003)(86362001)(42186005)(122386002)(61506002)(40100003)(101416001)(47776003)(33656002)(66066001)(81156007)(97736004)(2950100001)(50986999)(54356999)(76176999)(93886004)(5008740100001)(77096005)(5007970100001)(97756001)(23726002)(5004730100002)(105586002)(189998001)(83506001)(106356001)(46406003)(5001960100002)(110136002)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1979; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1979; 23:JMzswB1MHWc6xTyi6aiPPPh5eAkPplLMZ86vQwg?= =?us-ascii?Q?aBGrYPBRK6ZiWFyfUP8lIhOes5VRjh3KkA0cWLHnTgk31eGYeIxHfVuJwDnl?= =?us-ascii?Q?UPodYRM32E+F6+OFCflN+FneSdSC6va1040raXIIi8+2XZB95y2g8UcKFHb8?= =?us-ascii?Q?+M7gwsEStUZ1SgTC2RJ/K+d0S7sSm5410EMWld/fwa4Ub+DZ4R+uk2KarBk2?= =?us-ascii?Q?9mteKi/v62Cvg03GGIA0mF8SFEofC0f3371bQPTMafVC5wK+HVH+Z/PpSGGj?= =?us-ascii?Q?4q3Zmm94RD9ni2jTEbn0GusfnqE3QjfhwofHGgKzZA8VLosZQ/cIKTaUUCug?= =?us-ascii?Q?XwMvC5mGzfX/WrQ+ase2uCxWSkyZecVY4XNBnVtZNUvnLGKengjVh2pDRhQD?= =?us-ascii?Q?aNu2HRZzoOLhoKSsgbwa3ZegBUnyf+SRYuEUkp6pnoCkcqzb90+3q9Wbt7jj?= =?us-ascii?Q?iCiSbE3jE5TsV9QkrgiIc3/cA30H1sD/GuyEQ+fXjq9pUibferQTYT7hg1AK?= =?us-ascii?Q?VWu1QkCnOLUa4HpmvO6AXzZ0OLF9BySUAMwCAukIhI0ZM0g6bvbH2N9wKMOk?= =?us-ascii?Q?MUidVymMB/D5/0iBGMaNKKTxcXwNEUuXcvvuKlZ3g1cHqVAZ9xZ2B4YHhcdY?= =?us-ascii?Q?uZzKdNi04QZ8ldkYUhBQKXNvOok8Ip3Gv0q7CCAZbQ/af0HuuMGs1gyXp0Qf?= =?us-ascii?Q?v82E218wgqaYeXFslj2DJkOJcDs0dOSmpc0N/DFYJvEICQX+jzc84Ttt1apH?= =?us-ascii?Q?JlVaEmZ5FAQst4OOcDy62+vJUjbWfINcAnR/1KtwYCONrQ/+5VYMiD8hi/8X?= =?us-ascii?Q?fjSdPTMrhZiSZjeqP6bBOv0vzWfwH9hfoenfAp3vnLchIGsABrGs3fZNGX29?= =?us-ascii?Q?m/FHiVi2xtimXyF2AGyR1Nz8QV9F8EXwzmZPUgrNJ4MD2rUPGK8EUiJOORVH?= =?us-ascii?Q?PFi+mHj8sl9L56cXXLKTba9RtcfSlVxex/Cn+yRiWesFvM5KKFIjZoynwqen?= =?us-ascii?Q?nZRahCJ4pBtAoJgmLx1D1pjw9+CNrnVp/xxA2MCnxzg/uTJQUqRzl7Jm9bZd?= =?us-ascii?Q?45Tqhl0E6ssfV7El+Y1BDJJ49qyMY?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1979; 5:9/8g1l9WTNY8oxGcpPZFHLzviV4o+sro7kxtu41BaKue4pF8ldd6lgak0rB0VXuU2B1dUxuotjCVsjhhwDBGNYm4EOXrxhRFAf3Ocv8XSOJFDzwFZIfIzUYa/3PCRtaCIXbP0QsM7ufd3jXQK+Vk3A==; 24:GrfLa2PnCUZi1o14Uiq1/XTYvrpP/qIRk87J5hv49957jp3icVl5s1L12RI3tp3qoOZjEGlCo9pOaec1w/0eQsDaIhmiYgxTFBk5Eq55VAk=; 20:83skyOhoOinvphXcyRh8zXhD1zctEYOrGncwY4YHs2rbsi2DFd+WbnN9xa/jllxJ2W1wtJ0RuKBn6E3WHoM/9w== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2015 04:31:17.3009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1979 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1996; 2:MZQlYedKSIR2bbESQh7VaunNC1xYXRyfkXk7QMDHMBwMmnKSH5z9kuUM4O3cWh/trcnUA5rVKXeITy97nqsnYTujZHA7Junimw+PPqFaHNPh8QT/h4XUmDGayrFcicu7J+GAqMG4os16X2qqOo6If9/Lu+VsvS+lcwNuWSMQ4zg=; 23:FXyQjwBHcce5a3buurdUNuy2th1Qu9PTMs6T5RRYCksnVb+Qg6Iil/27x24abALYX+Hua2Z8cEwDekCqbKyYqzHC+KiLDOqM9m8x3JRS8sYomz3/nbOzp4U4TsPqkyCdHsLsLKb25ShB4LtejpPMtmBTFus5MpmpAZscq63HEkSVSHAnVgXC4oeEu6KhMzkX X-OriginatorOrg: caviumnetworks.com Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH 2/3] arm64: acl: add neon based acl implementation 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: Tue, 03 Nov 2015 04:31:22 -0000 On Mon, Nov 02, 2015 at 04:54:24PM +0000, Ananyev, Konstantin wrote: > Hi Jacob, > > > diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c > > index d60219f..e2fdebd 100644 > > --- a/lib/librte_acl/rte_acl.c > > +++ b/lib/librte_acl/rte_acl.c > > @@ -55,11 +55,32 @@ rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx, > > return -ENOTSUP; > > } > > > > +int __attribute__ ((weak)) > > +rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx, > > + __rte_unused const uint8_t **data, > > + __rte_unused uint32_t *results, > > + __rte_unused uint32_t num, > > + __rte_unused uint32_t categories) > > +{ > > + return -ENOTSUP; > > +} > > + > > +int __attribute__ ((weak)) > > +rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx, > > + __rte_unused const uint8_t **data, > > + __rte_unused uint32_t *results, > > + __rte_unused uint32_t num, > > + __rte_unused uint32_t categories) > > +{ > > + return -ENOTSUP; > > +} > > + > > static const rte_acl_classify_t classify_fns[] = { > > [RTE_ACL_CLASSIFY_DEFAULT] = rte_acl_classify_scalar, > > [RTE_ACL_CLASSIFY_SCALAR] = rte_acl_classify_scalar, > > [RTE_ACL_CLASSIFY_SSE] = rte_acl_classify_sse, > > [RTE_ACL_CLASSIFY_AVX2] = rte_acl_classify_avx2, > > + [RTE_ACL_CLASSIFY_NEON] = rte_acl_classify_neon, > > }; > > > > /* by default, use always available scalar code path. */ > > @@ -93,6 +114,9 @@ rte_acl_init(void) > > { > > enum rte_acl_classify_alg alg = RTE_ACL_CLASSIFY_DEFAULT; > > > > +#ifdef RTE_ARCH_ARM64 > > + alg = RTE_ACL_CLASSIFY_NEON; > > +#else Hi Konstantin, > > On ARM, is there any specific cpu flag that you can use to determine is NEON > isa is supported or not? Yes, on armv7(RTE_CPUFLAG_NEON). On armv8-a NEON is mandatory. > It would be good to avoid extra conditional compilation here if possible. neon acl is verified/ported only on armv8. While adding the armv7 support the check can be extended for cpuflag based on RTE_CPUFLAG_NEON on armv7 > Another question - did I get it right that NEON isa is supported on all > possible RTE_ARCH_ARM64 cpu models you plan to support? Yes > Konstantin > >