mbox series

[net-next,v10,0/7] net: stmmac: FPE via ethtool + tc

Message ID cover.1725631883.git.0x1207@gmail.com (mailing list archive)
Headers show
Series net: stmmac: FPE via ethtool + tc | expand

Message

Furong Xu Sept. 6, 2024, 2:30 p.m. UTC
Move the Frame Preemption(FPE) over to the new standard API which uses
ethtool-mm/tc-mqprio/tc-taprio.

Changes in v10:
  1. fixed a stacktrace caused by timer_shutdown_sync()
  on an uninitialized timer
  2. ignore FPE_EVENT_RRSP events if we are not in the
  ETHTOOL_MM_VERIFY_STATUS_VERIFYING state

Changes in v9:
  1. drop redundant netif_device_present() since ethnl_ops_begin()
  has its own netif_device_present() call
  2. open-code some variables of struct ethtool_mm_state directly
  in struct stmmac_fpe_cfg
  3. convert timer_delete_sync() to timer_shutdown_sync(), thus the
  timer will not be rearmed again
  4. fixed variable declarations in the middle of the scope

Changes in v8:
  1. use timer_delete_sync() instead of deprecated del_timer_sync()
  2. check netif_running() to guarantee synchronization rules between
  mod_timer() and timer_delete_sync()
  3. split up stmmac_tc_ops of dwmac4, dwmac4+ and dwxgmac to give user
  more descriptive error message
  4. fix wrong indentation about switch-case
  5. delete more unbalanced logs

Changes in v7:
  1. code style fixes and clean up warnings reported by
  patchwork netdev checks, no functional change intended

Changes in v6:
  1. new FPE verification process based on Vladimir Oltean's proposal
  2. embed ethtool_mm_state into stmmac_fpe_cfg
  3. convert some bit ops to u32_replace_bits
  4. register name and function name update to be more descriptive
  5. split up stmmac_tc_ops of dwmac4+ and dwxgmac, they have different
  implementations about mqprio
  6. some code style fixes

Changes in v5:
  1. fix typo in commit message
  2. drop FPE capability check in tc-mqprio/tc-taprio

Changes in v4:
  1. reorder FPE-related declarations and definitions into clean groups
  2. move mm_lock to stmmac_fpe_cfg.lock
  3. protect user configurations across NIC up/down
  4. block stmmac_set_mm() when fpe_task is in progress to finish
  5. convert to ethtool_dev_mm_supported() to check FPE capability in
  tc-mqprio/tc-taprio
  6. silence FPE workqueue start/stop logs

Changes in v3:
  1. avoid races among ISR, workqueue, link update and
  register configuration.
  2. update FPE verification retry logic, so it retries
  and fails as expected.

Changes in v2:
  1. refactor FPE verification process
  2. suspend/resume and kselftest-ethtool_mm, all test cases passed
  3. handle TC:TXQ remapping for DWMAC CORE4+

Furong Xu (7):
  net: stmmac: move stmmac_fpe_cfg to stmmac_priv data
  net: stmmac: drop stmmac_fpe_handshake
  net: stmmac: refactor FPE verification process
  net: stmmac: configure FPE via ethtool-mm
  net: stmmac: support fp parameter of tc-mqprio
  net: stmmac: support fp parameter of tc-taprio
  net: stmmac: silence FPE kernel logs

 .../net/ethernet/stmicro/stmmac/dwmac4_core.c |  10 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c  |  96 +++++-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.h  |  12 +-
 .../ethernet/stmicro/stmmac/dwxgmac2_core.c   |   9 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.c    |   6 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h    |  22 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac.h  |  35 ++-
 .../ethernet/stmicro/stmmac/stmmac_ethtool.c  |  96 ++++++
 .../net/ethernet/stmicro/stmmac/stmmac_main.c | 273 ++++++++----------
 .../net/ethernet/stmicro/stmmac/stmmac_tc.c   | 153 +++++++---
 include/linux/stmmac.h                        |  28 --
 11 files changed, 497 insertions(+), 243 deletions(-)

Comments

Jakub Kicinski Sept. 7, 2024, 12:45 a.m. UTC | #1
On Fri,  6 Sep 2024 22:30:05 +0800 Furong Xu wrote:
> Move the Frame Preemption(FPE) over to the new standard API which uses
> ethtool-mm/tc-mqprio/tc-taprio.

Please read the guidelines:
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#tl-dr
patchwork-bot+netdevbpf@kernel.org Sept. 10, 2024, 11:50 p.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri,  6 Sep 2024 22:30:05 +0800 you wrote:
> Move the Frame Preemption(FPE) over to the new standard API which uses
> ethtool-mm/tc-mqprio/tc-taprio.
> 
> Changes in v10:
>   1. fixed a stacktrace caused by timer_shutdown_sync()
>   on an uninitialized timer
>   2. ignore FPE_EVENT_RRSP events if we are not in the
>   ETHTOOL_MM_VERIFY_STATUS_VERIFYING state
> 
> [...]

Here is the summary with links:
  - [net-next,v10,1/7] net: stmmac: move stmmac_fpe_cfg to stmmac_priv data
    https://git.kernel.org/netdev/net-next/c/070a5e6295e8
  - [net-next,v10,2/7] net: stmmac: drop stmmac_fpe_handshake
    https://git.kernel.org/netdev/net-next/c/59dd7fc932e5
  - [net-next,v10,3/7] net: stmmac: refactor FPE verification process
    https://git.kernel.org/netdev/net-next/c/8d43e99a5a03
  - [net-next,v10,4/7] net: stmmac: configure FPE via ethtool-mm
    https://git.kernel.org/netdev/net-next/c/0f156aceeef7
  - [net-next,v10,5/7] net: stmmac: support fp parameter of tc-mqprio
    https://git.kernel.org/netdev/net-next/c/195e4f409a40
  - [net-next,v10,6/7] net: stmmac: support fp parameter of tc-taprio
    https://git.kernel.org/netdev/net-next/c/15d8a407a547
  - [net-next,v10,7/7] net: stmmac: silence FPE kernel logs
    https://git.kernel.org/netdev/net-next/c/22a805d880c2

You are awesome, thank you!