[dpdk-dev] [PATCH] net/mlx5: setup RSS regardless of queue count
Nélio Laranjeiro
nelio.laranjeiro at 6wind.com
Tue Mar 20 13:26:08 CET 2018
On Mon, Mar 19, 2018 at 11:30:07AM -0500, Allain Legacy wrote:
> From: Dahir Osman <dahir.osman at windriver.com>
>
> In some environments it is desirable to have the NIC perform RSS
> normally on the packet regardless of the number of queues configured.
> The RSS hash result that is stored in the mbuf can then be used by
> the application to make decisions about how to distribute workloads
> to threads, secondary processes, or even virtual machines if the
> application is a virtual switch. This change to the mlx5 driver
> aligns with how other drivers in the Intel family work.
>
> Signed-off-by: Allain Legacy <allain.legacy at windriver.com>
> ---
> drivers/net/mlx5/mlx5_rxq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index ff58c4921..e6b05b0ad 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -1028,7 +1028,8 @@ mlx5_priv_rxq_new(struct priv *priv, uint16_t idx, uint16_t desc,
> tmpl->rxq.crc_present ? "disabled" : "enabled",
> tmpl->rxq.crc_present << 2);
> /* Save port ID. */
> - tmpl->rxq.rss_hash = priv->rxqs_n > 1;
> + tmpl->rxq.rss_hash = (!!(dev->data->dev_conf.rxmode.mq_mode &
> + ETH_MQ_RX_RSS));
> tmpl->rxq.port_id = dev->data->port_id;
> tmpl->priv = priv;
> tmpl->rxq.mp = mp;
> --
> 2.12.1
Unfortunately, is not enough to have a valid RSS hash result when the
PMD has a single Rx queue, a little more work needs to be handled in the
mlx5_flow.c engine to configure the hash field in Verbs Hash Rx queues
when a single queues is being used.
Thanks,
--
Nélio Laranjeiro
6WIND
More information about the dev
mailing list