patches for DPDK stable branches
 help / color / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started
@ 2020-07-16 10:43 Maxime Leroy
  2020-09-10 11:23 ` Maxime Leroy
  2020-09-15  8:14 ` [dpdk-stable] " Raslan Darawsheh
  0 siblings, 2 replies; 4+ messages in thread
From: Maxime Leroy @ 2020-07-16 10:43 UTC (permalink / raw)
  To: dev; +Cc: stable, Raslan Darawsheh

The following sequences was working fine on mlx5:
   rte_eth_dev_configure(portid, ...);

   for (queueid = 0; queueid < nb_txq; queueid++)
      rte_eth_tx_queue_setup(portid, queueid, ...);

   for (queueid = 0; queueid < nb_rxq; queueid++)
      rte_eth_rx_queue_setup(portid, queueid, ...);

  // use a custom reta configuration
  rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size);
  rte_eth_dev_start(portid);

We were able to configure a custom reta before starting the port.

The commit "net/mlx5: support RSS on hairpin" breaks this logic by
moving the code initializing the RSS reta from rte_eth_dev_configure
into rte_eth_dev_start.

To fix the issue, the skip_default_rss_reta is always set to 1 in
rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device
is started.

Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin")
Signed-off-by: Maxime Leroy <maxime.leroy@6wind.com>
---
 drivers/net/mlx5/mlx5_rss.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
index 653b0691..6f75ece2 100644
--- a/drivers/net/mlx5/mlx5_rss.c
+++ b/drivers/net/mlx5/mlx5_rss.c
@@ -220,9 +220,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
 		MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n);
 		(*priv->reta_idx)[i] = reta_conf[idx].reta[pos];
 	}
+
+	priv->skip_default_rss_reta = 1;
+
 	if (dev->data->dev_started) {
 		mlx5_dev_stop(dev);
-		priv->skip_default_rss_reta = 1;
 		return mlx5_dev_start(dev);
 	}
 	return 0;
-- 
2.27.0


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

* Re: [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started
  2020-07-16 10:43 [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started Maxime Leroy
@ 2020-09-10 11:23 ` Maxime Leroy
  2020-09-10 12:17   ` [dpdk-stable] [dpdk-dev] " Ori Kam
  2020-09-15  8:14 ` [dpdk-stable] " Raslan Darawsheh
  1 sibling, 1 reply; 4+ messages in thread
From: Maxime Leroy @ 2020-09-10 11:23 UTC (permalink / raw)
  To: Raslan Darawsheh; +Cc: stable, dev

Hi Raslan,

Any comment/review on the fix ?

Regards,

Maxime

On Thu, Jul 16, 2020 at 12:43 PM Maxime Leroy <maxime.leroy@6wind.com> wrote:
>
> The following sequences was working fine on mlx5:
>    rte_eth_dev_configure(portid, ...);
>
>    for (queueid = 0; queueid < nb_txq; queueid++)
>       rte_eth_tx_queue_setup(portid, queueid, ...);
>
>    for (queueid = 0; queueid < nb_rxq; queueid++)
>       rte_eth_rx_queue_setup(portid, queueid, ...);
>
>   // use a custom reta configuration
>   rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size);
>   rte_eth_dev_start(portid);
>
> We were able to configure a custom reta before starting the port.
>
> The commit "net/mlx5: support RSS on hairpin" breaks this logic by
> moving the code initializing the RSS reta from rte_eth_dev_configure
> into rte_eth_dev_start.
>
> To fix the issue, the skip_default_rss_reta is always set to 1 in
> rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device
> is started.
>
> Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin")
> Signed-off-by: Maxime Leroy <maxime.leroy@6wind.com>
> ---
>  drivers/net/mlx5/mlx5_rss.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
> index 653b0691..6f75ece2 100644
> --- a/drivers/net/mlx5/mlx5_rss.c
> +++ b/drivers/net/mlx5/mlx5_rss.c
> @@ -220,9 +220,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
>                 MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n);
>                 (*priv->reta_idx)[i] = reta_conf[idx].reta[pos];
>         }
> +
> +       priv->skip_default_rss_reta = 1;
> +
>         if (dev->data->dev_started) {
>                 mlx5_dev_stop(dev);
> -               priv->skip_default_rss_reta = 1;
>                 return mlx5_dev_start(dev);
>         }
>         return 0;
> --
> 2.27.0
>

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

* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/mlx5: fix rss reta is reset when device is started
  2020-09-10 11:23 ` Maxime Leroy
@ 2020-09-10 12:17   ` " Ori Kam
  0 siblings, 0 replies; 4+ messages in thread
From: Ori Kam @ 2020-09-10 12:17 UTC (permalink / raw)
  To: Maxime Leroy, Raslan Darawsheh; +Cc: stable, dev



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Maxime Leroy
> 
> Hi Raslan,
> 
> Any comment/review on the fix ?
> 
> Regards,
> 
> Maxime
> 
> On Thu, Jul 16, 2020 at 12:43 PM Maxime Leroy <maxime.leroy@6wind.com>
> wrote:
> >
> > The following sequences was working fine on mlx5:
> >    rte_eth_dev_configure(portid, ...);
> >
> >    for (queueid = 0; queueid < nb_txq; queueid++)
> >       rte_eth_tx_queue_setup(portid, queueid, ...);
> >
> >    for (queueid = 0; queueid < nb_rxq; queueid++)
> >       rte_eth_rx_queue_setup(portid, queueid, ...);
> >
> >   // use a custom reta configuration
> >   rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size);
> >   rte_eth_dev_start(portid);
> >
> > We were able to configure a custom reta before starting the port.
> >
> > The commit "net/mlx5: support RSS on hairpin" breaks this logic by
> > moving the code initializing the RSS reta from rte_eth_dev_configure
> > into rte_eth_dev_start.
> >
> > To fix the issue, the skip_default_rss_reta is always set to 1 in
> > rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device
> > is started.
> >
> > Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin")
> > Signed-off-by: Maxime Leroy <maxime.leroy@6wind.com>
> > ---

Acked-by: Ori Kam <orika@nvidia.com>
Thanks,
Ori

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

* Re: [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started
  2020-07-16 10:43 [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started Maxime Leroy
  2020-09-10 11:23 ` Maxime Leroy
@ 2020-09-15  8:14 ` " Raslan Darawsheh
  1 sibling, 0 replies; 4+ messages in thread
From: Raslan Darawsheh @ 2020-09-15  8:14 UTC (permalink / raw)
  To: Maxime Leroy, dev; +Cc: stable, Raslan Darawsheh

Hi,

> -----Original Message-----
> From: Maxime Leroy <maxime.leroy@6wind.com>
> Sent: Thursday, July 16, 2020 1:43 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Raslan Darawsheh <rasland@mellanox.com>
> Subject: [PATCH] net/mlx5: fix rss reta is reset when device is started
> 
> The following sequences was working fine on mlx5:
>    rte_eth_dev_configure(portid, ...);
> 
>    for (queueid = 0; queueid < nb_txq; queueid++)
>       rte_eth_tx_queue_setup(portid, queueid, ...);
> 
>    for (queueid = 0; queueid < nb_rxq; queueid++)
>       rte_eth_rx_queue_setup(portid, queueid, ...);
> 
>   // use a custom reta configuration
>   rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size);
>   rte_eth_dev_start(portid);
> 
> We were able to configure a custom reta before starting the port.
> 
> The commit "net/mlx5: support RSS on hairpin" breaks this logic by
> moving the code initializing the RSS reta from rte_eth_dev_configure
> into rte_eth_dev_start.
> 
> To fix the issue, the skip_default_rss_reta is always set to 1 in
> rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device
> is started.
> 
> Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin")
> Signed-off-by: Maxime Leroy <maxime.leroy@6wind.com>
> ---
>  drivers/net/mlx5/mlx5_rss.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
> index 653b0691..6f75ece2 100644
> --- a/drivers/net/mlx5/mlx5_rss.c
> +++ b/drivers/net/mlx5/mlx5_rss.c
> @@ -220,9 +220,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev
> *dev,
>  		MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n);
>  		(*priv->reta_idx)[i] = reta_conf[idx].reta[pos];
>  	}
> +
> +	priv->skip_default_rss_reta = 1;
> +
>  	if (dev->data->dev_started) {
>  		mlx5_dev_stop(dev);
> -		priv->skip_default_rss_reta = 1;
>  		return mlx5_dev_start(dev);
>  	}
>  	return 0;
> --
> 2.27.0

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

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

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-16 10:43 [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started Maxime Leroy
2020-09-10 11:23 ` Maxime Leroy
2020-09-10 12:17   ` [dpdk-stable] [dpdk-dev] " Ori Kam
2020-09-15  8:14 ` [dpdk-stable] " Raslan Darawsheh

patches for DPDK stable branches

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/ public-inbox