DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Olivier Matz <olivier.matz@6wind.com>
Cc: dev@dpdk.org, adrien.mazarguil@6wind.com
Subject: Re: [dpdk-dev] [PATCH] mlx4: use dummy rxqs when a non-pow2 number is requested
Date: Thu, 24 Mar 2016 12:20:43 +0000	[thread overview]
Message-ID: <20160324122043.GC13728@bricha3-MOBL3> (raw)
In-Reply-To: <1458576484-28211-1-git-send-email-olivier.matz@6wind.com>

On Mon, Mar 21, 2016 at 05:08:04PM +0100, Olivier Matz wrote:
> When using RSS, the number of rxqs has to be a power of two.
> This is a problem because there is no API is dpdk that makes
> the application aware of that.
> 
> A good compromise is to allow the application to request a
> number of rxqs that is not a power of 2, but having inactive
> queues that will never receive packets. In this configuration,
> a warning will be issued to users to let them know that
> this is not an optimal configuration.
> 
> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> ---
>  drivers/net/mlx4/mlx4.c | 27 +++++++++++++++++----------
>  1 file changed, 17 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index cc4e9aa..eaf06db 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -698,7 +698,7 @@ txq_cleanup(struct txq *txq);
>  
>  static int
>  rxq_setup(struct rte_eth_dev *dev, struct rxq *rxq, uint16_t desc,
> -	  unsigned int socket, const struct rte_eth_rxconf *conf,
> +	  unsigned int socket, int inactive, const struct rte_eth_rxconf *conf,
>  	  struct rte_mempool *mp);
>  
>  static void
> @@ -734,12 +734,12 @@ dev_configure(struct rte_eth_dev *dev)
>  	}
>  	if (rxqs_n == priv->rxqs_n)
>  		return 0;
> -	if ((rxqs_n & (rxqs_n - 1)) != 0) {
> -		ERROR("%p: invalid number of RX queues (%u),"
> -		      " must be a power of 2",
> +	if (!rte_is_power_of_2(rxqs_n)) {
> +		WARN("%p: number of RX queues (%u), must be a"
> +		      " power of 2: remaining queues will be inactive",

I'm not sure how clear this warning message is. To the reader there are no
extra "remaining" queues referred to, as it's not stated that the driver is
allocating extra queues. How about e.g.:

WARN("%p: number of RX queues on device must by a power of 2. Allocating %u
	queues, of which %u will be active. Remaining queues will be inactive"...)

/Bruce

  parent reply	other threads:[~2016-03-24 12:20 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-21 16:08 Olivier Matz
2016-03-21 16:45 ` Adrien Mazarguil
2016-03-21 17:38 ` Wiles, Keith
2016-03-22  9:48   ` Olivier Matz
2016-03-22 14:27     ` Wiles, Keith
2016-04-15  9:11       ` Olivier Matz
2016-03-24 12:20 ` Bruce Richardson [this message]
2016-03-24 12:25   ` Olivier Matz
2016-03-25 10:24 ` [dpdk-dev] [PATCH v2] " Olivier Matz
2016-03-25 15:18   ` Bruce Richardson

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=20160324122043.GC13728@bricha3-MOBL3 \
    --to=bruce.richardson@intel.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.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).