From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9560DA0555 for ; Wed, 25 May 2022 18:29:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 899BA400EF; Wed, 25 May 2022 18:29:29 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 2D72B4281C for ; Wed, 25 May 2022 18:29:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1653496167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/dSf9QswPz+QcP6YABrpIroS/gZEiCcGXBVyitPC7wo=; b=Mzodj88f+MY47RnOp5Nm8/7DHrjDOhU7to4gsIq8AydJrF6T1oNDTYkpeMZrKLf1mNhN7g 4rg1UYtZ3zbA19QLEUoUbtLPNVQg2eax/K0TP199TogB/dRToGSLRxN4xu9wjUfoanru4Y r4/S2LhXt/lhrWtHWXCfH3CvYGsV4Ck= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-310-Um6axj7XPZ2mjilQVo9FCg-1; Wed, 25 May 2022 12:29:26 -0400 X-MC-Unique: Um6axj7XPZ2mjilQVo9FCg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5126718E53AA; Wed, 25 May 2022 16:29:21 +0000 (UTC) Received: from rh.Home (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTP id 59E1B20296A7; Wed, 25 May 2022 16:29:20 +0000 (UTC) From: Kevin Traynor To: Huisong Li Cc: Min Hu , dpdk stable Subject: patch 'net/hns3: fix order of clearing imissed register in PF' has been queued to stable release 21.11.2 Date: Wed, 25 May 2022 17:28:11 +0100 Message-Id: <20220525162847.711753-19-ktraynor@redhat.com> In-Reply-To: <20220525162847.711753-1-ktraynor@redhat.com> References: <20220525162847.711753-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/30/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/d96ee7bac0d96caa6d53ccc31817273d7b9cb7aa Thanks. Kevin --- >From d96ee7bac0d96caa6d53ccc31817273d7b9cb7aa Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Thu, 5 May 2022 20:27:01 +0800 Subject: [PATCH] net/hns3: fix order of clearing imissed register in PF [ upstream commit 1a1de9879f58b4fd202ecd481c56ae9777207fe9 ] Clearing imissed registers in PF hardware depends on the 'drop_stats_mode' in struct hns3_hw. The variable is initialized after the "hns3_get_configuration". But, in current code, the clearing operation runs before the function. So this patch fixes this order. In addition, this patch extracts a public function to initialize and uninitialize statistics to improve the maintainability of these codes. Fixes: 3e9f3042d7c8 ("net/hns3: add imissed packet stats") Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_ethdev.c | 13 +++---------- drivers/net/hns3/hns3_ethdev_vf.c | 13 +++---------- drivers/net/hns3/hns3_stats.c | 27 ++++++++++++++++++++++++--- drivers/net/hns3/hns3_stats.h | 5 ++--- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 2de1325d4b..a33ab1a656 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -4650,11 +4650,4 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) } - /* Hardware statistics of imissed registers cleared. */ - ret = hns3_update_imissed_stats(hw, true); - if (ret) { - hns3_err(hw, "clear imissed stats failed, ret = %d", ret); - goto err_cmd_init; - } - hns3_config_all_msix_error(hw, true); @@ -4682,5 +4675,5 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) } - ret = hns3_tqp_stats_init(hw); + ret = hns3_stats_init(hw); if (ret) goto err_get_config; @@ -4728,5 +4721,5 @@ err_fdir: hns3_uninit_umv_space(hw); err_init_hw: - hns3_tqp_stats_uninit(hw); + hns3_stats_uninit(hw); err_get_config: hns3_pf_disable_irq0(hw); @@ -4762,5 +4755,5 @@ hns3_uninit_pf(struct rte_eth_dev *eth_dev) hns3_fdir_filter_uninit(hns); hns3_uninit_umv_space(hw); - hns3_tqp_stats_uninit(hw); + hns3_stats_uninit(hw); hns3_config_mac_tnl_int(hw, false); hns3_pf_disable_irq0(hw); diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 3be46c8f0a..c5252035a0 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -1559,15 +1559,8 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) } - ret = hns3_tqp_stats_init(hw); + ret = hns3_stats_init(hw); if (ret) goto err_get_config; - /* Hardware statistics of imissed registers cleared. */ - ret = hns3_update_imissed_stats(hw, true); - if (ret) { - hns3_err(hw, "clear imissed stats failed, ret = %d", ret); - goto err_set_tc_queue; - } - ret = hns3vf_set_tc_queue_mapping(hns, hw->tqps_num, hw->tqps_num); if (ret) { @@ -1597,5 +1590,5 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) err_set_tc_queue: - hns3_tqp_stats_uninit(hw); + hns3_stats_uninit(hw); err_get_config: @@ -1628,5 +1621,5 @@ hns3vf_uninit_vf(struct rte_eth_dev *eth_dev) (void)hns3vf_set_promisc_mode(hw, false, false, false); hns3_flow_uninit(eth_dev); - hns3_tqp_stats_uninit(hw); + hns3_stats_uninit(hw); hns3vf_disable_irq0(hw); rte_intr_disable(pci_dev->intr_handle); diff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c index 806720faff..e4a5dcf2f8 100644 --- a/drivers/net/hns3/hns3_stats.c +++ b/drivers/net/hns3/hns3_stats.c @@ -541,5 +541,5 @@ hns3_update_port_tx_ssu_drop_stats(struct hns3_hw *hw) } -int +static int hns3_update_imissed_stats(struct hns3_hw *hw, bool is_clear) { @@ -1477,5 +1477,5 @@ hns3_dev_xstats_reset(struct rte_eth_dev *dev) } -int +static int hns3_tqp_stats_init(struct hns3_hw *hw) { @@ -1501,5 +1501,5 @@ hns3_tqp_stats_init(struct hns3_hw *hw) } -void +static void hns3_tqp_stats_uninit(struct hns3_hw *hw) { @@ -1522,2 +1522,23 @@ hns3_tqp_stats_clear(struct hns3_hw *hw) memset(stats->rcb_tx_ring_pktnum, 0, sizeof(uint64_t) * hw->tqps_num); } + +int +hns3_stats_init(struct hns3_hw *hw) +{ + int ret; + + /* Hardware statistics of imissed registers cleared. */ + ret = hns3_update_imissed_stats(hw, true); + if (ret) { + hns3_err(hw, "clear imissed stats failed, ret = %d", ret); + return ret; + } + + return hns3_tqp_stats_init(hw); +} + +void +hns3_stats_uninit(struct hns3_hw *hw) +{ + hns3_tqp_stats_uninit(hw); +} diff --git a/drivers/net/hns3/hns3_stats.h b/drivers/net/hns3/hns3_stats.h index c81d351082..e89dc97632 100644 --- a/drivers/net/hns3/hns3_stats.h +++ b/drivers/net/hns3/hns3_stats.h @@ -162,7 +162,6 @@ int hns3_dev_xstats_get_names_by_id(struct rte_eth_dev *dev, uint32_t size); int hns3_stats_reset(struct rte_eth_dev *dev); -int hns3_tqp_stats_init(struct hns3_hw *hw); -void hns3_tqp_stats_uninit(struct hns3_hw *hw); -int hns3_update_imissed_stats(struct hns3_hw *hw, bool is_clear); +int hns3_stats_init(struct hns3_hw *hw); +void hns3_stats_uninit(struct hns3_hw *hw); int hns3_query_mac_stats_reg_num(struct hns3_hw *hw); -- 2.34.3 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-05-25 17:26:59.048756960 +0100 +++ 0019-net-hns3-fix-order-of-clearing-imissed-register-in-P.patch 2022-05-25 17:26:58.561828323 +0100 @@ -1 +1 @@ -From 1a1de9879f58b4fd202ecd481c56ae9777207fe9 Mon Sep 17 00:00:00 2001 +From d96ee7bac0d96caa6d53ccc31817273d7b9cb7aa Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1a1de9879f58b4fd202ecd481c56ae9777207fe9 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index 4e089e682f..5aed7046d8 100644 +index 2de1325d4b..a33ab1a656 100644 @@ -30 +31 @@ -@@ -4623,11 +4623,4 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) +@@ -4650,11 +4650,4 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) @@ -42 +43 @@ -@@ -4655,5 +4648,5 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) +@@ -4682,5 +4675,5 @@ hns3_init_pf(struct rte_eth_dev *eth_dev) @@ -49 +50 @@ -@@ -4701,5 +4694,5 @@ err_fdir: +@@ -4728,5 +4721,5 @@ err_fdir: @@ -56 +57 @@ -@@ -4735,5 +4728,5 @@ hns3_uninit_pf(struct rte_eth_dev *eth_dev) +@@ -4762,5 +4755,5 @@ hns3_uninit_pf(struct rte_eth_dev *eth_dev) @@ -64 +65 @@ -index 9091706fe5..9e9fdc4144 100644 +index 3be46c8f0a..c5252035a0 100644 @@ -67 +68 @@ -@@ -1511,15 +1511,8 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) +@@ -1559,15 +1559,8 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) @@ -82 +83 @@ - ret = hns3_queue_to_tc_mapping(hw, hw->tqps_num, hw->tqps_num); + ret = hns3vf_set_tc_queue_mapping(hns, hw->tqps_num, hw->tqps_num); @@ -84 +85 @@ -@@ -1549,5 +1542,5 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) +@@ -1597,5 +1590,5 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev) @@ -91 +92 @@ -@@ -1580,5 +1573,5 @@ hns3vf_uninit_vf(struct rte_eth_dev *eth_dev) +@@ -1628,5 +1621,5 @@ hns3vf_uninit_vf(struct rte_eth_dev *eth_dev)