[dpdk-dev] [PATCH v2] arm: detect NEON by RTE_MACHINE_CPUFLAG_NEON flag only

2016-03-19 Thread Jan Viktorin
The RTE_MACHINE_CPUFLAG_NEON was only a result of the gcc testing. However, the target CPU may not support NEON or the user can disable to use it (as it does not always improve the performance). The RTE_MACHINE_CPUFLAG_NEON detection is now based on both, the __ARM_NEON_FP feature from gcc and CON

[dpdk-dev] [PATCH v2] arm: detect NEON by RTE_MACHINE_CPUFLAG_NEON flag only

2016-03-19 Thread Jan Viktorin
On Sat, 19 Mar 2016 10:26:30 +0100 Jan Viktorin wrote: > The RTE_MACHINE_CPUFLAG_NEON was only a result of the gcc testing. However, > the target CPU may not support NEON or the user can disable to use it (as it > does not always improve the performance). > > The RTE_MACHINE_CPUFLAG_NEON detecti

[dpdk-dev] ixgbe TX function selection

2016-03-19 Thread Ananyev, Konstantin
Hi Zoltan, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zoltan Kiss > Sent: Friday, March 18, 2016 1:33 PM > To: Lu, Wenzhuo; Wu, Jingjing; dev at dpdk.org > Subject: Re: [dpdk-dev] ixgbe TX function selection > > > > On 18/03/16 00:45, Lu, Wenzhuo wrot

[dpdk-dev] [PATCH v3 1/4] arm: remove CONFIG_RTE_ARCH_ARM_NEON

2016-03-19 Thread Jan Viktorin
ARMv7 machines have usually the NEON available. Customization of the -mfpu=neon must be done by hand or by defining another machine rte.vars.mk. So, the CONFIG_RTE_ARCH_ARM_NEON is useless (and confusing). Signed-off-by: Jan Viktorin --- config/defconfig_arm-armv7a-linuxapp-gcc | 1 - config/d

[dpdk-dev] [PATCH v3 0/4] arm: detect NEON by RTE_MACHINE_CPUFLAG_NEON flag only

2016-03-19 Thread Jan Viktorin
Hello, finally, I've broken the original patch into 4 pieces as it solves more issues and not just a single one. * As Thomas have already mentioned, the CONFIG_RTE_ARCH_ARM_NEON is confusing. So, I've decided to remove it entirely and provide another option for a more specific purpose: CONFI

[dpdk-dev] [PATCH v3 2/4] arm: detect NEON cpu feature by checking __ARM_NEON

2016-03-19 Thread Jan Viktorin
The __ARM_NEON declares that the arm_neon.h is available which is not true for the __ARM_NEON_FP. The __ARM_NEON_FP is not provided by aarch64 gcc. $ arm-linux-gnueabi-gcc -dM -E - < /dev/null | grep "_FP\|_NEON" #define __ARM_FP 12 #define __ARM_NEON_FP 4 #define __VFP_FP__ 1 $ arm-linux-g

[dpdk-dev] [PATCH v3 3/4] arm: detect NEON by checking RTE_MACHINE_CPUFLAG_NEON

2016-03-19 Thread Jan Viktorin
User applications and DPDK libraries should detect the NEON by the RTE_MACHINE_CPUFLAG_NEON. It guarantees that the arm_neon.h is present. Signed-off-by: Jan Viktorin --- examples/l3fwd/l3fwd_em.c | 2 +- lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h | 4 ++-

[dpdk-dev] [PATCH v3 4/4] eal/arm: introduce CONFIG_RTE_ARCH_ARM_NEON_MEMCPY

2016-03-19 Thread Jan Viktorin
The flag is used to enable memcpy optimizations in EAL. As it is not always the performance benefit, the flag allows to disable it. Signed-off-by: Jan Viktorin --- config/defconfig_arm-armv7a-linuxapp-gcc | 1 + lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h | 8 ++-- 2

[dpdk-dev] [PATCH v3 4/4] eal/arm: introduce CONFIG_RTE_ARCH_ARM_NEON_MEMCPY

2016-03-19 Thread Thomas Monjalon
2016-03-19 20:58, Jan Viktorin: > The flag is used to enable memcpy optimizations in EAL. As it is not always > the performance benefit, the flag allows to disable it. Ideally the default should be to choose the best optimization. If it is not possible, it would help to have some comments explaini