mainlining shenanigans
cab9572a09
Ido Schimmel says: ==================== mlxsw: Further MC-awareness configuration Petr says: Due to an issue in Spectrum chips, when unicast traffic shares the same queue as BUM traffic, and there is congestion, the BUM traffic is admitted to the queue anyway, thus pushing out all UC traffic. In order to give unicast traffic precedence over BUM traffic, multicast-aware mode is now configured on all ports. Under MC-aware mode, egress TCs 8..15 are used for BUM traffic, which has its own dedicated pool. This patch set improves the way that the MC pool and the higher-order TCs are integrated into the system. In patch #1, shaper at the higher TCs is configured to the same value that it has by default. It's better to have the corresponding artifact in the code explicitly. The 8 following patches gradually extend the devlink handling in mlxsw to support the extra TCs and the new MC pool. Patch #2 changes the way that pools are indexed in mlxsw. Instead of using (FW index, direction) tuple to identify the pool and the associated cache, mlxsw now uses devlink index. This change is necessary because the new pool 15 is not contiguously adjacent to the currently-used pools 0..3, and because it's only relevant on egress. Using devlink index relaxes the requirement for symmetry and adjacency imposed by using FW indexing. In patch #3, the assumption that number of ingress TCs matches that of egress TCs is relaxed to allow exposition of egress TCs 8..15. In patches #4, #5 and #6, support for infinite quotas is introduced. Infinite quotas are reported as taking all the memory in the system, but actually use a mechanism where the infinity is configured explicitly. In patches #7 and #8, support for configuring static pool sizes in introduced. Statically-sized pools have been supported for a while now, but during initialization, all pools have dynamic size. The patches allow there to be a mix of by-default static and dynamic pools. In patches #9 and #10, pool 15 resp. per-priority MC quotas are explicitly configured to be in sync with the current recommendation for handling BUM traffic in Spectrum chips. In the following 3 patches, an mlxsw-specific selftest is added to test the MC-awareness configuration. First in patches #11 and #12, lib.sh is extended with functions to collect ethtool stats, and to manage port MTU. Then in patch #13 the selftest itself is added. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
arch | ||
block | ||
certs | ||
crypto | ||
Documentation | ||
drivers | ||
firmware | ||
fs | ||
include | ||
init | ||
ipc | ||
kernel | ||
lib | ||
LICENSES | ||
mm | ||
net | ||
samples | ||
scripts | ||
security | ||
sound | ||
tools | ||
usr | ||
virt | ||
.clang-format | ||
.cocciconfig | ||
.get_maintainer.ignore | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
COPYING | ||
CREDITS | ||
Kbuild | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README |
Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first. In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``. The formatted documentation can also be read online at: https://www.kernel.org/doc/html/latest/ There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation. See Documentation/00-INDEX for a list of what is contained in each file. Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.