[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230626152844.484-1-jszhang@kernel.org>
Date: Mon, 26 Jun 2023 23:28:42 +0800
From: Jisheng Zhang <jszhang@...nel.org>
To: Giuseppe Cavallaro <peppe.cavallaro@...com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>
Cc: netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-sunxi@...ts.linux.dev,
Simon Horman <simon.horman@...igine.com>
Subject: [PATCH net-next v4 0/2] net: stmmac: improve driver statistics
improve the stmmac driver statistics:
1. don't clear network driver statistics in .ndo_close() and
.ndo_open() cycle
2. avoid some network driver statistics overflow on 32 bit platforms
3. use per-queue statistics where necessary to remove frequent
cacheline ping pongs.
NOTE: v1 and v2 are back ported from an internal LTS tree, I made
some mistakes when backporting and squashing. Now, net-next + v3
has been well tested with 'ethtool -s' and 'ip -s link show'.
Since v3:
- coding style pointed out by Simon, I.E reverse xmas tree for local
variable declarations and so on.
- put the counters in queue structs, I.E per-queue rather than per-cpu
- use _irqsave() variant where necessary.
Since v2:
- fix ethtool .get_sset_count, .get_strings and per queue stats
couting.
- fix .ndo_get_stats64 only counts the last cpu's pcpu stats.
- fix typo: s/iff/if in commit msg.
- remove unnecessary if statement brackets since we have removed
one LoC.
Since v1:
- rebase on net-next
- fold two original patches into one patch
- fix issues found by lkp
- update commit msg
Jisheng Zhang (2):
net: stmmac: don't clear network statistics in .ndo_open()
net: stmmac: use per-queue 64 bit statistics where necessary
drivers/net/ethernet/stmicro/stmmac/common.h | 39 ++--
.../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 12 +-
.../ethernet/stmicro/stmmac/dwmac100_dma.c | 7 +-
.../ethernet/stmicro/stmmac/dwmac4_descs.c | 16 +-
.../net/ethernet/stmicro/stmmac/dwmac4_lib.c | 15 +-
.../net/ethernet/stmicro/stmmac/dwmac_lib.c | 12 +-
.../ethernet/stmicro/stmmac/dwxgmac2_descs.c | 6 +-
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 14 +-
.../net/ethernet/stmicro/stmmac/enh_desc.c | 20 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 12 +-
.../net/ethernet/stmicro/stmmac/norm_desc.c | 15 +-
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 +
.../ethernet/stmicro/stmmac/stmmac_ethtool.c | 123 ++++++++---
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 206 ++++++++++++++----
14 files changed, 337 insertions(+), 162 deletions(-)
--
2.40.1
Powered by blists - more mailing lists