[dpdk-dev] [dpdk-stable] [PATCH] net/mlx5: fix ConnectX-4LX Tx burst routines set

Slava Ovsiienko viacheslavo at mellanox.com
Wed Jan 8 16:50:27 CET 2020


Hi, Ferruh

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Wednesday, January 8, 2020 16:55
> To: Slava Ovsiienko <viacheslavo at mellanox.com>; dev at dpdk.org
> Cc: Matan Azrad <matan at mellanox.com>; Raslan Darawsheh
> <rasland at mellanox.com>; Ori Kam <orika at mellanox.com>; stable at dpdk.org;
> Thomas Monjalon <thomas at monjalon.net>
> Subject: Re: [dpdk-stable] [PATCH] net/mlx5: fix ConnectX-4LX Tx burst
> routines set
> 
> On 1/8/2020 2:53 PM, Ferruh Yigit wrote:
> > On 12/20/2019 10:48 AM, Viacheslav Ovsiienko wrote:
> >> The tx_burst routine supporting multi-segment packets with legacy MPW
> >> and without inline was missed, and there was no valid selection for
> >> these options, patch adds the missing routine.
> >>
> >> Fixes: 82e75f8323bf ("net/mlx5: fix legacy multi-packet Tx
> >> descriptors")
> >> Cc: stable at dpdk.org
> >>
> >> Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
> >> ---
> >>  drivers/net/mlx5/mlx5_rxtx.c | 9 +++++++++
> >>  1 file changed, 9 insertions(+)
> >>
> >> diff --git a/drivers/net/mlx5/mlx5_rxtx.c
> >> b/drivers/net/mlx5/mlx5_rxtx.c index a7f3bff..57804f5 100644
> >> --- a/drivers/net/mlx5/mlx5_rxtx.c
> >> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> >> @@ -4984,6 +4984,10 @@ enum mlx5_txcmp_code {
> >>  		MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
> >>  		MLX5_TXOFF_CONFIG_MPW)
> >>
> >> +MLX5_TXOFF_DECL(mc_mpw,
> >> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
> >> +		MLX5_TXOFF_CONFIG_EMPW | MLX5_TXOFF_CONFIG_MPW)
> >> +
> >>  MLX5_TXOFF_DECL(i_mpw,
> >>  		MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
> >>  		MLX5_TXOFF_CONFIG_MPW)
> >> @@ -5140,6 +5144,10 @@ enum mlx5_txcmp_code {
> >>  		MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
> >>  		MLX5_TXOFF_CONFIG_MPW)
> >>
> >> +MLX5_TXOFF_INFO(mc_mpw,
> >> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
> >> +		MLX5_TXOFF_CONFIG_EMPW | MLX5_TXOFF_CONFIG_MPW)
> >> +
> >>  MLX5_TXOFF_INFO(i_mpw,
> >>  		MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
> >>  		MLX5_TXOFF_CONFIG_MPW)
> >> @@ -5297,6 +5305,7 @@ enum mlx5_txcmp_code {
> >>  		DRV_LOG(DEBUG, "port %u has no selected Tx function"
> >>  			       " for requested offloads %04X",
> >>  				dev->data->port_id, olx);
> >> +		assert(false);
> >
> > Hi Slave,
> 
> Sorry Slava, it must be auto-correction, I recognized a few milliseconds too
> late.
Just forget, it is not a problem. This typo happens from time to time 😊
And it seems to be a smaller evil than a permanent torturing my colleagues
with my full name "Viacheslav" 😊

> 
> >
> > I think we should avoid PMDs calling the assert unconditionally,
> > specially in a code that debug level log is printed.
> >
> >>  		return NULL;
> >>  	}
> >>  	DRV_LOG(DEBUG, "port %u has selected Tx function"

Yes, I agree. We just do not have the check for the result returned by 
mlx5_select_tx_function(). I think we should check against NULL and
report an error.  "assert" is a temporary solution till this upgrade (in debug mode
we have a lot of messages and break on assert helps to locate the problem quickly,
reporting error will do the same).

With best regards, Slava


More information about the dev mailing list