From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0063.outbound.protection.outlook.com [65.55.169.63]) by dpdk.org (Postfix) with ESMTP id 8C0A55913 for ; Wed, 2 Dec 2015 15:56:29 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.localdomain (122.167.201.210) by BN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) with Microsoft SMTP Server (TLS) id 15.1.337.19; Wed, 2 Dec 2015 14:56:26 +0000 Date: Wed, 2 Dec 2015 20:26:08 +0530 From: Jerin Jacob To: Jan Viktorin Message-ID: <20151202145606.GA12696@localhost.localdomain> References: <1448904253-12929-1-git-send-email-jerin.jacob@caviumnetworks.com> <1448904253-12929-3-git-send-email-jerin.jacob@caviumnetworks.com> <20151202144340.6b846d81@pcviktorin.fit.vutbr.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20151202144340.6b846d81@pcviktorin.fit.vutbr.cz> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [122.167.201.210] X-ClientProxiedBy: MA1PR01CA0002.INDPRD01.PROD.OUTLOOK.COM (25.164.117.9) To BN3PR0701MB1719.namprd07.prod.outlook.com (25.163.39.18) X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 2:PJHeCVGwzUmngzpAF1Yxfgu82v9T+E0UEQzg+8AnSpu8UBLHrvAXumiGXo5LNEhVEJBs41oPSPODEeOAKv5q2zV8eL2lAJpcQSEj0+fTUvCkKx7oh6L/fuCxJpHC7/xJgltvOVgkqlKXxLyBnemyCg==; 3:kN/5sorZm0eiWDhPf0s5BNkUNCc1NuN6GHeSQxPNvKrR0ektO6WSC1ybgs2INMyC11AVcpWY6iuymor7jQz0SY02sKQ2lqY7EFCweRQOpNOwoIwVRGOsf2NNapXOzu93; 25:Dj8BEB72lnRKcv2BrEMSx/Sy/BSmj5XzHSIPaJ5mwrR2wSRivOgzDIm4tmOmZVwiBTAzXd3TMZe+MOK6/ezazt48Xp8+lNvpKrpgKyi+gLUs9eB8yms6fqGT+DfLn/W9EmY/8KtiW3Y43vsLtxM6FlCIlUewNXVElJp+iwn3C7i+TY2gMYxgp1g4htYrwS7YRi1FAoQnrFDG6e8n98bmeLayd0O5Iw6hjLGMz7Z0UAAyyZ16qB80x3UXZhdi2STZ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 20:GX5nF0caRkGECuZuWqtlc1Sjkk86DjiU3dgkbNzGPmJWT5jARGa9hRuZHKlwhsiEcU3PBzx38B/Qvn9+ilt8BzdlTwScmYvlg0aLYyx8jybZOHLV51R5XSPq99XIZxsASXpUeXbTaxDoaoIXs1LeNuTK+GcVAMtIW6f38WSfj43hZrrYygs2acUqNskjo9jzC1wABARuDlVQTGkV/aFAl1nFht7NAvkSeJ/RI+l7DB02j8/C6swBGivCuLHwVwWabo2J5Y8oAGkjwRMasZ9z5pCG/aTREJ0/CpDOvLCKcwwDiMFGW0BK0Dg6q05yFe26T8oEpoDolTgWHcR3ZZv0ZKOFVKkj3ZHi+vnoQSEQEtskFrlOnxv0WSmsn+8nqwcNZYOH38HNiIAVCGZ0wo6EScmqict4gh7peZ7rZT/IQc3yfuDrNU3qQ0dIgfCK0YorxwdMkfjaNcpomzfaSOnNFaMMrpmoNybvCngTe8h3Zv4hxlnTIE1VaCKjnu0deft50R5lfsvZUysOUhNLrkV8L66JLYMsRRdLSHlZEqXZPA4c4fCAdp1KrgDG4WFffsWjNuWI+HuK075lmdzC6zr3Z+bPe5SRHSA5fNylRwNQ/F0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046); SRVR:BN3PR0701MB1719; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 4:Kfx8K7rCT+XX6KU/+kMiVcsw6fitCjtsqX10NQO3kaU7ETaq+V0sbG+4HwleXNoemSTF4iVadnKKTlR8alsPu5FK9NxXHDgfDSWP2ibxVwJN1DLjarsdqkJlKwjJEAOl9KE8ArS91KLj7lN/aQ1NBexoNgcONlZGgpe73KB6OWlGp0dc2eD/vRZc7h12ngGeXUmyFUI1t6Jc8Aif8NarsFcoo5l2ePP7KrzFTa5hnlzrv0vQBcwDuAXW2/NqcgXNC5i/wcxruiNtcnkxfvIVEchMGljD+XQzW7wFdlaYkGITiezc9W8W0eX4V8eXRzgQSlv2DfRb8oAg2MHJikHfaZfgR0iE+/2v2D5G3Mu1RbvKC+j0/DTtlHNWyE7xoy9GSQmFEHpap47i/bN58oPB3dBQulSIMQKTqHeZsB8sIWs= X-Forefront-PRVS: 077884B8B5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(252514010)(189002)(199003)(24454002)(40100003)(5004730100002)(46406003)(4001350100001)(97736004)(87976001)(2950100001)(101416001)(97756001)(81156007)(122386002)(19580405001)(19580395003)(77096005)(1096002)(1076002)(54356999)(50466002)(23726003)(50986999)(76176999)(6116002)(586003)(3846002)(15974865002)(5008740100001)(86362001)(106356001)(66066001)(105586002)(47776003)(83506001)(61506002)(42186005)(33656002)(5001960100002)(110136002)(189998001)(92566002)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1719; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; BN3PR0701MB1719; 23:4knWp7s79Bb22IaGOZKPcZ+Rb9gebJ4uBRJvkFp?= =?us-ascii?Q?S6y1Ef/1xfwmEDTydD8OtCUPPqUTVWvpm30GdDYSklYReKAfQCl9rwnVo3Sw?= =?us-ascii?Q?qIcn7QvUE9DhXka4hVX2kOss9o1oEYLmUFzPuHBoLeneNFPppTO9SsvQFT1p?= =?us-ascii?Q?DpXIyoEL9VkBkix7i/7pIKbvy8UTJyTDenblsOhcEk25GTwVfhvxuzVpGU/X?= =?us-ascii?Q?aqYm1JzKGle8vTyEm4rdnoorzyNACSOqRdCXL5ZCeexm8O/nxPGxYECN7FR2?= =?us-ascii?Q?0FQpYwkpkE3jdt3XUnJj/Id+Th8gFKTeeWo9KXLl1Slirad9rlI9p1zyydYS?= =?us-ascii?Q?IbQvqmV63WI1xy6dQoChRWka6yZEA7UdGcJqGI+ulDB+O95FiJOaweB7tTbo?= =?us-ascii?Q?MxRJZY9xLReuZlyx7XQ67XjQA+ITtbMI81wHFTASgFThXNs69pWGlMy3baLc?= =?us-ascii?Q?mgq118EuS5TozPF6Z7lFRAx8BxyOYZHP8wznCox3285AlHdBGClsmPCfQJ2M?= =?us-ascii?Q?wNOxubYVBsI5KegTrzF4vPrqCNhxdGJY9aHfvY6qJwNkUEmHAQQunoE/1kB9?= =?us-ascii?Q?9/nKHkEcR3E7Zzdm+qlpuH91DZ6oFrIYZaEpzwKRHZJEp+BfUIyRg559fKZJ?= =?us-ascii?Q?OkuQQsQorut+PkDmi/M2Y8oUTvUxOWuuE6j4tqi0i/xk1rMi8Y7dfax4UuD+?= =?us-ascii?Q?rfZEkgHweawuWN5w7eQC/DlyY2UD6rmXqfW530LSXB4jlCBaqWEjGQWCtvgb?= =?us-ascii?Q?+KAFjn5HHO42G1kMptZ3/L4Gnrv1vXMD3ptQ5ZoyZF6aVXdAb9EkgD35mGmz?= =?us-ascii?Q?TLNCtOHZB2lISwv3z/DeRptUulSIK4dQcF+85LM5tcKbnt6D9maTGDxLvEPV?= =?us-ascii?Q?kHgF6u5OMVKofi6CIyd6bYFVdQFbuOlteiQSd53yyBkayojxmaiGlSxNq2xx?= =?us-ascii?Q?FMtrjWadcQ4ejQ+wpaqeTT/Juh639s0fwKODJjepeLgPT3CCZNxZQt5loubT?= =?us-ascii?Q?fAevHOFFhtB1NdSXlaDtQYW+97L8hKSJyeTSTPmTSELRlICwlHuRcFJ6aWtb?= =?us-ascii?Q?n2rqtokqhkZjQc5n53kN7b4SgjuuEnx8BuaqbBa+9EJiHCIasz09Wn14wJ47?= =?us-ascii?Q?DutTa9x1Tij9vqWSjnXJUfZXooUBdhW7oqND2g0K3gY613GH5ExXVyG7kpkE?= =?us-ascii?Q?9oBvYw8xZRhCpI3E=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 5:ZloVTyOdUf2wbIIRB0Wd08PPY214vHOwDf/5/pwmgcMSIkL9FFh7c3Dpjkbw5Yd/n4/XoQqALa0jXNk2R+uj3z1mGZ4q4nIcSRp6uBKGVMr7lfzdpXUE6unHdPaqPT3enzQUgZFS2RcF1swZUT41lg==; 24:9vzcKKO1v7k1yK0GsBJQa+IbUTmfznIwO3Wez5Q9jg3NBmLf5u4RXyQhvzz/TzYlo8Sb+1+6YCiHP7VaRHP1bK2z/R6zdUMGX6m/wc+8myA= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2015 14:56:26.8562 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1719 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 2/3] lpm: add support for NEON 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, 02 Dec 2015 14:56:30 -0000 On Wed, Dec 02, 2015 at 02:43:40PM +0100, Jan Viktorin wrote: > On Mon, 30 Nov 2015 22:54:12 +0530 > Jerin Jacob wrote: > > > enabled CONFIG_RTE_LIBRTE_LPM, CONFIG_RTE_LIBRTE_TABLE, > > CONFIG_RTE_LIBRTE_PIPELINE libraries for arm64. > > > > TABLE, PIPELINE libraries were disabled due to LPM library dependency. > > > > Signed-off-by: Jerin Jacob > > --- > > app/test/test_lpm.c | 10 +- > > config/defconfig_arm64-armv8a-linuxapp-gcc | 3 - > > lib/librte_lpm/Makefile | 3 + > > lib/librte_lpm/rte_lpm.h | 5 + > > lib/librte_lpm/rte_lpm_neon.h | 172 +++++++++++++++++++++++++++++ > > 5 files changed, 185 insertions(+), 8 deletions(-) > > create mode 100644 lib/librte_lpm/rte_lpm_neon.h > > > > [snip] > > > > # this lib needs eal > > DEPDIRS-$(CONFIG_RTE_LIBRTE_LPM) += lib/librte_eal > > diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h > > index c299ce2..12b75ce 100644 > > --- a/lib/librte_lpm/rte_lpm.h > > +++ b/lib/librte_lpm/rte_lpm.h > > @@ -361,6 +361,9 @@ rte_lpm_lookup_bulk_func(const struct rte_lpm *lpm, const uint32_t * ips, > > /* Mask four results. */ > > #define RTE_LPM_MASKX4_RES UINT64_C(0x00ff00ff00ff00ff) > > > > +#if defined(RTE_ARCH_ARM64) > > +#include "rte_lpm_neon.h" > > +#else > > /** > > * Lookup four IP addresses in an LPM table. > > * > > @@ -473,6 +476,8 @@ rte_lpm_lookupx4(const struct rte_lpm *lpm, __m128i ip, uint16_t hop[4], > > hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? (uint8_t)tbl[3] : defv; > > } > > > > +#endif > > + > > I would separate the SSE implementation into its own file as well. make sense. planning to make it as lib/librte_lpm/rte_lpm_sse.h and lib/librte_lpm/rte_lpm_neon.h. OK ? I can fix it in next revision. > > Otherwise, I like this patch. I hope to be able to test it soon. > > > [snip] > > > -- > Jan Viktorin E-mail: Viktorin@RehiveTech.com > System Architect Web: www.RehiveTech.com > RehiveTech > Brno, Czech Republic