DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matan Azrad <matan@mellanox.com>
To: Mordechay Haimovsky <motih@mellanox.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] net/mlx4: verify RSS supports num Rx Qs being used
Date: Thu, 26 Jul 2018 14:35:42 +0000	[thread overview]
Message-ID: <VI1PR0501MB26088C528B4EF0891C9439E1D22B0@VI1PR0501MB2608.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <1532530059-7319-1-git-send-email-motih@mellanox.com>

Hi Moti

Small comment below.

From: Mordechay Haimovsky
> This patch verifies that the number of Rx queues configured for RSS is
> supported by the device hardware.
> RSS support in mlx4 requires contiguous chunk of QPs to be reserved, there is a
> hardware limitation on the amount of contiguous QPs which is reported by the
> hardware. Ignoring this value will cause Rx queues creation to fail.
> 
> Signed-off-by: Moti Haimovsky <motih@mellanox.com>
> ---
>  drivers/net/mlx4/mlx4.c     | 3 +++
>  drivers/net/mlx4/mlx4.h     | 1 +
>  drivers/net/mlx4/mlx4_rxq.c | 6 ++++++
>  3 files changed, 10 insertions(+)
> 
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index
> c67d2c0..defc0d4 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -673,6 +673,9 @@ struct mlx4_conf {
>  						   &device_attr_ex);
>  		DEBUG("supported RSS hash fields mask: %016" PRIx64,
>  		      priv->hw_rss_sup);
> +		priv->hw_rss_max_qps =
> +
> 	device_attr_ex.rss_caps.max_rwq_indirection_table_size;
> +		DEBUG("MAX RSS queues %d", priv->hw_rss_max_qps);
>  		priv->hw_fcs_strip = !!(device_attr_ex.raw_packet_caps &
> 
> 	IBV_RAW_PACKET_CAP_SCATTER_FCS);
>  		DEBUG("FCS stripping toggling is %ssupported", diff --git
> a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h index 89d8c38..e6fb934
> 100644
> --- a/drivers/net/mlx4/mlx4.h
> +++ b/drivers/net/mlx4/mlx4.h
> @@ -95,6 +95,7 @@ struct priv {
>  	uint32_t hw_fcs_strip:1; /**< FCS stripping toggling is supported. */
>  	uint32_t tso:1; /**< Transmit segmentation offload is supported. */
>  	uint32_t tso_max_payload_sz; /**< Max supported TSO payload size.
> */
> +	uint32_t hw_rss_max_qps; /**< Max Rx Queues supported by RSS. */
>  	uint64_t hw_rss_sup; /**< Supported RSS hash fields (Verbs format). */
>  	struct rte_intr_handle intr_handle; /**< Port interrupt handle. */
>  	struct mlx4_drop *drop; /**< Shared resources for drop flow rules. */
> diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c index
> 0cd9560..e8bef1d 100644
> --- a/drivers/net/mlx4/mlx4_rxq.c
> +++ b/drivers/net/mlx4/mlx4_rxq.c
> @@ -338,6 +338,12 @@ struct mlx4_rss *
> 
>  	if (priv->rss_init)
>  		return 0;
> +	if (priv->dev->data->nb_rx_queues > priv->hw_rss_max_qps) {
> +		ERROR("RSS does not support more than %d queues",
> +		      priv->hw_rss_max_qps);
> +		rte_errno = EINVAL;

What's about E2BIG ?

> +		return -rte_errno;
> +	}
>  	/* Prepare range for RSS contexts before creating the first WQ. */
>  	ret = mlx4_glue->dv_set_context_attr
>  		(priv->ctx,
> --
> 1.8.3.1

Besides that;
Acked-by: Matan Azrad <matan@mellanox.com>

  reply	other threads:[~2018-07-26 14:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-25 14:47 Moti Haimovsky
2018-07-26 14:35 ` Matan Azrad [this message]
2018-07-29  8:11   ` Matan Azrad
2018-07-29 11:12     ` Shahaf Shuler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR0501MB26088C528B4EF0891C9439E1D22B0@VI1PR0501MB2608.eurprd05.prod.outlook.com \
    --to=matan@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=motih@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).