get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/88806/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 88806,
    "url": "https://patches.dpdk.org/api/patches/88806/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1615357493-42394-6-git-send-email-humin29@huawei.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1615357493-42394-6-git-send-email-humin29@huawei.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1615357493-42394-6-git-send-email-humin29@huawei.com",
    "date": "2021-03-10T06:24:49",
    "name": "[5/9] net/hns3: delete redundant xstats RAS statistics",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "443ef6d98b9ec0512e5c944157fdc450a0e14db8",
    "submitter": {
        "id": 1944,
        "url": "https://patches.dpdk.org/api/people/1944/?format=api",
        "name": "humin (Q)",
        "email": "humin29@huawei.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1615357493-42394-6-git-send-email-humin29@huawei.com/mbox/",
    "series": [
        {
            "id": 15564,
            "url": "https://patches.dpdk.org/api/series/15564/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15564",
            "date": "2021-03-10T06:24:46",
            "name": "features and bugfixes for hns3",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/15564/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/88806/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/88806/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 27820A0567;\n\tWed, 10 Mar 2021 07:24:44 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CAF8022A63E;\n\tWed, 10 Mar 2021 07:24:22 +0100 (CET)",
            "from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35])\n by mails.dpdk.org (Postfix) with ESMTP id 61F4F22A624\n for <dev@dpdk.org>; Wed, 10 Mar 2021 07:24:20 +0100 (CET)",
            "from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.58])\n by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4DwMSS1Yl2z8vQW\n for <dev@dpdk.org>; Wed, 10 Mar 2021 14:22:32 +0800 (CST)",
            "from localhost.localdomain (10.69.192.56) by\n DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id\n 14.3.498.0; Wed, 10 Mar 2021 14:24:13 +0800"
        ],
        "From": "\"Min Hu (Connor)\" <humin29@huawei.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<ferruh.yigit@intel.com>",
        "Date": "Wed, 10 Mar 2021 14:24:49 +0800",
        "Message-ID": "<1615357493-42394-6-git-send-email-humin29@huawei.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1615357493-42394-1-git-send-email-humin29@huawei.com>",
        "References": "<1615357493-42394-1-git-send-email-humin29@huawei.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.69.192.56]",
        "X-CFilter-Loop": "Reflected",
        "Subject": "[dpdk-dev] [PATCH 5/9] net/hns3: delete redundant xstats RAS\n statistics",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Hongbo Zheng <zhenghongbo3@huawei.com>\n\nThe current RAS code stores the reported RAS statistics in xstats.\nThis part of statistics is of little use in practice, and because\nof the change of RAS scheme on Kunpeng930, the driver can not\nobtain the RAS information any more, so this patch delete these\nredundant RAS statistics.\n\nSigned-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>\nSigned-off-by: Min Hu (Connor) <humin29@huawei.com>\n---\n drivers/net/hns3/hns3_ethdev.c |   2 -\n drivers/net/hns3/hns3_ethdev.h |  35 ---------------\n drivers/net/hns3/hns3_intr.c   |   1 -\n drivers/net/hns3/hns3_stats.c  | 100 +----------------------------------------\n drivers/net/hns3/hns3_stats.h  |   1 -\n 5 files changed, 1 insertion(+), 138 deletions(-)",
    "diff": "diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c\nindex c15c891..db2c94a 100644\n--- a/drivers/net/hns3/hns3_ethdev.c\n+++ b/drivers/net/hns3/hns3_ethdev.c\n@@ -5770,14 +5770,12 @@ hns3_record_imp_error(struct hns3_adapter *hns)\n \treg_val = hns3_read_dev(hw, HNS3_VECTOR0_OTER_EN_REG);\n \tif (hns3_get_bit(reg_val, HNS3_VECTOR0_IMP_RD_POISON_B)) {\n \t\thns3_warn(hw, \"Detected IMP RD poison!\");\n-\t\thns3_error_int_stats_add(hns, \"IMP_RD_POISON_INT_STS\");\n \t\thns3_set_bit(reg_val, HNS3_VECTOR0_IMP_RD_POISON_B, 0);\n \t\thns3_write_dev(hw, HNS3_VECTOR0_OTER_EN_REG, reg_val);\n \t}\n \n \tif (hns3_get_bit(reg_val, HNS3_VECTOR0_IMP_CMDQ_ERR_B)) {\n \t\thns3_warn(hw, \"Detected IMP CMDQ error!\");\n-\t\thns3_error_int_stats_add(hns, \"CMDQ_MEM_ECC_INT_STS\");\n \t\thns3_set_bit(reg_val, HNS3_VECTOR0_IMP_CMDQ_ERR_B, 0);\n \t\thns3_write_dev(hw, HNS3_VECTOR0_OTER_EN_REG, reg_val);\n \t}\ndiff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h\nindex 28365e6..a29d6f8 100644\n--- a/drivers/net/hns3/hns3_ethdev.h\n+++ b/drivers/net/hns3/hns3_ethdev.h\n@@ -561,38 +561,6 @@ struct hns3_hw {\n #define HNS3_FLAG_TC_BASE_SCH_MODE\t\t1\n #define HNS3_FLAG_VNET_BASE_SCH_MODE\t\t2\n \n-struct hns3_err_msix_intr_stats {\n-\tuint64_t mac_afifo_tnl_int_cnt;\n-\tuint64_t ppu_mpf_abn_int_st2_msix_cnt;\n-\tuint64_t ssu_port_based_pf_int_cnt;\n-\tuint64_t ppp_pf_abnormal_int_cnt;\n-\tuint64_t ppu_pf_abnormal_int_msix_cnt;\n-\n-\tuint64_t imp_tcm_ecc_int_cnt;\n-\tuint64_t cmdq_mem_ecc_int_cnt;\n-\tuint64_t imp_rd_poison_int_cnt;\n-\tuint64_t tqp_int_ecc_int_cnt;\n-\tuint64_t msix_ecc_int_cnt;\n-\tuint64_t ssu_ecc_multi_bit_int_0_cnt;\n-\tuint64_t ssu_ecc_multi_bit_int_1_cnt;\n-\tuint64_t ssu_common_ecc_int_cnt;\n-\tuint64_t igu_int_cnt;\n-\tuint64_t ppp_mpf_abnormal_int_st1_cnt;\n-\tuint64_t ppp_mpf_abnormal_int_st3_cnt;\n-\tuint64_t ppu_mpf_abnormal_int_st1_cnt;\n-\tuint64_t ppu_mpf_abn_int_st2_ras_cnt;\n-\tuint64_t ppu_mpf_abnormal_int_st3_cnt;\n-\tuint64_t tm_sch_int_cnt;\n-\tuint64_t qcn_fifo_int_cnt;\n-\tuint64_t qcn_ecc_int_cnt;\n-\tuint64_t ncsi_ecc_int_cnt;\n-\tuint64_t ssu_port_based_err_int_cnt;\n-\tuint64_t ssu_fifo_overflow_int_cnt;\n-\tuint64_t ssu_ets_tcg_int_cnt;\n-\tuint64_t igu_egu_tnl_int_cnt;\n-\tuint64_t ppu_pf_abnormal_int_ras_cnt;\n-};\n-\n /* vlan entry information. */\n struct hns3_user_vlan_table {\n \tLIST_ENTRY(hns3_user_vlan_table) next;\n@@ -738,9 +706,6 @@ struct hns3_pf {\n \tuint16_t max_umv_size;\n \tuint16_t used_umv_size;\n \n-\t/* Statistics information for abnormal interrupt */\n-\tstruct hns3_err_msix_intr_stats abn_int_stats;\n-\n \tbool support_sfp_query;\n \tuint32_t fec_mode; /* current FEC mode for ethdev */\n \ndiff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c\nindex 3f328ba..89d7f0d 100644\n--- a/drivers/net/hns3/hns3_intr.c\n+++ b/drivers/net/hns3/hns3_intr.c\n@@ -1838,7 +1838,6 @@ hns3_find_highest_level(struct hns3_adapter *hns, const char *reg,\n \t\t\t\treset_level = err->reset_level;\n \t\t\t\tneed_reset = true;\n \t\t\t}\n-\t\t\thns3_error_int_stats_add(hns, reg);\n \t\t}\n \t\terr++;\n \t}\ndiff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c\nindex 941c75f..7cda36c 100644\n--- a/drivers/net/hns3/hns3_stats.c\n+++ b/drivers/net/hns3/hns3_stats.c\n@@ -201,65 +201,6 @@ static const struct hns3_xstats_name_offset hns3_mac_strings[] = {\n \t\tHNS3_MAC_STATS_OFFSET(mac_rx_send_app_bad_pkt_num)}\n };\n \n-static const struct hns3_xstats_name_offset hns3_error_int_stats_strings[] = {\n-\t{\"MAC_AFIFO_TNL_INT_R\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(mac_afifo_tnl_int_cnt)},\n-\t{\"PPU_MPF_ABNORMAL_INT_ST2_MSIX\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_mpf_abn_int_st2_msix_cnt)},\n-\t{\"SSU_PORT_BASED_ERR_INT_MSIX\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_port_based_pf_int_cnt)},\n-\t{\"PPP_PF_ABNORMAL_INT_ST0\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppp_pf_abnormal_int_cnt)},\n-\t{\"PPU_PF_ABNORMAL_INT_ST_MSIX\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_pf_abnormal_int_msix_cnt)},\n-\t{\"IMP_TCM_ECC_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(imp_tcm_ecc_int_cnt)},\n-\t{\"CMDQ_MEM_ECC_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(cmdq_mem_ecc_int_cnt)},\n-\t{\"IMP_RD_POISON_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(imp_rd_poison_int_cnt)},\n-\t{\"TQP_INT_ECC_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(tqp_int_ecc_int_cnt)},\n-\t{\"MSIX_ECC_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(msix_ecc_int_cnt)},\n-\t{\"SSU_ECC_MULTI_BIT_INT_0\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_ecc_multi_bit_int_0_cnt)},\n-\t{\"SSU_ECC_MULTI_BIT_INT_1\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_ecc_multi_bit_int_1_cnt)},\n-\t{\"SSU_COMMON_ERR_INT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_common_ecc_int_cnt)},\n-\t{\"IGU_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(igu_int_cnt)},\n-\t{\"PPP_MPF_ABNORMAL_INT_ST1\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppp_mpf_abnormal_int_st1_cnt)},\n-\t{\"PPP_MPF_ABNORMAL_INT_ST3\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppp_mpf_abnormal_int_st3_cnt)},\n-\t{\"PPU_MPF_ABNORMAL_INT_ST1\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_mpf_abnormal_int_st1_cnt)},\n-\t{\"PPU_MPF_ABNORMAL_INT_ST2_RAS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_mpf_abn_int_st2_ras_cnt)},\n-\t{\"PPU_MPF_ABNORMAL_INT_ST3\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_mpf_abnormal_int_st3_cnt)},\n-\t{\"TM_SCH_RINT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(tm_sch_int_cnt)},\n-\t{\"QCN_FIFO_RINT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(qcn_fifo_int_cnt)},\n-\t{\"QCN_ECC_RINT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(qcn_ecc_int_cnt)},\n-\t{\"NCSI_ECC_INT_RPT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ncsi_ecc_int_cnt)},\n-\t{\"SSU_PORT_BASED_ERR_INT_RAS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_port_based_err_int_cnt)},\n-\t{\"SSU_FIFO_OVERFLOW_INT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_fifo_overflow_int_cnt)},\n-\t{\"SSU_ETS_TCG_INT\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ssu_ets_tcg_int_cnt)},\n-\t{\"IGU_EGU_TNL_INT_STS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(igu_egu_tnl_int_cnt)},\n-\t{\"PPU_PF_ABNORMAL_INT_ST_RAS\",\n-\t\tHNS3_ERR_INT_STATS_FIELD_OFFSET(ppu_pf_abnormal_int_ras_cnt)},\n-};\n-\n /* The statistic of reset */\n static const struct hns3_xstats_name_offset hns3_reset_stats_strings[] = {\n \t{\"REQ_RESET_CNT\",\n@@ -333,9 +274,6 @@ static const struct hns3_xstats_name_offset hns3_imissed_stats_strings[] = {\n #define HNS3_NUM_MAC_STATS (sizeof(hns3_mac_strings) / \\\n \tsizeof(hns3_mac_strings[0]))\n \n-#define HNS3_NUM_ERROR_INT_XSTATS (sizeof(hns3_error_int_stats_strings) / \\\n-\tsizeof(hns3_error_int_stats_strings[0]))\n-\n #define HNS3_NUM_RESET_XSTATS (sizeof(hns3_reset_stats_strings) / \\\n \tsizeof(hns3_reset_stats_strings[0]))\n \n@@ -363,7 +301,7 @@ static const struct hns3_xstats_name_offset hns3_imissed_stats_strings[] = {\n #define HNS3_NUM_IMISSED_XSTATS (sizeof(hns3_imissed_stats_strings) / \\\n \tsizeof(hns3_imissed_stats_strings[0]))\n \n-#define HNS3_FIX_NUM_STATS (HNS3_NUM_MAC_STATS + HNS3_NUM_ERROR_INT_XSTATS + \\\n+#define HNS3_FIX_NUM_STATS (HNS3_NUM_MAC_STATS + \\\n \t\t\t    HNS3_NUM_RESET_XSTATS + HNS3_NUM_IMISSED_XSTATS)\n \n static void hns3_tqp_stats_clear(struct hns3_hw *hw);\n@@ -750,23 +688,6 @@ hns3_queue_stats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,\n \t}\n }\n \n-void\n-hns3_error_int_stats_add(struct hns3_adapter *hns, const char *err)\n-{\n-\tstruct hns3_pf *pf = &hns->pf;\n-\tuint16_t i;\n-\tchar *addr;\n-\n-\tfor (i = 0; i < HNS3_NUM_ERROR_INT_XSTATS; i++) {\n-\t\tif (strcmp(hns3_error_int_stats_strings[i].name, err) == 0) {\n-\t\t\taddr = (char *)&pf->abn_int_stats +\n-\t\t\t\thns3_error_int_stats_strings[i].offset;\n-\t\t\t*(uint64_t *)addr += 1;\n-\t\t\tbreak;\n-\t\t}\n-\t}\n-}\n-\n static void\n hns3_rxq_dfx_stats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,\n \t\t       int *count)\n@@ -932,7 +853,6 @@ hns3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,\n \t\t    unsigned int n)\n {\n \tstruct hns3_adapter *hns = dev->data->dev_private;\n-\tstruct hns3_pf *pf = &hns->pf;\n \tstruct hns3_hw *hw = &hns->hw;\n \tstruct hns3_rx_missed_stats *imissed_stats = &hw->imissed_stats;\n \tstruct hns3_mac_stats *mac_stats = &hw->mac_stats;\n@@ -986,13 +906,6 @@ hns3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,\n \t\t\tcount++;\n \t\t}\n \n-\t\tfor (i = 0; i < HNS3_NUM_ERROR_INT_XSTATS; i++) {\n-\t\t\taddr = (char *)&pf->abn_int_stats +\n-\t\t\t       hns3_error_int_stats_strings[i].offset;\n-\t\t\txstats[count].value = *(uint64_t *)addr;\n-\t\t\txstats[count].id = count;\n-\t\t\tcount++;\n-\t\t}\n \t}\n \n \t/* Get the reset stat */\n@@ -1134,13 +1047,6 @@ hns3_dev_xstats_get_names(struct rte_eth_dev *dev,\n \t\t\t\t \"%s\", hns3_imissed_stats_strings[i].name);\n \t\t\tcount++;\n \t\t}\n-\n-\t\tfor (i = 0; i < HNS3_NUM_ERROR_INT_XSTATS; i++) {\n-\t\t\tsnprintf(xstats_names[count].name,\n-\t\t\t\t sizeof(xstats_names[count].name),\n-\t\t\t\t \"%s\", hns3_error_int_stats_strings[i].name);\n-\t\t\tcount++;\n-\t\t}\n \t}\n \tfor (i = 0; i < HNS3_NUM_RESET_XSTATS; i++) {\n \t\tsnprintf(xstats_names[count].name,\n@@ -1358,7 +1264,6 @@ int\n hns3_dev_xstats_reset(struct rte_eth_dev *dev)\n {\n \tstruct hns3_adapter *hns = dev->data->dev_private;\n-\tstruct hns3_pf *pf = &hns->pf;\n \tint ret;\n \n \t/* Clear tqp stats */\n@@ -1379,9 +1284,6 @@ hns3_dev_xstats_reset(struct rte_eth_dev *dev)\n \tif (ret)\n \t\treturn ret;\n \n-\t/* Clear error stats */\n-\tmemset(&pf->abn_int_stats, 0, sizeof(struct hns3_err_msix_intr_stats));\n-\n \treturn 0;\n }\n \ndiff --git a/drivers/net/hns3/hns3_stats.h b/drivers/net/hns3/hns3_stats.h\nindex 70a9c5b..8ea69b4 100644\n--- a/drivers/net/hns3/hns3_stats.h\n+++ b/drivers/net/hns3/hns3_stats.h\n@@ -164,7 +164,6 @@ int hns3_dev_xstats_get_names_by_id(struct rte_eth_dev *dev,\n \t\t\t\t    const uint64_t *ids,\n \t\t\t\t    uint32_t size);\n int hns3_stats_reset(struct rte_eth_dev *dev);\n-void hns3_error_int_stats_add(struct hns3_adapter *hns, const char *err);\n int hns3_tqp_stats_init(struct hns3_hw *hw);\n void hns3_tqp_stats_uninit(struct hns3_hw *hw);\n int hns3_update_imissed_stats(struct hns3_hw *hw, bool is_clear);\n",
    "prefixes": [
        "5/9"
    ]
}