All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] Add tc-taprio support for queueMaxSDU
@ 2022-09-14 15:32 Vladimir Oltean
  2022-09-14 15:32 ` [PATCH net-next 01/13] net/sched: taprio: remove redundant FULL_OFFLOAD_IS_ENABLED check in taprio_enqueue Vladimir Oltean
                   ` (13 more replies)
  0 siblings, 14 replies; 38+ messages in thread
From: Vladimir Oltean @ 2022-09-14 15:32 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Xiaoliang Yang, Rui Sousa, Claudiu Manoil, Alexandre Belloni,
	UNGLinuxDriver, Andrew Lunn, Vivien Didelot, Florian Fainelli,
	Michael Walle, Vinicius Costa Gomes, Maxim Kochetkov,
	Colin Foster, Richie Pearn, Kurt Kanzenbach, Vladimir Oltean,
	Jesse Brandeburg, Tony Nguyen, Giuseppe Cavallaro,
	Alexandre Torgue, Jose Abreu, Jamal Hadi Salim, Cong Wang,
	Jiri Pirko, Gerhard Engleder, Grygorii Strashko, linux-kernel

Michael and Xiaoliang will probably be aware that the tc-taprio offload
mode supported by the Felix DSA driver has limitations surrounding its
guard bands.

The initial discussion was at:
https://lore.kernel.org/netdev/c7618025da6723418c56a54fe4683bd7@walle.cc/

with the latest status being that we now have a vsc9959_tas_guard_bands_update()
method which makes a best-guess attempt at how much useful space to
reserve for packet scheduling in a taprio interval, and how much to
reserve for guard bands.

IEEE 802.1Q actually does offer a tunable variable (queueMaxSDU) which
can determine the max MTU supported per traffic class. In turn we can
determine the size we need for the guard bands, depending on the
queueMaxSDU. This way we can make the guard band of small taprio
intervals smaller than one full MTU worth of transmission time, if we
know that said traffic class will transport only smaller packets.

Allow input of queueMaxSDU through netlink into tc-taprio, offload it to
the hardware I have access to (LS1028A), and deny non-default values to
everyone else.

First 3 patches are some cleanups I made while figuring out what exactly
gets called for taprio software mode, and what gets called for offload
mode.

Vladimir Oltean (13):
  net/sched: taprio: remove redundant FULL_OFFLOAD_IS_ENABLED check in
    taprio_enqueue
  net/sched: taprio: stop going through private ops for dequeue and peek
  net/sched: taprio: add extack messages in taprio_init
  net/sched: taprio: allow user input of per-tc max SDU
  net: dsa: felix: offload per-tc max SDU from tc-taprio
  net: enetc: cache accesses to &priv->si->hw
  net: enetc: offload per-tc max SDU from tc-taprio
  net: dsa: hellcreek: deny tc-taprio changes to per-tc max SDU
  net: dsa: sja1105: deny tc-taprio changes to per-tc max SDU
  tsnep: deny tc-taprio changes to per-tc max SDU
  igc: deny tc-taprio changes to per-tc max SDU
  net: stmmac: deny tc-taprio changes to per-tc max SDU
  net: am65-cpsw: deny tc-taprio changes to per-tc max SDU

 drivers/net/dsa/hirschmann/hellcreek.c        |   5 +
 drivers/net/dsa/ocelot/felix_vsc9959.c        |  20 +-
 drivers/net/dsa/sja1105/sja1105_tas.c         |   6 +-
 drivers/net/ethernet/engleder/tsnep_tc.c      |   6 +-
 drivers/net/ethernet/freescale/enetc/enetc.c  |  28 ++-
 drivers/net/ethernet/freescale/enetc/enetc.h  |  12 +-
 .../net/ethernet/freescale/enetc/enetc_pf.c   |  25 ++-
 .../net/ethernet/freescale/enetc/enetc_qos.c  |  70 +++----
 drivers/net/ethernet/intel/igc/igc_main.c     |   6 +-
 .../net/ethernet/stmicro/stmmac/stmmac_tc.c   |   6 +-
 drivers/net/ethernet/ti/am65-cpsw-qos.c       |   6 +-
 include/net/pkt_sched.h                       |   1 +
 include/uapi/linux/pkt_sched.h                |  11 +
 net/sched/sch_taprio.c                        | 194 +++++++++++++-----
 14 files changed, 283 insertions(+), 113 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2022-09-22  8:10 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14 15:32 [PATCH net-next 00/13] Add tc-taprio support for queueMaxSDU Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 01/13] net/sched: taprio: remove redundant FULL_OFFLOAD_IS_ENABLED check in taprio_enqueue Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 02/13] net/sched: taprio: stop going through private ops for dequeue and peek Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 03/13] net/sched: taprio: add extack messages in taprio_init Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 04/13] net/sched: taprio: allow user input of per-tc max SDU Vladimir Oltean
2022-09-14 21:43   ` Vinicius Costa Gomes
2022-09-14 22:10     ` Vladimir Oltean
2022-09-14 23:00       ` Vinicius Costa Gomes
2022-09-14 23:03         ` Vladimir Oltean
2022-09-14 23:17           ` Vinicius Costa Gomes
2022-09-14 23:03   ` Vinicius Costa Gomes
2022-09-14 23:11     ` Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 05/13] net: dsa: felix: offload per-tc max SDU from tc-taprio Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 06/13] net: enetc: cache accesses to &priv->si->hw Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 07/13] net: enetc: offload per-tc max SDU from tc-taprio Vladimir Oltean
2022-09-14 15:32 ` [PATCH net-next 08/13] net: dsa: hellcreek: deny tc-taprio changes to per-tc max SDU Vladimir Oltean
2022-09-14 18:13   ` Kurt Kanzenbach
2022-09-14 18:40     ` Vladimir Oltean
2022-09-14 20:13       ` Vladimir Oltean
2022-09-15  6:15       ` Kurt Kanzenbach
2022-09-15 11:59         ` Vladimir Oltean
2022-09-19 13:36           ` Kurt Kanzenbach
2022-09-21 11:23           ` Kurt Kanzenbach
2022-09-21 11:29             ` Vladimir Oltean
2022-09-21 11:46               ` Kurt Kanzenbach
2022-09-21 14:12                 ` Vladimir Oltean
2022-09-21 14:21                   ` Vladimir Oltean
2022-09-22  8:10                     ` Kurt Kanzenbach
2022-09-14 15:32 ` [PATCH net-next 09/13] net: dsa: sja1105: " Vladimir Oltean
2022-09-14 15:33 ` [PATCH net-next 10/13] tsnep: " Vladimir Oltean
2022-09-15 19:01   ` Gerhard Engleder
2022-09-16 13:57     ` Vladimir Oltean
2022-09-16 19:53       ` Gerhard Engleder
2022-09-16 22:16         ` Vladimir Oltean
2022-09-14 15:33 ` [PATCH net-next 11/13] igc: " Vladimir Oltean
2022-09-14 15:33 ` [PATCH net-next 12/13] net: stmmac: " Vladimir Oltean
2022-09-14 15:33 ` [PATCH net-next 13/13] net: am65-cpsw: " Vladimir Oltean
2022-09-14 21:47 ` [PATCH net-next 00/13] Add tc-taprio support for queueMaxSDU Vinicius Costa Gomes

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.