>-----Original Message-----
>From: Thomas Monjalon <[email protected]>
>Sent: Tuesday, April 23, 2019 2:51 AM
>To: Pavan Nikhilesh Bhagavatula <[email protected]>
>Cc: [email protected]; Jerin Jacob Kollanukkaran <[email protected]>; Marko
>Kovacevic <[email protected]>; Ori Kam <[email protected]>;
>Bruce Richardson <[email protected]>; Pablo de Lara
><[email protected]>; Radu Nicolau <[email protected]>;
>Akhil Goyal <[email protected]>; Tomasz Kantecki
><[email protected]>; [email protected]
>Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
>selection
>
>10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
>> From: Pavan Nikhilesh <[email protected]>
>>
>> Currently, l3wfd em mode has two datapath modes em_sequential and
>> em_hlm. We can select either of them by defining
>NO_HASH_MULTI_LOOKUP
>> to one or zero.
>> The code checks if NO_HASH_MULTI_LOOKUP is defined or not instead of
>> checking for the value.
>>
>> Fixes: 52c97adc1f0f ("examples/l3fwd: fix exact match performance")
>> Cc: [email protected]
>>
>> Signed-off-by: Pavan Nikhilesh <[email protected]>
>> ---
>> --- a/examples/l3fwd/l3fwd_em.c
>> +++ b/examples/l3fwd/l3fwd_em.c
>>  #if defined RTE_ARCH_X86 || defined RTE_MACHINE_CPUFLAG_NEON -#if
>> defined(NO_HASH_MULTI_LOOKUP)
>> +#if NO_HASH_MULTI_LOOKUP
>
>A quick grep shows that it used in another place with #ifdef:
>
>examples/l3fwd/l3fwd.h:#if !defined(NO_HASH_MULTI_LOOKUP) &&
>defined(RTE_MACHINE_CPUFLAG_NEON)
>
>

#if !defined(NO_HASH_MULTI_LOOKUP) && defined(RTE_MACHINE_CPUFLAG_NEON)
#define NO_HASH_MULTI_LOOKUP 1
#endif

This macro is used to set l3fwd_em_sequential as the default EM datapath on 
AARCH64 
as its performance is better. (http://patches.dpdk.org/patch/49372/)

make -C examples/l3fwd           #Selects l3fwd_em_sequential by default on 
AARCH 64 

Currently, we cannot select em_hlm without manually editing the macro as using 
the below command still
sets em_sequential as the default datapath because the macro modified in the 
patch that selects the datapath 
checks if NO_HASH_MULTI_LOOKUP is defined or not rather than its value.

EXTRA_CFLAGS='-DNO_HASH_MULTI_LOOKUP=0' make -C examples/l3fwd

I hope I cleared up things a bit.

Regards,
Pavan

Reply via email to