examples/ip_reassembly: enable scatter mode for Mellanox PMDs

Message ID 20191118181833.541-1-thinhtr@linux.vnet.ibm.com (mailing list archive)
State Rejected, archived
Delegated to: Thomas Monjalon
Headers
Series examples/ip_reassembly: enable scatter mode for Mellanox PMDs |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-compilation success Compile Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Thinh Tran Nov. 18, 2019, 6:18 p.m. UTC
  Simple change to enable scatter for Mellanox CX4/CX5 PMDs
to run this example

Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
---
 examples/ip_reassembly/main.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Jerin Jacob Nov. 18, 2019, 6:30 p.m. UTC | #1
On Mon, 18 Nov, 2019, 11:49 pm Thinh Tran, <thinhtr@linux.vnet.ibm.com>
wrote:

> Simple change to enable scatter for Mellanox CX4/CX5 PMDs
> to run this example
>
> Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> ---
>  examples/ip_reassembly/main.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
> index d59e6d02f..f881b89d1 100644
> --- a/examples/ip_reassembly/main.c
> +++ b/examples/ip_reassembly/main.c
> @@ -1109,6 +1109,9 @@ main(int argc, char **argv)
>                                 port_conf.rx_adv_conf.rss_conf.rss_hf,
>
> local_port_conf.rx_adv_conf.rss_conf.rss_hf);
>                 }
> +               /* Mellanox PMDs needs scatter mode to be explicitly
> enabled */
> +               if (!strcmp(dev_info.driver_name, "net_mlx5"))
>

No driver specific code in generic application. Please fix the driver
instead.

+                       local_port_conf.rxmode.offloads |=
> DEV_RX_OFFLOAD_SCATTER;
>
>                 ret = rte_eth_dev_configure(portid, 1,
> (uint16_t)n_tx_queue,
>                                             &local_port_conf);
> --
> 2.17.1
>
>
  
Thinh Tran Nov. 18, 2019, 11:02 p.m. UTC | #2
Hi Jerin,
would it be possible to add a command option such as '--enable-scatter' 
like testpmd does?
Thanks,
Thinh Tran
On 11/18/2019 12:30 PM, Jerin Jacob wrote:
> 
> 
> On Mon, 18 Nov, 2019, 11:49 pm Thinh Tran, <thinhtr@linux.vnet.ibm.com 
> <mailto:thinhtr@linux.vnet.ibm.com>> wrote:
> 
>     Simple change to enable scatter for Mellanox CX4/CX5 PMDs
>     to run this example
> 
>     Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com
>     <mailto:thinhtr@linux.vnet.ibm.com>>
>     ---
>       examples/ip_reassembly/main.c | 3 +++
>       1 file changed, 3 insertions(+)
> 
>     diff --git a/examples/ip_reassembly/main.c
>     b/examples/ip_reassembly/main.c
>     index d59e6d02f..f881b89d1 100644
>     --- a/examples/ip_reassembly/main.c
>     +++ b/examples/ip_reassembly/main.c
>     @@ -1109,6 +1109,9 @@ main(int argc, char **argv)
>                                      port_conf.rx_adv_conf.rss_conf.rss_hf,
>                                     
>     local_port_conf.rx_adv_conf.rss_conf.rss_hf);
>                      }
>     +               /* Mellanox PMDs needs scatter mode to be explicitly
>     enabled */
>     +               if (!strcmp(dev_info.driver_name, "net_mlx5"))
> 
> 
> No driver specific code in generic application. Please fix the driver 
> instead.
> 
>     +                       local_port_conf.rxmode.offloads |=
>     DEV_RX_OFFLOAD_SCATTER;
> 
>                      ret = rte_eth_dev_configure(portid, 1,
>     (uint16_t)n_tx_queue,
>                                                  &local_port_conf);
>     -- 
>     2.17.1
>
  
Stephen Hemminger Nov. 19, 2019, 1:15 a.m. UTC | #3
On Mon, 18 Nov 2019 12:18:33 -0600
Thinh Tran <thinhtr@linux.vnet.ibm.com> wrote:

> Simple change to enable scatter for Mellanox CX4/CX5 PMDs
> to run this example
> 
> Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> ---
>  examples/ip_reassembly/main.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
> index d59e6d02f..f881b89d1 100644
> --- a/examples/ip_reassembly/main.c
> +++ b/examples/ip_reassembly/main.c
> @@ -1109,6 +1109,9 @@ main(int argc, char **argv)
>  				port_conf.rx_adv_conf.rss_conf.rss_hf,
>  				local_port_conf.rx_adv_conf.rss_conf.rss_hf);
>  		}
> +		/* Mellanox PMDs needs scatter mode to be explicitly enabled */
> +		if (!strcmp(dev_info.driver_name, "net_mlx5")) 
> +			local_port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_SCATTER;

This is a bad, bad precedent.
Either fix MLX driver or enable it for all PMD's.

Forcing applications to do workarounds indicates a poor design abstraction.
  
Slava Ovsiienko Feb. 3, 2020, 2:43 p.m. UTC | #4
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger
> Sent: Tuesday, November 19, 2019 3:15
> To: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] examples/ip_reassembly: enable scatter
> mode for Mellanox PMDs
> 
> On Mon, 18 Nov 2019 12:18:33 -0600
> Thinh Tran <thinhtr@linux.vnet.ibm.com> wrote:
> 
> > Simple change to enable scatter for Mellanox CX4/CX5 PMDs to run this
> > example
> >
> > Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
> > ---
> >  examples/ip_reassembly/main.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/examples/ip_reassembly/main.c
> > b/examples/ip_reassembly/main.c index d59e6d02f..f881b89d1 100644
> > --- a/examples/ip_reassembly/main.c
> > +++ b/examples/ip_reassembly/main.c
> > @@ -1109,6 +1109,9 @@ main(int argc, char **argv)
> >  				port_conf.rx_adv_conf.rss_conf.rss_hf,
> >  				local_port_conf.rx_adv_conf.rss_conf.rss_hf);
> >  		}
> > +		/* Mellanox PMDs needs scatter mode to be explicitly
> enabled */
> > +		if (!strcmp(dev_info.driver_name, "net_mlx5"))
> > +			local_port_conf.rxmode.offloads |=
> DEV_RX_OFFLOAD_SCATTER;
> 
> This is a bad, bad precedent.
> Either fix MLX driver or enable it for all PMD's.
> Forcing applications to do workarounds indicates a poor design abstraction.
+1
What about checking whether PMD supports scattering offload and enable these one?
  

Patch

diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index d59e6d02f..f881b89d1 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -1109,6 +1109,9 @@  main(int argc, char **argv)
 				port_conf.rx_adv_conf.rss_conf.rss_hf,
 				local_port_conf.rx_adv_conf.rss_conf.rss_hf);
 		}
+		/* Mellanox PMDs needs scatter mode to be explicitly enabled */
+		if (!strcmp(dev_info.driver_name, "net_mlx5")) 
+			local_port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_SCATTER;
 
 		ret = rte_eth_dev_configure(portid, 1, (uint16_t)n_tx_queue,
 					    &local_port_conf);