On Wed, 2018-07-18 at 18:00 -0700, Saeed Mahameed wrote: > Hi dave, > > This series includes updates for mlx5e net device driver, with a > couple > of major features and some misc updates. > > Please notice the mlx5-next merge patch at the beginning: > "Merge branch 'mlx5-next' of > git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux" > > For more information please see tag log below. > > Please pull and let me know if there's any problem. >
I will re-post v2 without the "Support PCIe buffer congestion handling via Devlink" patches until Eran sorts out the review comments. Thanks, Saeed. > Thanks, > Saeed. > > --- > > The following changes since commit > 681d5d071c8bd5533a14244c0d55d1c0e30aa989: > > Merge branch 'mlx5-next' of > git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux (2018- > 07-18 15:53:31 -0700) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git > tags/mlx5e-updates-2018-07-18 > > for you to fetch changes up to > a0ba57c09676689eb35f13d48990c9674c9baad4: > > net/mlx5e: Use PARTIAL_GSO for UDP segmentation (2018-07-18 > 17:26:28 -0700) > > ---------------------------------------------------------------- > mlx5e-updates-2018-07-18 > > This series includes update for mlx5e net device driver. > > 1) From Feras Daoud, Added the support for firmware log tracing, > first by introducing the firmware API needed for the task and then > For each PF do the following: > 1- Allocate memory for the tracer strings database and read it > from the FW to the SW. > 2- Allocate and dma map tracer buffers. > > Traces that will be written into the buffer will be parsed as a > group > of one or more traces, referred to as trace message. The trace > message > represents a C-like printf string. > Once a new trace is available FW will generate an event indicates > new trace/s are > available and the driver will parse them and dump them using > tracepoints > event tracing > > Enable mlx5 fw tracing by: > echo 1 > /sys/kernel/debug/tracing/events/mlx5/mlx5_fw/enable > > Read traces by: > cat /sys/kernel/debug/tracing/trace > > 2) From Eran Ben Elisha, Support PCIe buffer congestion handling > via Devlink, using the new devlink device parameters API, added the > new > parameters: > - Congestion action > HW mechanism in the PCIe buffer which monitors the amount > of > consumed PCIe buffer per host. This mechanism supports > the > following actions in case of threshold overflow: > - Disabled - NOP (Default) > - Drop > - Mark - Mark CE bit in the CQE of received packet > - Congestion mode > - Aggressive - Aggressive static trigger threshold > (Default) > - Dynamic - Dynamically change the trigger threshold > > 3) From Natali, Set ECN for received packets using CQE indication. > Using Eran's congestion settings a user can enable ECN marking, on > such case > driver must update ECN CE IP fields when requested by firmware > (congestion is sensed). > > 4) From Roi Dayan, Remove redundant WARN when we cannot find neigh > entry > > 5) From Jianbo Liu, TC double vlan support > - Support offloading tc double vlan headers match > - Support offloading double vlan push/pop tc actions > > 6) From Boris, re-visit UDP GSO, remove the splitting of UDP_GSO_L4 > packets > in the driver, and exposes UDP_GSO_L4 as a PARTIAL_GSO feature. > > ---------------------------------------------------------------- > Boris Pismenny (1): > net/mlx5e: Use PARTIAL_GSO for UDP segmentation > > Eran Ben Elisha (3): > net/mlx5: Move all devlink related functions calls to devlink.c > net/mlx5: Add MPEGC register configuration functionality > net/mlx5: Support PCIe buffer congestion handling via Devlink > > Feras Daoud (5): > net/mlx5: FW tracer, implement tracer logic > net/mlx5: FW tracer, create trace buffer and copy strings > database > net/mlx5: FW tracer, events handling > net/mlx5: FW tracer, parse traces and kernel tracing support > net/mlx5: FW tracer, Enable tracing > > Jianbo Liu (3): > net/mlx5e: Support offloading tc double vlan headers match > net/mlx5e: Refactor tc vlan push/pop actions offloading > net/mlx5e: Support offloading double vlan push/pop tc actions > > Natali Shechtman (1): > net/mlx5e: Set ECN for received packets using CQE indication > > Roi Dayan (1): > net/mlx5e: Remove redundant WARN when we cannot find neigh > entry > > Saeed Mahameed (2): > net/mlx5: FW tracer, register log buffer memory key > net/mlx5: FW tracer, Add debug prints > > drivers/net/ethernet/mellanox/mlx5/core/Makefile | 6 +- > drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 267 ++++++ > drivers/net/ethernet/mellanox/mlx5/core/devlink.h | 41 + > .../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 947 > +++++++++++++++++++++ > .../ethernet/mellanox/mlx5/core/diag/fw_tracer.h | 175 ++++ > .../mellanox/mlx5/core/diag/fw_tracer_tracepoint.h | 78 ++ > .../mellanox/mlx5/core/en_accel/en_accel.h | 27 +- > .../ethernet/mellanox/mlx5/core/en_accel/rxtx.c | 109 --- > .../ethernet/mellanox/mlx5/core/en_accel/rxtx.h | 14 - > drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 9 +- > drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 35 +- > drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 3 + > drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 2 + > drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 134 ++- > drivers/net/ethernet/mellanox/mlx5/core/eq.c | 11 + > drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 21 +- > .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 23 +- > drivers/net/ethernet/mellanox/mlx5/core/main.c | 23 +- > include/linux/mlx5/device.h | 7 + > include/linux/mlx5/driver.h | 3 + > 20 files changed, 1745 insertions(+), 190 deletions(-) > create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/devlink.c > create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/devlink.h > create mode 100644 > drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c > create mode 100644 > drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.h > create mode 100644 > drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer_tracepoint.h > delete mode 100644 > drivers/net/ethernet/mellanox/mlx5/core/en_accel/rxtx.c > delete mode 100644 > drivers/net/ethernet/mellanox/mlx5/core/en_accel/rxtx.h