DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
@ 2019-04-10  7:29 Pavan Nikhilesh Bhagavatula
  2019-04-10  7:29 ` Pavan Nikhilesh Bhagavatula
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-10  7:29 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki
  Cc: dev, Pavan Nikhilesh Bhagavatula, stable

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

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: stable@dpdk.org

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 examples/l3fwd/l3fwd_em.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index fa8f82be6..3980d94b8 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -299,7 +299,7 @@ em_get_ipv6_dst_port(void *ipv6_hdr, uint16_t portid, void *lookup_struct)
 }
 
 #if defined RTE_ARCH_X86 || defined RTE_MACHINE_CPUFLAG_NEON
-#if defined(NO_HASH_MULTI_LOOKUP)
+#if NO_HASH_MULTI_LOOKUP
 #include "l3fwd_em_sequential.h"
 #else
 #include "l3fwd_em_hlm.h"
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-10  7:29 [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection Pavan Nikhilesh Bhagavatula
@ 2019-04-10  7:29 ` Pavan Nikhilesh Bhagavatula
  2019-04-22 21:20 ` Thomas Monjalon
  2019-05-02 23:32 ` Thomas Monjalon
  2 siblings, 0 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-10  7:29 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki
  Cc: dev, Pavan Nikhilesh Bhagavatula, stable

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

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: stable@dpdk.org

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 examples/l3fwd/l3fwd_em.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index fa8f82be6..3980d94b8 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -299,7 +299,7 @@ em_get_ipv6_dst_port(void *ipv6_hdr, uint16_t portid, void *lookup_struct)
 }
 
 #if defined RTE_ARCH_X86 || defined RTE_MACHINE_CPUFLAG_NEON
-#if defined(NO_HASH_MULTI_LOOKUP)
+#if NO_HASH_MULTI_LOOKUP
 #include "l3fwd_em_sequential.h"
 #else
 #include "l3fwd_em_hlm.h"
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-10  7:29 [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection Pavan Nikhilesh Bhagavatula
  2019-04-10  7:29 ` Pavan Nikhilesh Bhagavatula
@ 2019-04-22 21:20 ` Thomas Monjalon
  2019-04-22 21:20   ` Thomas Monjalon
  2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
  2019-05-02 23:32 ` Thomas Monjalon
  2 siblings, 2 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-04-22 21:20 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> 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: stable@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
> --- 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)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-22 21:20 ` Thomas Monjalon
@ 2019-04-22 21:20   ` Thomas Monjalon
  2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
  1 sibling, 0 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-04-22 21:20 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> 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: stable@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
> --- 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)




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-22 21:20 ` Thomas Monjalon
  2019-04-22 21:20   ` Thomas Monjalon
@ 2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
  2019-04-23  2:47     ` Pavan Nikhilesh Bhagavatula
  2019-04-23  8:35     ` Thomas Monjalon
  1 sibling, 2 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-23  2:47 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable



>-----Original Message-----
>From: Thomas Monjalon <thomas@monjalon.net>
>Sent: Tuesday, April 23, 2019 2:51 AM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
>Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
>Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
>Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
><pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
>Akhil Goyal <akhil.goyal@nxp.com>; Tomasz Kantecki
><tomasz.kantecki@intel.com>; stable@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
>selection
>
>10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> 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: stable@dpdk.org
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> ---
>> --- 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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
@ 2019-04-23  2:47     ` Pavan Nikhilesh Bhagavatula
  2019-04-23  8:35     ` Thomas Monjalon
  1 sibling, 0 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-23  2:47 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable



>-----Original Message-----
>From: Thomas Monjalon <thomas@monjalon.net>
>Sent: Tuesday, April 23, 2019 2:51 AM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
>Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
>Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
>Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
><pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
>Akhil Goyal <akhil.goyal@nxp.com>; Tomasz Kantecki
><tomasz.kantecki@intel.com>; stable@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
>selection
>
>10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> 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: stable@dpdk.org
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> ---
>> --- 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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
  2019-04-23  2:47     ` Pavan Nikhilesh Bhagavatula
@ 2019-04-23  8:35     ` Thomas Monjalon
  2019-04-23  8:35       ` Thomas Monjalon
  2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
  1 sibling, 2 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-04-23  8:35 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
>From: Thomas Monjalon <thomas@monjalon.net>
> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >>
> >> 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: stable@dpdk.org
> >>
> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> ---
> >> --- 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.

In my understanding, we should check the value in the other case too,
instead of #if defined.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  8:35     ` Thomas Monjalon
@ 2019-04-23  8:35       ` Thomas Monjalon
  2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
  1 sibling, 0 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-04-23  8:35 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
>From: Thomas Monjalon <thomas@monjalon.net>
> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >>
> >> 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: stable@dpdk.org
> >>
> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> ---
> >> --- 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.

In my understanding, we should check the value in the other case too,
instead of #if defined.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  8:35     ` Thomas Monjalon
  2019-04-23  8:35       ` Thomas Monjalon
@ 2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
  2019-04-23  9:12         ` Pavan Nikhilesh Bhagavatula
  2019-04-24  2:59         ` Ruifeng Wang (Arm Technology China)
  1 sibling, 2 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-23  9:12 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable



>-----Original Message-----
>From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
>Sent: Tuesday, April 23, 2019 2:05 PM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
>Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
>Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
>Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
><pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
>Akhil Goyal <akhil.goyal@nxp.com>; Tomasz Kantecki
><tomasz.kantecki@intel.com>; stable@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
>selection
>
>23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
>>From: Thomas Monjalon <thomas@monjalon.net>
>> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
>> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> >>
>> >> 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: stable@dpdk.org
>> >>
>> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> >> ---
>> >> --- 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.
>
>In my understanding, we should check the value in the other case too, instead
>of #if defined.

That will lead to undefined and redefined error:

[dpdk] # make -C examples/l3fwd
make: Entering directory '/root/pavan/dpdk-int/examples/l3fwd'
  CC main.o
  CC l3fwd_lpm.o
In file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
/root/dpdk/examples/l3fwd/l3fwd.h:14:6: error: "NO_HASH_MULTI_LOOKUP" is not defined, evaluates to 0 [-Werror=undef]
 #if !NO_HASH_MULTI_LOOKUP && defined(RTE_MACHINE_CPUFLAG_NEON)

[dpdk] # EXTRA_CFLAGS='-DNO_HASH_MULTI_LOOKUP=0' make -C examples/l3fwd
make: Entering directory '/root/dpdk/examples/l3fwd'
  CC main.o                                                                                       ]
 #define NO_HASH_MULTI_LOOKUP 1
 n file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
<command-line>:0:0: note:
                                                                                                  ]
 #define NO_HASH_MULTI_LOOKUP 1is the location of the previous definition

>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
@ 2019-04-23  9:12         ` Pavan Nikhilesh Bhagavatula
  2019-04-24  2:59         ` Ruifeng Wang (Arm Technology China)
  1 sibling, 0 replies; 14+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-04-23  9:12 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable



>-----Original Message-----
>From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
>Sent: Tuesday, April 23, 2019 2:05 PM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
>Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
>Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
>Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
><pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
>Akhil Goyal <akhil.goyal@nxp.com>; Tomasz Kantecki
><tomasz.kantecki@intel.com>; stable@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
>selection
>
>23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
>>From: Thomas Monjalon <thomas@monjalon.net>
>> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
>> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> >>
>> >> 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: stable@dpdk.org
>> >>
>> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> >> ---
>> >> --- 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.
>
>In my understanding, we should check the value in the other case too, instead
>of #if defined.

That will lead to undefined and redefined error:

[dpdk] # make -C examples/l3fwd
make: Entering directory '/root/pavan/dpdk-int/examples/l3fwd'
  CC main.o
  CC l3fwd_lpm.o
In file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
/root/dpdk/examples/l3fwd/l3fwd.h:14:6: error: "NO_HASH_MULTI_LOOKUP" is not defined, evaluates to 0 [-Werror=undef]
 #if !NO_HASH_MULTI_LOOKUP && defined(RTE_MACHINE_CPUFLAG_NEON)

[dpdk] # EXTRA_CFLAGS='-DNO_HASH_MULTI_LOOKUP=0' make -C examples/l3fwd
make: Entering directory '/root/dpdk/examples/l3fwd'
  CC main.o                                                                                       ]
 #define NO_HASH_MULTI_LOOKUP 1
 n file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
<command-line>:0:0: note:
                                                                                                  ]
 #define NO_HASH_MULTI_LOOKUP 1is the location of the previous definition

>
>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
  2019-04-23  9:12         ` Pavan Nikhilesh Bhagavatula
@ 2019-04-24  2:59         ` Ruifeng Wang (Arm Technology China)
  2019-04-24  2:59           ` Ruifeng Wang (Arm Technology China)
  1 sibling, 1 reply; 14+ messages in thread
From: Ruifeng Wang (Arm Technology China) @ 2019-04-24  2:59 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, thomas
  Cc: dev, jerinj, Marko Kovacevic, Ori Kam, Bruce Richardson,
	Pablo de Lara, Radu Nicolau, Akhil.goyal@nxp.com,
	Tomasz Kantecki, stable, nd

Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Pavan Nikhilesh
> Bhagavatula
> Sent: Tuesday, April 23, 2019 17:13
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; jerinj@marvell.com; Marko Kovacevic
> <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>; Bruce
> Richardson <bruce.richardson@intel.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
> Akhil.goyal@nxp.com; Tomasz Kantecki <tomasz.kantecki@intel.com>;
> stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
> selection
> 
> 
> 
> >-----Original Message-----
> >From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> >Sent: Tuesday, April 23, 2019 2:05 PM
> >To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> >Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
> >Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
> >Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
> ><pablo.de.lara.guarch@intel.com>; Radu Nicolau
> ><radu.nicolau@intel.com>; Akhil Goyal <akhil.goyal@nxp.com>; Tomasz
> >Kantecki <tomasz.kantecki@intel.com>; stable@dpdk.org
> >Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
> >selection
> >
> >23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
> >>From: Thomas Monjalon <thomas@monjalon.net>
> >> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> >> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> >>
> >> >> 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: stable@dpdk.org
> >> >>
> >> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> >> ---
> >> >> --- 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.
> >
> >In my understanding, we should check the value in the other case too,
> >instead of #if defined.
> 
> That will lead to undefined and redefined error:
> 
> [dpdk] # make -C examples/l3fwd
> make: Entering directory '/root/pavan/dpdk-int/examples/l3fwd'
>   CC main.o
>   CC l3fwd_lpm.o
> In file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
> /root/dpdk/examples/l3fwd/l3fwd.h:14:6: error:
> "NO_HASH_MULTI_LOOKUP" is not defined, evaluates to 0 [-Werror=undef]
> #if !NO_HASH_MULTI_LOOKUP &&
> defined(RTE_MACHINE_CPUFLAG_NEON)
> 
> [dpdk] # EXTRA_CFLAGS='-DNO_HASH_MULTI_LOOKUP=0' make -C
> examples/l3fwd
> make: Entering directory '/root/dpdk/examples/l3fwd'
>   CC main.o                                                                                       ]
>  #define NO_HASH_MULTI_LOOKUP 1
>  n file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
> <command-line>:0:0: note:
>                                                                                                   ]  #define
> NO_HASH_MULTI_LOOKUP 1is the location of the previous definition
> 
> >
> >

Actually I looked at this EM lookup mode selection issue as well, and my first solution is the same as yours :)
I didn't find out a way to enable selection without using compile options (-DNO_HASH_MULTI_LOOKUP etc.). 
Maybe we can use both HASH_MULTI_LOOKUP and NO_HASH_MULTI_LOOKUP like below:

--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -11,8 +11,8 @@
 
 #define RTE_LOGTYPE_L3FWD RTE_LOGTYPE_USER1
 
-#if !defined(NO_HASH_MULTI_LOOKUP) && defined(RTE_MACHINE_CPUFLAG_NEON)
-#define NO_HASH_MULTI_LOOKUP 1
+#if !defined(HASH_MULTI_LOOKUP) && defined(RTE_MACHINE_CPUFLAG_NEON)
+#define NO_HASH_MULTI_LOOKUP
 #endif

Not sure if this is a good idea.
PS: if we are controlling selection using compile options, it is better to be documented somewhere.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-24  2:59         ` Ruifeng Wang (Arm Technology China)
@ 2019-04-24  2:59           ` Ruifeng Wang (Arm Technology China)
  0 siblings, 0 replies; 14+ messages in thread
From: Ruifeng Wang (Arm Technology China) @ 2019-04-24  2:59 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, thomas
  Cc: dev, jerinj, Marko Kovacevic, Ori Kam, Bruce Richardson,
	Pablo de Lara, Radu Nicolau, Akhil.goyal@nxp.com,
	Tomasz Kantecki, stable, nd

Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Pavan Nikhilesh
> Bhagavatula
> Sent: Tuesday, April 23, 2019 17:13
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; jerinj@marvell.com; Marko Kovacevic
> <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>; Bruce
> Richardson <bruce.richardson@intel.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Radu Nicolau <radu.nicolau@intel.com>;
> Akhil.goyal@nxp.com; Tomasz Kantecki <tomasz.kantecki@intel.com>;
> stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
> selection
> 
> 
> 
> >-----Original Message-----
> >From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> >Sent: Tuesday, April 23, 2019 2:05 PM
> >To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> >Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Marko
> >Kovacevic <marko.kovacevic@intel.com>; Ori Kam <orika@mellanox.com>;
> >Bruce Richardson <bruce.richardson@intel.com>; Pablo de Lara
> ><pablo.de.lara.guarch@intel.com>; Radu Nicolau
> ><radu.nicolau@intel.com>; Akhil Goyal <akhil.goyal@nxp.com>; Tomasz
> >Kantecki <tomasz.kantecki@intel.com>; stable@dpdk.org
> >Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath
> >selection
> >
> >23/04/2019 04:47, Pavan Nikhilesh Bhagavatula:
> >>From: Thomas Monjalon <thomas@monjalon.net>
> >> >10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> >> >> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> >>
> >> >> 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: stable@dpdk.org
> >> >>
> >> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >> >> ---
> >> >> --- 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.
> >
> >In my understanding, we should check the value in the other case too,
> >instead of #if defined.
> 
> That will lead to undefined and redefined error:
> 
> [dpdk] # make -C examples/l3fwd
> make: Entering directory '/root/pavan/dpdk-int/examples/l3fwd'
>   CC main.o
>   CC l3fwd_lpm.o
> In file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
> /root/dpdk/examples/l3fwd/l3fwd.h:14:6: error:
> "NO_HASH_MULTI_LOOKUP" is not defined, evaluates to 0 [-Werror=undef]
> #if !NO_HASH_MULTI_LOOKUP &&
> defined(RTE_MACHINE_CPUFLAG_NEON)
> 
> [dpdk] # EXTRA_CFLAGS='-DNO_HASH_MULTI_LOOKUP=0' make -C
> examples/l3fwd
> make: Entering directory '/root/dpdk/examples/l3fwd'
>   CC main.o                                                                                       ]
>  #define NO_HASH_MULTI_LOOKUP 1
>  n file included from /root/dpdk/examples/l3fwd/l3fwd_lpm.c:28:0:
> <command-line>:0:0: note:
>                                                                                                   ]  #define
> NO_HASH_MULTI_LOOKUP 1is the location of the previous definition
> 
> >
> >

Actually I looked at this EM lookup mode selection issue as well, and my first solution is the same as yours :)
I didn't find out a way to enable selection without using compile options (-DNO_HASH_MULTI_LOOKUP etc.). 
Maybe we can use both HASH_MULTI_LOOKUP and NO_HASH_MULTI_LOOKUP like below:

--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -11,8 +11,8 @@
 
 #define RTE_LOGTYPE_L3FWD RTE_LOGTYPE_USER1
 
-#if !defined(NO_HASH_MULTI_LOOKUP) && defined(RTE_MACHINE_CPUFLAG_NEON)
-#define NO_HASH_MULTI_LOOKUP 1
+#if !defined(HASH_MULTI_LOOKUP) && defined(RTE_MACHINE_CPUFLAG_NEON)
+#define NO_HASH_MULTI_LOOKUP
 #endif

Not sure if this is a good idea.
PS: if we are controlling selection using compile options, it is better to be documented somewhere.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-04-10  7:29 [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection Pavan Nikhilesh Bhagavatula
  2019-04-10  7:29 ` Pavan Nikhilesh Bhagavatula
  2019-04-22 21:20 ` Thomas Monjalon
@ 2019-05-02 23:32 ` Thomas Monjalon
  2019-05-02 23:32   ` Thomas Monjalon
  2 siblings, 1 reply; 14+ messages in thread
From: Thomas Monjalon @ 2019-05-02 23:32 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> 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: stable@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
> --- 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

It does not compile:

examples/l3fwd/l3fwd_em.c:302:5: error:
	'NO_HASH_MULTI_LOOKUP' is not defined, evaluates to 0 [-Werror,-Wundef]
	#if NO_HASH_MULTI_LOOKUP

Anyway such compilation option should be just removed.
Please replace it with a runtime option and/or make it documented.
Thanks

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection
  2019-05-02 23:32 ` Thomas Monjalon
@ 2019-05-02 23:32   ` Thomas Monjalon
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-05-02 23:32 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: dev, Jerin Jacob Kollanukkaran, Marko Kovacevic, Ori Kam,
	Bruce Richardson, Pablo de Lara, Radu Nicolau, Akhil Goyal,
	Tomasz Kantecki, stable

10/04/2019 09:29, Pavan Nikhilesh Bhagavatula:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> 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: stable@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
> --- 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

It does not compile:

examples/l3fwd/l3fwd_em.c:302:5: error:
	'NO_HASH_MULTI_LOOKUP' is not defined, evaluates to 0 [-Werror,-Wundef]
	#if NO_HASH_MULTI_LOOKUP

Anyway such compilation option should be just removed.
Please replace it with a runtime option and/or make it documented.
Thanks



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-05-02 23:32 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10  7:29 [dpdk-dev] [PATCH] examples/l3fwd: fix em mode datapath selection Pavan Nikhilesh Bhagavatula
2019-04-10  7:29 ` Pavan Nikhilesh Bhagavatula
2019-04-22 21:20 ` Thomas Monjalon
2019-04-22 21:20   ` Thomas Monjalon
2019-04-23  2:47   ` Pavan Nikhilesh Bhagavatula
2019-04-23  2:47     ` Pavan Nikhilesh Bhagavatula
2019-04-23  8:35     ` Thomas Monjalon
2019-04-23  8:35       ` Thomas Monjalon
2019-04-23  9:12       ` Pavan Nikhilesh Bhagavatula
2019-04-23  9:12         ` Pavan Nikhilesh Bhagavatula
2019-04-24  2:59         ` Ruifeng Wang (Arm Technology China)
2019-04-24  2:59           ` Ruifeng Wang (Arm Technology China)
2019-05-02 23:32 ` Thomas Monjalon
2019-05-02 23:32   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).