From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@caviumnetworks.com>
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 <dev@dpdk.org>; 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 <jerin.jacob@caviumnetworks.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
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: <CY1PR0701MB19797B052DF58344906BAD658C2B0@CY1PR0701MB1979.namprd07.prod.outlook.com>
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" <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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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
> 
>