Hi Dave, This series is adding a new devlink health reporter for RX related errors from Aya.
Last two patches from Vlad and Gavi, are trivial fixes for previously submitted patches on this release cycle. v1->v2: - Improve reversed xmas tree variable declaration. - Rebase on top of net-next to avoid a new conflict due to latest merge with net. For more information please see tag log below. Please pull and let me know if there is any problem. Thanks, Saeed. --- The following changes since commit d2187f8e445403b7aeb08e64c1528761154e9ab3: r8152: divide the tx and rx bottom functions (2019-08-20 12:18:52 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2019-08-15 for you to fetch changes up to b1b9f97a0937211dbca638c476ac47ee39875661: net/mlx5: Fix the order of fc_stats cleanup (2019-08-20 13:08:19 -0700) ---------------------------------------------------------------- mlx5-updates-2019-08-15 This patchset introduces changes in mlx5 devlink health reporters. The highlight of these changes is adding a new reporter: RX reporter mlx5 RX reporter: reports and recovers from timeouts and RX completion error. 1) Perform TX reporter cleanup. In order to maintain the code flow as similar as possible between RX and TX reporters, start the set with cleanup. 2) Prepare for code sharing, generalize and move shared functionality. 3) Refactor and extend TX reporter diagnostics information to align the TX reporter diagnostics output with the RX reporter's diagnostics output. 4) Add helper functions Patch 11: Add RX reporter, initially supports only the diagnostics call back. 5) Change ICOSQ (Internal Operations Send Queue) open/close flow to avoid race between interface down and completion error recovery. 6) Introduce recovery flows for RX ring population timeout on ICOSQ, and for completion errors on ICOSQ and on RQ (Regular receive queues). 7) Include RX reporters in mlx5 documentation. 8) Last two patches of this series, are trivial fixes for previously submitted patches on this release cycle. ---------------------------------------------------------------- Aya Levin (13): net/mlx5e: Rename reporter header file net/mlx5e: Change naming convention for reporter's functions net/mlx5e: Generalize tx reporter's functionality net/mlx5e: Extend tx diagnose function net/mlx5e: Extend tx reporter diagnostics output net/mlx5e: Add cq info to tx reporter diagnose net/mlx5e: Add helper functions for reporter's basics net/mlx5e: Add support to rx reporter diagnose net/mlx5e: Split open/close ICOSQ into stages net/mlx5e: Report and recover from CQE error on ICOSQ net/mlx5e: Report and recover from rx timeout net/mlx5e: Report and recover from CQE with error on RQ Documentation: net: mlx5: Devlink health documentation updates Gavi Teitz (1): net/mlx5: Fix the order of fc_stats cleanup Saeed Mahameed (1): net/mlx5e: RX, Handle CQE with error at the earliest stage Vlad Buslov (1): net/mlx5e: Fix deallocation of non-fully init encap entries .../networking/device_drivers/mellanox/mlx5.rst | 33 +- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 32 ++ .../net/ethernet/mellanox/mlx5/core/en/health.c | 205 +++++++++++ .../net/ethernet/mellanox/mlx5/core/en/health.h | 53 +++ .../net/ethernet/mellanox/mlx5/core/en/reporter.h | 14 - .../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 404 +++++++++++++++++++++ .../ethernet/mellanox/mlx5/core/en/reporter_tx.c | 241 ++++++------ .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.c | 2 + .../net/ethernet/mellanox/mlx5/core/en/xsk/tx.c | 7 + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 82 +++-- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 62 ++-- 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 | 12 +- .../net/ethernet/mellanox/mlx5/core/fs_counters.c | 9 +- drivers/net/ethernet/mellanox/mlx5/core/wq.c | 5 + drivers/net/ethernet/mellanox/mlx5/core/wq.h | 1 + 18 files changed, 965 insertions(+), 207 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/health.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/health.h delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c