On Wed, 2019-01-02 at 13:28 +0800, Ruifeng Wang wrote:
> -------------------------------------------------------------------
> ---
> Compile option for hash_multi_lookup was broken, and caused feature
> cannot be enabled on Arm.
> This patch sets hash_multi_lookup method as default, and sequential
> lookup becomes optional.
> 
> In test of 8192 flows with 128-byte packets, throughput increased by
> 25.6% after enabling hash_multi_lookup.

# Are you changing l3fwd source code to test with 8K flows? meaning it
has only a few flows for hit case.

# Are you testing with ThunderX2?

# Can you check with single flow with 64B and one core? In my case,
I am getting >20% regression with octeontx.

Command used:
#./l3fwd -c 0x800000 -n 4 -- -P -E -p 0x3 --config="(0, 0,
23),(1,0,23)"

In addition to that,

The file examples/l3fwd/l3fwd_em_hlm.h has following change, Not sure
why we need ARM64 specific change there?

#ifdef RTE_ARCH_ARM64
#define EM_HASH_LOOKUP_COUNT 16
#else
#define EM_HASH_LOOKUP_COUNT 8
#endif


> Fixes: 52c97adc1f0f ("examples/l3fwd: fix exact match performance")
> Cc: tomaszx.kula...@intel.com
> 
> Signed-off-by: Ruifeng Wang <ruifeng.w...@arm.com>
> Reviewed-by: Gavin Hu <gavin...@arm.com>
> Reviewed-by: Phil Yang <phil.y...@arm.com>
> Tested-by: Ruifeng Wang <ruifeng.w...@arm.com>
> ---
>  examples/l3fwd/l3fwd.h | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
> index c962deac3..063b80018 100644
> --- a/examples/l3fwd/l3fwd.h
> +++ b/examples/l3fwd/l3fwd.h
> @@ -11,10 +11,6 @@
>  
>  #define RTE_LOGTYPE_L3FWD RTE_LOGTYPE_USER1
>  
> -#if !defined(NO_HASH_MULTI_LOOKUP) &&
> defined(RTE_MACHINE_CPUFLAG_NEON)
> -#define NO_HASH_MULTI_LOOKUP 1
> -#endif
> -
>  #define MAX_PKT_BURST     32
>  #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
>  

Reply via email to