lkml.org 
[lkml]   [2021]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next 2/3] net: hns3: add support for dumping MAC umv counter in debugfs
    Date
    From: Jian Shen <shenjian15@huawei.com>

    This patch adds support of dumping MAC umv counter in debugfs,
    which will be helpful for debugging.

    The display style is below:
    $ cat umv_info
    num_alloc_vport : 2
    max_umv_size : 256
    wanted_umv_size : 256
    priv_umv_size : 85
    share_umv_size : 86
    vport(0) used_umv_num : 1
    vport(1) used_umv_num : 1

    Signed-off-by: Jian Shen <shenjian15@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    ---
    drivers/net/ethernet/hisilicon/hns3/hnae3.h | 1 +
    drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 7 +++++
    .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 34 ++++++++++++++++++++++
    3 files changed, 42 insertions(+)

    diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.h b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
    index a6ef67e47c8a..e0b7c3c44e7b 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hnae3.h
    +++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
    @@ -293,6 +293,7 @@ enum hnae3_dbg_cmd {
    HNAE3_DBG_CMD_FD_COUNTER,
    HNAE3_DBG_CMD_MAC_TNL_STATUS,
    HNAE3_DBG_CMD_SERV_INFO,
    + HNAE3_DBG_CMD_UMV_INFO,
    HNAE3_DBG_CMD_UNKNOWN,
    };

    diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
    index b72fdb94df63..532523069d74 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
    @@ -330,6 +330,13 @@ static struct hns3_dbg_cmd_info hns3_dbg_cmd[] = {
    .buf_len = HNS3_DBG_READ_LEN,
    .init = hns3_dbg_common_file_init,
    },
    + {
    + .name = "umv_info",
    + .cmd = HNAE3_DBG_CMD_UMV_INFO,
    + .dentry = HNS3_DBG_DENTRY_COMMON,
    + .buf_len = HNS3_DBG_READ_LEN,
    + .init = hns3_dbg_common_file_init,
    + },
    };

    static struct hns3_dbg_cap_info hns3_dbg_cap[] = {
    diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
    index b69c54d365a7..288788186ecc 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
    @@ -1927,6 +1927,36 @@ static void hclge_dbg_dump_mac_list(struct hclge_dev *hdev, char *buf, int len,
    }
    }

    +static int hclge_dbg_dump_umv_info(struct hclge_dev *hdev, char *buf, int len)
    +{
    + u8 func_num = pci_num_vf(hdev->pdev) + 1;
    + struct hclge_vport *vport;
    + int pos = 0;
    + u8 i;
    +
    + pos += scnprintf(buf, len, "num_alloc_vport : %u\n",
    + hdev->num_alloc_vport);
    + pos += scnprintf(buf + pos, len - pos, "max_umv_size : %u\n",
    + hdev->max_umv_size);
    + pos += scnprintf(buf + pos, len - pos, "wanted_umv_size : %u\n",
    + hdev->wanted_umv_size);
    + pos += scnprintf(buf + pos, len - pos, "priv_umv_size : %u\n",
    + hdev->priv_umv_size);
    +
    + mutex_lock(&hdev->vport_lock);
    + pos += scnprintf(buf + pos, len - pos, "share_umv_size : %u\n",
    + hdev->share_umv_size);
    + for (i = 0; i < func_num; i++) {
    + vport = &hdev->vport[i];
    + pos += scnprintf(buf + pos, len - pos,
    + "vport(%u) used_umv_num : %u\n",
    + i, vport->used_umv_num);
    + }
    + mutex_unlock(&hdev->vport_lock);
    +
    + return 0;
    +}
    +
    static int hclge_get_vlan_rx_offload_cfg(struct hclge_dev *hdev, u8 vf_id,
    struct hclge_dbg_vlan_cfg *vlan_cfg)
    {
    @@ -2412,6 +2442,10 @@ static const struct hclge_dbg_func hclge_dbg_cmd_func[] = {
    .cmd = HNAE3_DBG_CMD_FD_COUNTER,
    .dbg_dump = hclge_dbg_dump_fd_counter,
    },
    + {
    + .cmd = HNAE3_DBG_CMD_UMV_INFO,
    + .dbg_dump = hclge_dbg_dump_umv_info,
    + },
    };

    int hclge_dbg_read_cmd(struct hnae3_handle *handle, enum hnae3_dbg_cmd cmd,
    --
    2.8.1
    \
     
     \ /
      Last update: 2021-06-24 16:40    [W:6.821 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site