OSDN Git Service

net/mlx5e: Add more information to hairpin table dump
authorGal Pressman <gal@nvidia.com>
Tue, 14 Mar 2023 05:42:31 +0000 (22:42 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 16 Mar 2023 05:12:08 +0000 (22:12 -0700)
Print the number of hairpin queues and size as part of the hairpin table
dump.

Signed-off-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Link: https://lore.kernel.org/r/20230314054234.267365-13-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index 2e6351e..a139b5e 100644 (file)
@@ -583,6 +583,7 @@ struct mlx5e_hairpin {
        struct mlx5e_tir direct_tir;
 
        int num_channels;
+       u8 log_num_packets;
        struct mlx5e_rqt indir_rqt;
        struct mlx5e_tir indir_tir[MLX5E_NUM_INDIR_TIRS];
        struct mlx5_ttc_table *ttc;
@@ -929,6 +930,7 @@ mlx5e_hairpin_create(struct mlx5e_priv *priv, struct mlx5_hairpin_params *params
        hp->func_mdev = func_mdev;
        hp->func_priv = priv;
        hp->num_channels = params->num_channels;
+       hp->log_num_packets = params->log_num_packets;
 
        err = mlx5e_hairpin_create_transport(hp);
        if (err)
@@ -1070,9 +1072,11 @@ static int debugfs_hairpin_table_dump_show(struct seq_file *file, void *priv)
 
        mutex_lock(&tc->hairpin_tbl_lock);
        hash_for_each(tc->hairpin_tbl, bkt, hpe, hairpin_hlist)
-               seq_printf(file, "Hairpin peer_vhca_id %u prio %u refcnt %u\n",
+               seq_printf(file,
+                          "Hairpin peer_vhca_id %u prio %u refcnt %u num_channels %u num_packets %lu\n",
                           hpe->peer_vhca_id, hpe->prio,
-                          refcount_read(&hpe->refcnt));
+                          refcount_read(&hpe->refcnt), hpe->hp->num_channels,
+                          BIT(hpe->hp->log_num_packets));
        mutex_unlock(&tc->hairpin_tbl_lock);
 
        return 0;