[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190422120803.14435-1-idosch@mellanox.com>
Date: Mon, 22 Apr 2019 12:08:38 +0000
From: Ido Schimmel <idosch@...lanox.com>
To: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
Jiri Pirko <jiri@...lanox.com>,
Petr Machata <petrm@...lanox.com>,
Alex Kushnarov <alexanderk@...lanox.com>,
mlxsw <mlxsw@...lanox.com>, Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/14] mlxsw: Shared buffer improvements
This patchset includes two improvements with regards to shared buffer
configuration in mlxsw.
The first part of this patchset forbids the user from performing illegal
shared buffer configuration that can result in unnecessary packet loss.
In order to better communicate these configuration failures to the user,
extack is propagated from devlink towards drivers. This is done in
patches #1-#8.
The second part of the patchset deals with the shared buffer
configuration of the CPU port. When a packet is trapped by the device,
it is sent across the PCI bus to the attached host CPU. From the
device's perspective, it is as if the packet is transmitted through the
CPU port.
While testing traffic directed at the CPU it became apparent that for
certain packet sizes and certain burst sizes, the current shared buffer
configuration of the CPU port is inadequate and results in packet drops.
The configuration is adjusted by patches #9-#14 that create two new pools
- ingress & egress - which are dedicated for CPU traffic.
Ido Schimmel (14):
net: devlink: Add extack to shared buffer operations
mlxsw: spectrum_buffers: Add extack messages for invalid
configurations
mlxsw: spectrum_buffers: Use defines for pool indices
mlxsw: spectrum_buffers: Add ability to veto pool's configuration
mlxsw: spectrum_buffers: Add ability to veto TC's configuration
mlxsw: spectrum_buffers: Forbid configuration of multicast pool
mlxsw: spectrum_buffers: Forbid changing threshold type of first
egress pool
mlxsw: spectrum_buffers: Forbid changing multicast TCs' attributes
mlxsw: spectrum_buffers: Remove assumption about pool order
mlxsw: spectrum_buffers: Add pools for CPU traffic
mlxsw: spectrum_buffers: Use new CPU ingress pool for control packets
mlxsw: spectrum_buffers: Split business logic from
mlxsw_sp_port_sb_pms_init()
mlxsw: spectrum_buffers: Allow skipping ingress port quota
configuration
mlxsw: spectrum_buffers: Adjust CPU port shared buffer egress quotas
drivers/net/ethernet/mellanox/mlxsw/core.c | 16 +-
drivers/net/ethernet/mellanox/mlxsw/core.h | 8 +-
.../net/ethernet/mellanox/mlxsw/spectrum.h | 8 +-
.../mellanox/mlxsw/spectrum_buffers.c | 388 ++++++++++++------
.../net/ethernet/netronome/nfp/nfp_devlink.c | 3 +-
include/net/devlink.h | 8 +-
net/core/devlink.c | 22 +-
7 files changed, 300 insertions(+), 153 deletions(-)
--
2.20.1
Powered by blists - more mailing lists