[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aICHsQPoI+gO3eTQ@mev-dev.igk.intel.com>
Date: Wed, 23 Jul 2025 08:56:49 +0200
From: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
To: Tariq Toukan <tariqt@...dia.com>
Cc: Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Saeed Mahameed <saeed@...nel.org>, Gal Pressman <gal@...dia.com>,
Leon Romanovsky <leon@...nel.org>,
Saeed Mahameed <saeedm@...dia.com>, Mark Bloch <mbloch@...dia.com>,
netdev@...r.kernel.org, linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org, Feng Liu <feliu@...dia.com>
Subject: Re: [PATCH net-next V2 2/2] net/mlx5e: Expose TIS via devlink tx
reporter diagnose
On Tue, Jul 22, 2025 at 05:23:48PM +0300, Tariq Toukan wrote:
> From: Feng Liu <feliu@...dia.com>
>
> Underneath "TIS Config" tag expose TIS diagnostic information.
> Expose the tisn of each TC under each lag port.
>
> $ sudo devlink health diagnose auxiliary/mlx5_core.eth.2/131072 reporter tx
> ......
> TIS Config:
> lag port: 0 tc: 0 tisn: 0
> lag port: 1 tc: 0 tisn: 8
> ......
>
> Signed-off-by: Feng Liu <feliu@...dia.com>
> Reviewed-by: Aya Levin <ayal@...dia.com>
> Signed-off-by: Tariq Toukan <tariqt@...dia.com>
> ---
> .../mellanox/mlx5/core/en/reporter_tx.c | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
> index bd96988e102c..85d5cb39b107 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
> @@ -311,6 +311,30 @@ mlx5e_tx_reporter_diagnose_common_config(struct devlink_health_reporter *reporte
> mlx5e_health_fmsg_named_obj_nest_end(fmsg);
> }
>
> +static void
> +mlx5e_tx_reporter_diagnose_tis_config(struct devlink_health_reporter *reporter,
> + struct devlink_fmsg *fmsg)
> +{
> + struct mlx5e_priv *priv = devlink_health_reporter_priv(reporter);
> + u8 num_tc = mlx5e_get_dcb_num_tc(&priv->channels.params);
> + u32 tc, i, tisn;
> +
> + devlink_fmsg_arr_pair_nest_start(fmsg, "TIS Config");
> + for (i = 0; i < mlx5e_get_num_lag_ports(priv->mdev); i++) {
> + for (tc = 0; tc < num_tc; tc++) {
nit: tisn can be defined in this for, not outside.
> + tisn = mlx5e_profile_get_tisn(priv->mdev, priv,
> + priv->profile, i, tc);
> +
> + devlink_fmsg_obj_nest_start(fmsg);
> + devlink_fmsg_u32_pair_put(fmsg, "lag port", i);
> + devlink_fmsg_u32_pair_put(fmsg, "tc", tc);
> + devlink_fmsg_u32_pair_put(fmsg, "tisn", tisn);
> + devlink_fmsg_obj_nest_end(fmsg);
> + }
> + }
> + devlink_fmsg_arr_pair_nest_end(fmsg);
> +}
> +
> static int mlx5e_tx_reporter_diagnose(struct devlink_health_reporter *reporter,
> struct devlink_fmsg *fmsg,
> struct netlink_ext_ack *extack)
> @@ -326,6 +350,7 @@ static int mlx5e_tx_reporter_diagnose(struct devlink_health_reporter *reporter,
> goto unlock;
>
> mlx5e_tx_reporter_diagnose_common_config(reporter, fmsg);
> + mlx5e_tx_reporter_diagnose_tis_config(reporter, fmsg);
> devlink_fmsg_arr_pair_nest_start(fmsg, "SQs");
> for (i = 0; i < priv->channels.num; i++) {
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> --
> 2.31.1
Powered by blists - more mailing lists