Message ID | 20241016173617.217736-5-tariqt@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 24e54e870d11db3b5a52f8bb5729c55989e44ef5 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net/mlx5: Refactor esw QoS to support generalized operations | expand |
> Update the logic for adding rate groups to the E-Switch domain list, > ensuring only groups with the root Transmit Scheduling Arbiter as their > parent are included. Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c index f2a0d59fa5bb..dd6fe729f456 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c @@ -511,6 +511,7 @@ __esw_qos_alloc_rate_group(struct mlx5_eswitch *esw, u32 tsar_ix, enum sched_nod struct mlx5_esw_rate_group *parent) { struct mlx5_esw_rate_group *group; + struct list_head *parent_list; group = kzalloc(sizeof(*group), GFP_KERNEL); if (!group) @@ -521,7 +522,9 @@ __esw_qos_alloc_rate_group(struct mlx5_eswitch *esw, u32 tsar_ix, enum sched_nod group->type = type; group->parent = parent; INIT_LIST_HEAD(&group->members); - list_add_tail(&group->parent_entry, &esw->qos.domain->groups); + parent_list = parent ? &parent->members : &esw->qos.domain->groups; + list_add_tail(&group->parent_entry, parent_list); + return group; }