From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH v5] examples/l3fwd: em path performance fix Date: Fri, 18 Mar 2016 16:22:00 +0530 Message-ID: <20160318105158.GA13693@localhost.localdomain> References: <1458293807-2604-1-git-send-email-tomaszx.kulasek@intel.com> <1458294767-5996-1-git-send-email-tomaszx.kulasek@intel.com> <1902439.xcempkFplY@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Cc: Tomasz Kulasek , , Jan Viktorin , To: Thomas Monjalon Return-path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0054.outbound.protection.outlook.com [65.55.169.54]) by dpdk.org (Postfix) with ESMTP id 05D5B2C5F for ; Fri, 18 Mar 2016 11:52:25 +0100 (CET) Content-Disposition: inline In-Reply-To: <1902439.xcempkFplY@xps13> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Mar 18, 2016 at 11:04:49AM +0100, Thomas Monjalon wrote: > 2016-03-18 10:52, Tomasz Kulasek: > > +#if !defined(NO_HASH_MULTI_LOOKUP) && defined(__ARM_NEON) >=20 > I think we should use CONFIG_RTE_ARCH_ARM_NEON here. > Any ARM maintainer to confirm? __ARM_NEON should work existing GCC, but it is better to use RTE_MACHINE_CPUFLAG_NEON as -it has been generated by probing the compiler capabilities. -it's future-proof solution to support clang or other gcc versions in future =E2=9E=9C [master]laptop [dpdk-master] $ aarch64-thunderx-linux-gnu-gcc -= dM -E - < /dev/null | grep NEON #define __ARM_NEON_FP 12 #define __ARM_NEON 1 make output aarch64-thunderx-linux-gnu-gcc -Wp,-MD,./.eal.o.d.tmp -pthread -march=3Darmv8-a+crc -mcpu=3Dthunderx -DRTE_MACHINE_CPUFLAG_NEON -DRTE_MACHINE_CPUFLAG_CRC32 -DRTE_COMPILE_TIME_CPUFLAGS=3DRTE_CPUFLAG_NEON,RTE_CPUFLAG_CRC32 -I/export/dpdk-master/build/include -include /export/dpdk-master/build/include/rte_config.h -I/export/dpdk-master/lib/librte_eal/linuxapp/eal/include -I/export/dpdk-master/lib/librte_eal/common -I/export/dpdk-master/lib/librte_eal/common/include -I/export/dpdk-master/lib/librte_ring -I/export/dpdk-master/lib/librte_mempool -I/export/dpdk-master/lib/librte_ivshmem -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Werror -O3 -D_GNU_SOURCE -o eal.o -c /export/dpdk-master/lib/librte_eal/linuxapp/eal/eal.c=20 Jerin >=20 > Note that there is already another occurence of this compiler flag: > examples/l3fwd/l3fwd_em.c:#elif defined(__ARM_NEON)