All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch net-next 0/9] qdisc RED offload
@ 2017-11-06  6:23 Jiri Pirko
  2017-11-06  6:23 ` [patch net-next 1/9] net_sch: red: Add offload ability to RED qdisc Jiri Pirko
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Jiri Pirko @ 2017-11-06  6:23 UTC (permalink / raw)
  To: netdev
  Cc: davem, nogahf, jhs, xiyou.wangcong, mlxsw, andrew,
	vivien.didelot, f.fainelli, michael.chan, ganeshgr, saeedm,
	matanb, leonro, idosch, jakub.kicinski, simon.horman,
	pieter.jansenvanvuuren, john.hurley, alexander.h.duyck, ogerlitz,
	john.fastabend

From: Jiri Pirko <jiri@mellanox.com>

Nogah says:

Add an offload support for RED qdisc for mlxsw driver.
The first patch adds the ability to offload RED qdisc by using
ndo_setup_tc. It gives RED three commands, to offload, change or delete
the qdisc, to get the qdisc generic stats and to get it's RED xstats.
There is no enforcement on a driver to offload or not offload the qdisc and
it is up to the driver to decide.
RED qdisc is first being created and only later graft to a parent (unless
it is a root qdisc). For that reason the return value of the offload
replace command that is called in the init process doesn't reflect actual
offload state. The offload state is determined in the dump function so it
can be reflected to the user. This function is also responsible for stats
update.

The patchses 2-3 change the name of TC_SETUP_MQPRIO & TC_SETUP_CBS to match
with the new convention of QDISC prefix.
The rest of the patchset is driver support for the qdisc. Currently only
as root qdisc that is being set on the default traffic class. It supports
only the following parameters of RED: min, max, probability and ECN mode.
Limit and burst size related params are being ignored at this moment.

---
v7->v8 internal: (external RFC->v1)
- patch 1/9:
 - unite the offload and un-offload functions
 - clean the OFFLOAD flag when the qdisc in not offloaded
- patch 2/9:
 - minor change to avoid a conflict
- patch 5/9:
 - check for bad min/max values
 - clean the offloaded qdisc after a bad config call

Nogah Frankel (8):
  net_sch: red: Add offload ability to RED qdisc
  net_sch: mqprio: Change TC_SETUP_MQPRIO to TC_SETUP_QDISC_MQPRIO
  net_sch: cbs: Change TC_SETUP_CBS to TC_SETUP_QDISC_CBS
  mlxsw: reg: Add cwtp & cwtpm registers
  mlxsw: spectrum: Support RED qdisc offload
  mlxsw: spectrum: Collect tclass related stats periodically
  mlxsw: spectrum: Support RED xstats
  mlxsw: spectrum: Support general qdisc stats

Yuval Mintz (1):
  mlxsw: reg: Add ext and tc-cong counter groups

 drivers/net/ethernet/amd/xgbe/xgbe-drv.c           |   2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |   2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c          |   2 +-
 drivers/net/ethernet/freescale/dpaa/dpaa_eth.c     |   2 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c |   2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c    |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        |   2 +-
 drivers/net/ethernet/intel/igb/igb_main.c          |   2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   2 +-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c     |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   2 +-
 drivers/net/ethernet/mellanox/mlxsw/Makefile       |   3 +-
 drivers/net/ethernet/mellanox/mlxsw/reg.h          | 206 +++++++++++++++
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |  36 +++
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |  38 +++
 .../net/ethernet/mellanox/mlxsw/spectrum_qdisc.c   | 276 +++++++++++++++++++++
 drivers/net/ethernet/sfc/falcon/tx.c               |   2 +-
 drivers/net/ethernet/sfc/tx.c                      |   2 +-
 drivers/net/ethernet/ti/netcp_core.c               |   2 +-
 include/linux/netdevice.h                          |   5 +-
 include/net/pkt_cls.h                              |  30 +++
 include/uapi/linux/pkt_sched.h                     |   1 +
 net/sched/sch_cbs.c                                |   4 +-
 net/sched/sch_mqprio.c                             |   5 +-
 net/sched/sch_red.c                                |  79 ++++++
 25 files changed, 690 insertions(+), 21 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c

-- 
2.9.5

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

end of thread, other threads:[~2017-11-08  3:29 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-06  6:23 [patch net-next 0/9] qdisc RED offload Jiri Pirko
2017-11-06  6:23 ` [patch net-next 1/9] net_sch: red: Add offload ability to RED qdisc Jiri Pirko
2017-11-07  1:39   ` Simon Horman
2017-11-06  6:23 ` [patch net-next 2/9] net_sch: mqprio: Change TC_SETUP_MQPRIO to TC_SETUP_QDISC_MQPRIO Jiri Pirko
2017-11-07  1:40   ` Simon Horman
2017-11-06  6:23 ` [patch net-next 3/9] net_sch: cbs: Change TC_SETUP_CBS to TC_SETUP_QDISC_CBS Jiri Pirko
2017-11-07  1:40   ` Simon Horman
2017-11-07 18:54   ` Vinicius Costa Gomes
2017-11-06  6:23 ` [patch net-next 4/9] mlxsw: reg: Add cwtp & cwtpm registers Jiri Pirko
2017-11-06  6:23 ` [patch net-next 5/9] mlxsw: spectrum: Support RED qdisc offload Jiri Pirko
2017-11-06  6:23 ` [patch net-next 6/9] mlxsw: reg: Add ext and tc-cong counter groups Jiri Pirko
2017-11-06  6:23 ` [patch net-next 7/9] mlxsw: spectrum: Collect tclass related stats periodically Jiri Pirko
2017-11-06  6:23 ` [patch net-next 8/9] mlxsw: spectrum: Support RED xstats Jiri Pirko
2017-11-06  6:23 ` [patch net-next 9/9] mlxsw: spectrum: Support general qdisc stats Jiri Pirko
2017-11-08  3:28 ` [patch net-next 0/9] qdisc RED offload David Miller

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.