All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Paul Greenwalt <paul.greenwalt@intel.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Sasha Levin <sashal@kernel.org>,
	Gurucharan <gurucharanx.g@intel.com>
Subject: [PATCH 5.4 40/68] ice: fix possible under reporting of ethtool Tx and Rx statistics
Date: Mon, 23 May 2022 19:05:07 +0200	[thread overview]
Message-ID: <20220523165809.213413459@linuxfoundation.org> (raw)
In-Reply-To: <20220523165802.500642349@linuxfoundation.org>

From: Paul Greenwalt <paul.greenwalt@intel.com>

[ Upstream commit 31b6298fd8e29effe9ed6b77351ac5969be56ce0 ]

The hardware statistics counters are not cleared during resets so the
drivers first access is to initialize the baseline and then subsequent
reads are for reporting the counters. The statistics counters are read
during the watchdog subtask when the interface is up. If the baseline
is not initialized before the interface is up, then there can be a brief
window in which some traffic can be transmitted/received before the
initial baseline reading takes place.

Directly initialize ethtool statistics in driver open so the baseline will
be initialized when the interface is up, and any dropped packets
incremented before the interface is up won't be reported.

Fixes: 28dc1b86f8ea9 ("ice: ignore dropped packets during init")
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 3eea68f3a526..88750a96cb3f 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -3561,9 +3561,10 @@ static int ice_up_complete(struct ice_vsi *vsi)
 		netif_carrier_on(vsi->netdev);
 	}
 
-	/* clear this now, and the first stats read will be used as baseline */
-	vsi->stat_offsets_loaded = false;
-
+	/* Perform an initial read of the statistics registers now to
+	 * set the baseline so counters are ready when interface is up
+	 */
+	ice_update_eth_stats(vsi);
 	ice_service_task_schedule(pf);
 
 	return 0;
-- 
2.35.1




  parent reply	other threads:[~2022-05-23 17:25 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-23 17:04 [PATCH 5.4 00/68] 5.4.196-rc1 review Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 01/68] floppy: use a statically allocated error counter Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 02/68] x86/xen: Make the boot CPU idle task reliable Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 03/68] x86/xen: Make the secondary CPU idle tasks reliable Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 04/68] rtc: fix use-after-free on device removal Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 05/68] um: Cleanup syscall_handler_t definition/cast, fix warning Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 06/68] Input: add bounds checking to input_set_capability() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 07/68] Input: stmfts - fix reference leak in stmfts_input_open Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 08/68] crypto: stm32 - fix reference leak in stm32_crc_remove Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 09/68] crypto: x86/chacha20 - Avoid spurious jumps to other functions Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 10/68] ALSA: hda/realtek: Enable headset mic on Lenovo P360 Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 11/68] nvme-multipath: fix hang when disk goes live over reconnect Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 12/68] rtc: mc146818-lib: Fix the AltCentury for AMD platforms Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 13/68] MIPS: lantiq: check the return value of kzalloc() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 14/68] drbd: remove usage of list iterator variable after loop Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 15/68] platform/chrome: cros_ec_debugfs: detach log reader wq from devm Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 16/68] ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 17/68] nilfs2: fix lockdep warnings in page operations for btree nodes Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 18/68] nilfs2: fix lockdep warnings during disk space reclamation Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 19/68] mmc: core: Specify timeouts for BKOPS and CACHE_FLUSH for eMMC Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 20/68] mmc: block: Use generic_cmd6_time when modifying INAND_CMD38_ARG_EXT_CSD Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 21/68] mmc: core: Default to generic_cmd6_time as timeout in __mmc_switch() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 22/68] SUNRPC: Clean up scheduling of autoclose Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 23/68] SUNRPC: Prevent immediate close+reconnect Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 24/68] SUNRPC: Dont call connect() more than once on a TCP socket Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 25/68] SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 26/68] ALSA: wavefront: Proper check of get_user() error Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 27/68] perf: Fix sys_perf_event_open() race against self Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 28/68] Fix double fget() in vhost_net_set_backend() Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 29/68] PCI/PM: Avoid putting Elo i2 PCIe Ports in D3cold Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 30/68] KVM: x86/mmu: Update number of zapped pages even if page list is stable Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 31/68] crypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ Greg Kroah-Hartman
2022-05-23 17:04 ` [PATCH 5.4 32/68] drm/dp/mst: fix a possible memory leak in fetch_monitor_name() Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 33/68] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 34/68] ARM: dts: aspeed-g6: remove FWQSPID group in pinctrl dtsi Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 35/68] ARM: dts: aspeed-g6: fix SPI1/SPI2 quad pin group Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 36/68] net: macb: Increment rx bd head after allocating skb and buffer Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 37/68] net/sched: act_pedit: sanitize shift argument before usage Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 38/68] net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf() Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 39/68] net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() Greg Kroah-Hartman
2022-05-23 17:05 ` Greg Kroah-Hartman [this message]
2022-05-23 17:05 ` [PATCH 5.4 41/68] clk: at91: generated: consider range when calculating best rate Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 42/68] net/qla3xxx: Fix a test in ql_reset_work() Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 43/68] NFC: nci: fix sleep in atomic context bugs caused by nci_skb_alloc Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 44/68] net/mlx5e: Properly block LRO when XDP is enabled Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 45/68] net: af_key: add check for pfkey_broadcast in function pfkey_process Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 46/68] ARM: 9196/1: spectre-bhb: enable for Cortex-A15 Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 47/68] ARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb2 Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 48/68] igb: skip phy status check where unavailable Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 49/68] net: bridge: Clear offload_fwd_mark when passing frame up bridge interface Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 50/68] gpio: gpio-vf610: do not touch other bits when set the target bit Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 51/68] gpio: mvebu/pwm: Refuse requests with inverted polarity Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 52/68] perf bench numa: Address compiler error on s390 Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 53/68] scsi: qla2xxx: Fix missed DMA unmap for aborted commands Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 54/68] mac80211: fix rx reordering with non explicit / psmp ack policy Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 55/68] selftests: add ping test with ping_group_range tuned Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 56/68] ethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one() Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 57/68] net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe() Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 58/68] net: atlantic: verify hw_head_ lies within TX buffer ring Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 59/68] Input: ili210x - fix reset timing Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 60/68] block: return ELEVATOR_DISCARD_MERGE if possible Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 61/68] net: stmmac: disable Split Header (SPH) for Intel platforms Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 62/68] firmware_loader: use kernel credentials when reading firmware Greg Kroah-Hartman
2022-05-23 17:05 ` [PATCH 5.4 63/68] ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk Greg Kroah-Hartman
2022-05-23 18:06 ` [PATCH 5.4 00/68] 5.4.196-rc1 review Florian Fainelli
2022-05-23 22:57 ` Shuah Khan
2022-05-24 11:23 ` Naresh Kamboju
2022-05-24 14:52 ` Sudip Mukherjee
2022-05-24 20:03 ` Guenter Roeck
2022-05-25  0:42 ` Khalid Masum
2022-05-25  0:42   ` Khalid Masum
2022-05-25  1:06 ` Samuel Zou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220523165809.213413459@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=anthony.l.nguyen@intel.com \
    --cc=gurucharanx.g@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul.greenwalt@intel.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.