From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH net-next v4 04/12] taprio: Replace tc_map_to_queue_mask()
Date: Sun, 27 Jun 2021 20:02:33 +0000 [thread overview]
Message-ID: <20210627200232.mq6bzsxwn25dmill@skbuf> (raw)
In-Reply-To: <20210626003314.3159402-5-vinicius.gomes@intel.com>
On Fri, Jun 25, 2021 at 05:33:06PM -0700, Vinicius Costa Gomes wrote:
> Replaces tc_map_to_queue_mask() by netdev_tc_map_to_queue_mask() that
> was just introduced.
>
> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
> ---
> net/sched/sch_taprio.c | 26 ++++----------------------
> 1 file changed, 4 insertions(+), 22 deletions(-)
>
> diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c
> index 58586f98c648..4e411ca3a9eb 100644
> --- a/net/sched/sch_taprio.c
> +++ b/net/sched/sch_taprio.c
> @@ -1201,25 +1201,6 @@ static void taprio_offload_config_changed(struct taprio_sched *q)
> spin_unlock(&q->current_entry_lock);
> }
>
> -static u32 tc_map_to_queue_mask(struct net_device *dev, u32 tc_mask)
> -{
> - u32 i, queue_mask = 0;
> -
> - for (i = 0; i < dev->num_tc; i++) {
> - u32 offset, count;
> -
> - if (!(tc_mask & BIT(i)))
> - continue;
> -
> - offset = dev->tc_to_txq[i].offset;
> - count = dev->tc_to_txq[i].count;
> -
> - queue_mask |= GENMASK(offset + count - 1, offset);
> - }
> -
> - return queue_mask;
> -}
> -
> static void taprio_sched_to_offload(struct net_device *dev,
> struct sched_gate_list *sched,
> struct tc_taprio_qopt_offload *offload)
> @@ -1236,7 +1217,7 @@ static void taprio_sched_to_offload(struct net_device *dev,
>
> e->command = entry->command;
> e->interval = entry->interval;
> - e->gate_mask = tc_map_to_queue_mask(dev, entry->gate_mask);
> + e->gate_mask = netdev_tc_map_to_queue_mask(dev, entry->gate_mask);
>
> i++;
> }
> @@ -1536,14 +1517,15 @@ static int taprio_change(struct Qdisc *sch, struct nlattr *opt,
> if (tb[TCA_TAPRIO_ATTR_PREEMPT_TCS]) {
> u32 preempt = nla_get_u32(tb[TCA_TAPRIO_ATTR_PREEMPT_TCS]);
> struct tc_preempt_qopt_offload qopt = { };
> + u32 all_tcs_mask = GENMASK(mqprio->num_tc, 0);
>
> - if (preempt == U32_MAX) {
> + if ((preempt & all_tcs_mask) == all_tcs_mask) {
Ouch, this patch does more than it says on the box.
If it did only what the commit message said, it could have just as well
been squashed with the previous one (and this extra change squashed with
the "preemptible queues in taprio" patch. Practically it means that
these last two patches should go before the "preemptible queues in taprio" one.
> NL_SET_ERR_MSG(extack, "At least one queue must be not be preemptible");
> err = -EINVAL;
> goto free_sched;
> }
>
> - qopt.preemptible_queues = tc_map_to_queue_mask(dev, preempt);
> + qopt.preemptible_queues = netdev_tc_map_to_queue_mask(dev, preempt);
>
> err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_PREEMPT,
> &qopt);
> --
> 2.32.0
>
next prev parent reply other threads:[~2021-06-27 20:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-26 0:33 [Intel-wired-lan] [PATCH net-next v4 00/12] ethtool: Add support for frame preemption Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 01/12] ethtool: Add support for configuring " Vinicius Costa Gomes
2021-06-27 19:43 ` Vladimir Oltean
2022-04-11 22:39 ` Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 02/12] taprio: Add support for frame preemption offload Vinicius Costa Gomes
2021-06-27 19:58 ` Vladimir Oltean
2022-04-11 23:31 ` Vinicius Costa Gomes
2022-04-12 0:08 ` Vladimir Oltean
2022-04-12 0:38 ` Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 03/12] core: Introduce netdev_tc_map_to_queue_mask() Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 04/12] taprio: Replace tc_map_to_queue_mask() Vinicius Costa Gomes
2021-06-27 20:02 ` Vladimir Oltean [this message]
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 05/12] mqprio: Add support for frame preemption offload Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 06/12] igc: Add support for enabling frame preemption via ethtool Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 07/12] igc: Add support for TC_SETUP_PREEMPT Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 08/12] igc: Simplify TSN flags handling Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 09/12] igc: Add support for setting frame preemption configuration Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 10/12] ethtool: Add support for Frame Preemption verification Vinicius Costa Gomes
2021-06-28 9:17 ` Vladimir Oltean
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 11/12] igc: Check incompatible configs for Frame Preemption Vinicius Costa Gomes
2021-06-28 9:20 ` Vladimir Oltean
2022-04-11 23:36 ` Vinicius Costa Gomes
2021-06-26 0:33 ` [Intel-wired-lan] [PATCH net-next v4 12/12] igc: Add support for Frame Preemption verification Vinicius Costa Gomes
2021-06-28 9:59 ` Vladimir Oltean
2022-04-12 0:13 ` Vinicius Costa Gomes
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=20210627200232.mq6bzsxwn25dmill@skbuf \
--to=vladimir.oltean@nxp.com \
--cc=intel-wired-lan@osuosl.org \
/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