From: Simon Horman <simon.horman@corigine.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Vinicius Costa Gomes <vinicius.gomes@intel.com>,
Kurt Kanzenbach <kurt@linutronix.de>,
Jacob Keller <jacob.e.keller@intel.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>
Subject: Re: [PATCH v4 net-next 04/15] net: enetc: ensure we always have a minimum number of TXQs for stack
Date: Wed, 1 Feb 2023 14:43:44 +0100 [thread overview]
Message-ID: <Y9pskMNnHKFAROIl@corigine.com> (raw)
In-Reply-To: <20230130173145.475943-5-vladimir.oltean@nxp.com>
On Mon, Jan 30, 2023 at 07:31:34PM +0200, Vladimir Oltean wrote:
> Currently it can happen that an mqprio qdisc is installed with num_tc 8,
> and this will reserve 8 (out of 8) TXQs for the network stack. Then we
> can attach an XDP program, and this will crop 2 TXQs, leaving just 6 for
> mqprio. That's not what the user requested, and we should fail it.
>
> On the other hand, if mqprio isn't requested, we still give the 8 TXQs
> to the network stack (with hashing among a single traffic class), but
> then, cropping 2 TXQs for XDP is fine, because the user didn't
> explicitly ask for any number of TXQs, so no expectations are violated.
>
> Simply put, the logic that mqprio should impose a minimum number of TXQs
> for the network never existed. Let's say (more or less arbitrarily) that
> without mqprio, the driver expects a minimum number of TXQs equal to the
> number of CPUs (on NXP LS1028A, that is either 1, or 2). And with mqprio,
> mqprio gives the minimum required number of TXQs.
>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
The nit below notwithstanding,
Reviewed-by: Simon Horman <simon.horman@corigine.com>
...
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h b/drivers/net/ethernet/freescale/enetc/enetc.h
> index 1fe8dfd6b6d4..e21d096c5a90 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.h
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.h
> @@ -369,6 +369,9 @@ struct enetc_ndev_priv {
>
> struct psfp_cap psfp_cap;
>
> + /* Minimum number of TX queues required by the network stack */
> + unsigned int min_num_stack_tx_queues;
> +
It is probably not important.
But I do notice there are several holes in struct enetc_ndev_priv
that would fit this field.
> struct phylink *phylink;
> int ic_mode;
> u32 tx_ictt;
> --
> 2.34.1
>
next prev parent reply other threads:[~2023-02-01 13:43 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 17:31 [PATCH v4 net-next 00/15] ENETC mqprio/taprio cleanup Vladimir Oltean
2023-01-30 17:31 ` [PATCH v4 net-next 01/15] net: enetc: simplify enetc_num_stack_tx_queues() Vladimir Oltean
2023-02-01 13:44 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 02/15] net: enetc: allow the enetc_reconfigure() callback to fail Vladimir Oltean
2023-02-01 13:45 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 03/15] net: enetc: recalculate num_real_tx_queues when XDP program attaches Vladimir Oltean
2023-02-01 13:45 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 04/15] net: enetc: ensure we always have a minimum number of TXQs for stack Vladimir Oltean
2023-02-01 13:43 ` Simon Horman [this message]
2023-02-01 18:46 ` Vladimir Oltean
2023-02-02 9:29 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 05/15] net/sched: mqprio: refactor nlattr parsing to a separate function Vladimir Oltean
2023-02-01 14:03 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 06/15] net/sched: mqprio: refactor offloading and unoffloading to dedicated functions Vladimir Oltean
2023-02-01 14:07 ` Simon Horman
2023-02-01 14:09 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 07/15] net/sched: move struct tc_mqprio_qopt_offload from pkt_cls.h to pkt_sched.h Vladimir Oltean
2023-02-01 14:07 ` Simon Horman
2023-02-01 14:11 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 08/15] net/sched: mqprio: allow offloading drivers to request queue count validation Vladimir Oltean
2023-01-30 18:37 ` Claudiu Manoil
2023-01-30 19:06 ` Vladimir Oltean
2023-02-01 14:08 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 09/15] net/sched: mqprio: add extack messages for " Vladimir Oltean
2023-02-01 14:12 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 10/15] net: enetc: request mqprio to validate the queue counts Vladimir Oltean
2023-02-01 14:12 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 11/15] net: enetc: act upon the requested mqprio queue configuration Vladimir Oltean
2023-02-01 15:15 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 12/15] net/sched: taprio: pass mqprio queue configuration to ndo_setup_tc() Vladimir Oltean
2023-02-01 15:16 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 13/15] net: enetc: act upon mqprio queue config in taprio offload Vladimir Oltean
2023-02-01 15:16 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 14/15] net/sched: taprio: mask off bits in gate mask that exceed number of TCs Vladimir Oltean
2023-02-01 15:17 ` Simon Horman
2023-01-30 17:31 ` [PATCH v4 net-next 15/15] net/sched: taprio: only calculate gate mask per TXQ for igc, stmmac and tsnep Vladimir Oltean
2023-02-01 15:17 ` Simon Horman
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=Y9pskMNnHKFAROIl@corigine.com \
--to=simon.horman@corigine.com \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jacob.e.keller@intel.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=kurt@linutronix.de \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vinicius.gomes@intel.com \
--cc=vladimir.oltean@nxp.com \
--cc=xiyou.wangcong@gmail.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).