From: Simon Horman <horms@kernel.org>
To: Tariq Toukan <tariqt@nvidia.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
netdev@vger.kernel.org, Saeed Mahameed <saeedm@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
cjubran@nvidia.com, cratiu@nvidia.com
Subject: Re: [PATCH net-next 06/15] net/mlx5: Introduce node struct and rename group terminology to node
Date: Mon, 14 Oct 2024 10:17:37 +0100 [thread overview]
Message-ID: <20241014091737.GQ77519@kernel.org> (raw)
In-Reply-To: <20241013064540.170722-7-tariqt@nvidia.com>
On Sun, Oct 13, 2024 at 09:45:31AM +0300, Tariq Toukan wrote:
> From: Carolina Jubran <cjubran@nvidia.com>
>
> Introduce the `mlx5_esw_sched_node` struct, consolidating all rate
> hierarchy related details, including membership and scheduling
> parameters.
>
> Since the group concept aligns with the `mlx5_esw_sched_node`, replace
> the `mlx5_esw_rate_group` struct with it and rename the "group"
> terminology to "node" throughout the rate hierarchy.
>
> All relevant code paths and structures have been updated to use the
> "node" terminology accordingly, laying the groundwork for future
> patches that will unify the handling of different types of members
> within the rate hierarchy.
>
> Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
> Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
...
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
...
> -static struct mlx5_esw_rate_group *
> -__esw_qos_create_vports_rate_group(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *parent,
> - struct netlink_ext_ack *extack)
> +static struct mlx5_esw_sched_node *
> +__esw_qos_create_vports_rate_node(struct mlx5_eswitch *esw, struct mlx5_esw_sched_node *parent,
> + struct netlink_ext_ack *extack)
> {
> - struct mlx5_esw_rate_group *group;
> + struct mlx5_esw_sched_node *node;
> u32 tsar_ix, err;
>
> - err = esw_qos_create_group_sched_elem(esw->dev, esw->qos.root_tsar_ix, &tsar_ix);
> + err = esw_qos_create_node_sched_elem(esw->dev, esw->qos.root_tsar_ix, &tsar_ix);
> if (err) {
> - NL_SET_ERR_MSG_MOD(extack, "E-Switch create TSAR for group failed");
> + NL_SET_ERR_MSG_MOD(extack, "E-Switch create TSAR for node failed");
> return ERR_PTR(err);
> }
>
> - group = __esw_qos_alloc_rate_group(esw, tsar_ix, SCHED_NODE_TYPE_VPORTS_TSAR, parent);
> - if (!group) {
> - NL_SET_ERR_MSG_MOD(extack, "E-Switch alloc group failed");
> + node = __esw_qos_alloc_rate_node(esw, tsar_ix, SCHED_NODE_TYPE_VPORTS_TSAR, parent);
> + if (!node) {
> + NL_SET_ERR_MSG_MOD(extack, "E-Switch alloc node failed");
> err = -ENOMEM;
> - goto err_alloc_group;
> + goto err_alloc_node;
Hi Carolina and Tariq,
node is NULL here, but will be dereferenced after jumping to err_alloc_node.
Flagged by Smatch.
> }
>
> err = esw_qos_normalize_min_rate(esw, extack);
> if (err) {
> - NL_SET_ERR_MSG_MOD(extack, "E-Switch groups normalization failed");
> + NL_SET_ERR_MSG_MOD(extack, "E-Switch nodes normalization failed");
> goto err_min_rate;
> }
> - trace_mlx5_esw_group_qos_create(esw->dev, group, group->tsar_ix);
> + trace_mlx5_esw_node_qos_create(esw->dev, node, node->ix);
>
> - return group;
> + return node;
>
> err_min_rate:
> - __esw_qos_free_rate_group(group);
> -err_alloc_group:
> + __esw_qos_free_node(node);
> +err_alloc_node:
> if (mlx5_destroy_scheduling_element_cmd(esw->dev,
> SCHEDULING_HIERARCHY_E_SWITCH,
> - tsar_ix))
> - NL_SET_ERR_MSG_MOD(extack, "E-Switch destroy TSAR for group failed");
> + node->ix))
> + NL_SET_ERR_MSG_MOD(extack, "E-Switch destroy TSAR for node failed");
> return ERR_PTR(err);
> }
...
next prev parent reply other threads:[~2024-10-14 9:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-13 6:45 [PATCH net-next 00/15] net/mlx5: Refactor esw QoS to support generalized operations Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 01/15] net/mlx5: Refactor QoS group scheduling element creation Tariq Toukan
2024-10-14 8:54 ` Daniel Machon
2024-10-14 20:34 ` Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 02/15] net/mlx5: Introduce node type to rate group structure Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 03/15] net/mlx5: Add parent group support in " Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 04/15] net/mlx5: Restrict domain list insertion to root TSAR ancestors Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 05/15] net/mlx5: Rename vport QoS group reference to parent Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 06/15] net/mlx5: Introduce node struct and rename group terminology to node Tariq Toukan
2024-10-14 9:17 ` Simon Horman [this message]
2024-10-14 20:44 ` Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 07/15] net/mlx5: Refactor vport scheduling element creation function Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 08/15] net/mlx5: Refactor vport QoS to use scheduling node structure Tariq Toukan
2024-10-14 9:33 ` Simon Horman
2024-10-14 20:47 ` Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 09/15] net/mlx5: Remove vport QoS enabled flag Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 10/15] net/mlx5: Simplify QoS scheduling element configuration Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 11/15] net/mlx5: Generalize QoS operations for nodes and vports Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 12/15] net/mlx5: Add sync reset drop mode support Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 13/15] net/mlx5: Only create VEPA flow table when in VEPA mode Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 14/15] net/mlx5: fs, rename packet reformat struct member action Tariq Toukan
2024-10-13 6:45 ` [PATCH net-next 15/15] net/mlx5: fs, rename modify header " Tariq Toukan
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=20241014091737.GQ77519@kernel.org \
--to=horms@kernel.org \
--cc=cjubran@nvidia.com \
--cc=cratiu@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.