Netdev List
 help / color / mirror / Atom feed
From: Michal Kubecek <mkubecek@suse.cz>
To: netdev@vger.kernel.org
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
	linville@tuxdriver.com,
	Nicholas Nunley <nicholas.d.nunley@intel.com>,
	nhorman@redhat.com, sassmann@redhat.com
Subject: Re: [PATCH v2 3/6] ethtool: introduce new ioctl for per-queue settings
Date: Wed, 6 Feb 2019 13:43:07 +0100	[thread overview]
Message-ID: <20190206124307.GA18410@unicorn.suse.cz> (raw)
In-Reply-To: <20190206000106.24364-3-jeffrey.t.kirsher@intel.com>

On Tue, Feb 05, 2019 at 04:01:03PM -0800, Jeff Kirsher wrote:
> +static int do_perqueue(struct cmd_context *ctx)
> +{
> +	__u32 queue_mask[__KERNEL_DIV_ROUND_UP(MAX_NUM_QUEUE, 32)] = {0};
> +	int i, n_queues = 0;
> +
> +	if (ctx->argc == 0)
> +		exit_bad_args();
> +
> +	/*
> +	 * The sub commands will be applied to
> +	 * all queues if no queue_mask set
> +	 */
> +	if (strncmp(*ctx->argp, "queue_mask", 10)) {

This would match any string starting with "queue_mask", is it intended? 

> +		n_queues = find_max_num_queues(ctx);
> +		if (n_queues < 0) {
> +			perror("Cannot get number of queues");
> +			return -EFAULT;
> +		}
> +		for (i = 0; i < n_queues / 32; i++)
> +			queue_mask[i] = ~0;
> +		queue_mask[i] = (1 << (n_queues - i * 32)) - 1;

It's unlikely today, I guess, but in theory, this would overflow if
n_queues == MAX_NUM_QUEUE

> +		fprintf(stdout,
> +			"The sub commands will be applied to all %d queues\n",
> +			n_queues);
> +	} else {
> +		ctx->argc--;
> +		ctx->argp++;
> +		n_queues = set_queue_mask(queue_mask, *ctx->argp);
> +		if (n_queues < 0) {
> +			perror("Invalid queue mask");
> +			return n_queues;
> +		}
> +		ctx->argc--;
> +		ctx->argp++;
> +	}
> +
> +	i = find_option(ctx->argc, ctx->argp);
> +	if (i < 0)
> +		exit_bad_args();
> +
> +	/* no sub_command support yet */
> +
> +	return 0;
> +}

Michal Kubecek

  parent reply	other threads:[~2019-02-06 12:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-06  0:01 [PATCH v2 1/6] ethtool: move option parsing related code into function Jeff Kirsher
2019-02-06  0:01 ` [PATCH v2 2/6] ethtool: move cmdline_coalesce out of do_scoalesce Jeff Kirsher
2019-02-06  0:01 ` [PATCH v2 3/6] ethtool: introduce new ioctl for per-queue settings Jeff Kirsher
2019-02-06  9:18   ` Michal Kubecek
2019-02-07 23:37     ` Nunley, Nicholas D
2019-02-08  7:02       ` Michal Kubecek
2019-02-08 13:56         ` Willem de Bruijn
2019-02-06 10:32   ` Michal Kubecek
2019-02-07 23:41     ` Nunley, Nicholas D
2019-02-06 12:43   ` Michal Kubecek [this message]
2019-02-07 23:43     ` Nunley, Nicholas D
2019-02-06  0:01 ` [PATCH v2 4/6] ethtool: support per-queue sub command --show-coalesce Jeff Kirsher
2019-02-06 13:22   ` Michal Kubecek
2019-02-07 23:53     ` Nunley, Nicholas D
2019-02-08  7:10       ` Michal Kubecek
2019-02-06  0:01 ` [PATCH v2 5/6] ethtool: support per-queue sub command --coalesce Jeff Kirsher
2019-02-06  0:01 ` [PATCH v2 6/6] ethtool: fix up dump_coalesce output to match actual option names Jeff Kirsher
2019-02-06  9:56 ` [PATCH v2 1/6] ethtool: move option parsing related code into function Michal Kubecek

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=20190206124307.GA18410@unicorn.suse.cz \
    --to=mkubecek@suse.cz \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=nicholas.d.nunley@intel.com \
    --cc=sassmann@redhat.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