netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/14]  nfp: abm: RED/MQ qdisc offload
@ 2018-05-26  4:53 Jakub Kicinski
  2018-05-26  4:53 ` [PATCH net-next 01/14] nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs Jakub Kicinski
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Jakub Kicinski @ 2018-05-26  4:53 UTC (permalink / raw)
  To: davem
  Cc: jiri, xiyou.wangcong, john.fastabend, netdev, oss-drivers,
	alexei.starovoitov, nogahf, yuvalm, gerlitz.or, Jakub Kicinski

Hi!

This is second batch of advanced buffer management nfp driver
changes.  This series adds the qdisc offload.  Support for
a very simple subset of RED qdisc offload is added as needed
for DCTCP ECN marking (min and max thresholds set to the same
value).

The first two patches fix glitches introduced by the previous
series.  We have to be careful about phys_port_name handling,
because VFs share the same code path, and some user space may
get confused by the names we chose.

Since unlike previous offloads we can report the queue backlog
both in bytes and packets we need to adjust how statistics are
added up in the core (patch 6).

There are some extra statistics we want to expose which don't
fit into TC stats, namely counts of packets which have been fast-
-forwarded without getting enqueued because there was no
contention and number of packets that were ever queued (sum of
all momentary backlogs).  We expose those through ethtool stats
(patches 8 and 9).

Remaining 5 patches add MQ offload - to be able to set different
configurations on different queues.  Representors are made multi-
-queue and we add offload support to MQ.  MQ stats are added up
before calling ->dump qdiscs on the children, and therefore don't
include updated offload values.  To avoid clearly incorrect stats
MQ is made to also request stats update from offloads.  This way
we can correct the diff at the driver level.


Jakub Kicinski (14):
  nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs
  nfp: prefix vNIC phys_port_name with 'n'
  nfp: abm: enable advanced queuing on demand
  nfp: abm: add helpers for configuring queue marking levels
  nfp: abm: add simple RED offload
  net: sched: add qstats.qlen to qlen
  nfp: abm: report statistics from RED offload
  nfp: allow apps to add extra stats to ports
  nfp: abm: expose the internal stats in ethtool
  nfp: abm: expose all PF queues
  net: sched: mq: add simple offload notification
  nfp: abm: multi-queue RED offload
  net: sched: mq: request stats from offloads
  nfp: abm: report correct MQ stats

 drivers/net/ethernet/netronome/nfp/abm/ctrl.c | 275 +++++++++++++
 drivers/net/ethernet/netronome/nfp/abm/main.c | 374 +++++++++++++++++-
 drivers/net/ethernet/netronome/nfp/abm/main.h |  67 ++++
 drivers/net/ethernet/netronome/nfp/nfp_abi.h  |  14 +
 drivers/net/ethernet/netronome/nfp/nfp_app.c  |  22 ++
 drivers/net/ethernet/netronome/nfp/nfp_app.h  |  13 +
 .../ethernet/netronome/nfp/nfp_net_common.c   |  11 +-
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  10 +-
 .../net/ethernet/netronome/nfp/nfp_net_repr.c |   5 +-
 .../net/ethernet/netronome/nfp/nfp_net_repr.h |   7 +-
 drivers/net/ethernet/netronome/nfp/nfp_port.h |   2 +
 .../ethernet/netronome/nfp/nfpcore/nfp_cpp.h  |   5 +
 include/linux/netdevice.h                     |   1 +
 include/net/pkt_cls.h                         |  12 +
 include/net/sch_generic.h                     |   4 +-
 net/sched/sch_mq.c                            |  37 ++
 16 files changed, 843 insertions(+), 16 deletions(-)

-- 
2.17.0

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

end of thread, other threads:[~2018-05-29 13:51 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-26  4:53 [PATCH net-next 00/14] nfp: abm: RED/MQ qdisc offload Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 01/14] nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 02/14] nfp: prefix vNIC phys_port_name with 'n' Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 03/14] nfp: abm: enable advanced queuing on demand Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 04/14] nfp: abm: add helpers for configuring queue marking levels Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 05/14] nfp: abm: add simple RED offload Jakub Kicinski
2018-05-28 15:49   ` Nogah Frankel
2018-05-28 23:05     ` Jakub Kicinski
2018-05-29  7:53       ` Nogah Frankel
2018-05-26  4:53 ` [PATCH net-next 06/14] net: sched: add qstats.qlen to qlen Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 07/14] nfp: abm: report statistics from RED offload Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 08/14] nfp: allow apps to add extra stats to ports Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 09/14] nfp: abm: expose the internal stats in ethtool Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 10/14] nfp: abm: expose all PF queues Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 11/14] net: sched: mq: add simple offload notification Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 12/14] nfp: abm: multi-queue RED offload Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 13/14] net: sched: mq: request stats from offloads Jakub Kicinski
2018-05-26  4:53 ` [PATCH net-next 14/14] nfp: abm: report correct MQ stats Jakub Kicinski
2018-05-29 13:51 ` [PATCH net-next 00/14] nfp: abm: RED/MQ qdisc offload David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).