From: David S. Miller <davem@davemloft.net>
Date: Thu, 24 Oct 2019 04:31:31 +0000 (-0700)
Subject: Merge branch 'mlxsw-Update-main-pool-computation-and-pool-size-limits'
X-Git-Tag: v5.5-rc1~174^2~325
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8ef0c0409e6bd42ec63a405f27ed632bb45f905c;p=linux.git

Merge branch 'mlxsw-Update-main-pool-computation-and-pool-size-limits'

Ido Schimmel says:

====================
mlxsw: Update main pool computation and pool size limits

Petr says:

In Spectrum ASICs, the shared buffer is an area of memory where packets are
kept until they can be transmitted. There are two resources associated with
shared buffer size: cap_total_buffer_size and cap_guaranteed_shared_buffer.
So far, mlxsw has been using the former as a limit when validating shared
buffer pool size configuration. However, the total size also includes
headrooms and reserved space, which really cannot be used for shared buffer
pools. Patch #1 mends this and has mlxsw use the guaranteed size.

To configure default pool sizes, mlxsw has historically hard-coded one or
two smallish pools, and one "main" pool that took most of the shared buffer
(that would be pool 0 on ingress and pool 4 on egress). During the
development of Spectrum-2, it became clear that the shared buffer size
keeps shrinking as bugs are identified and worked around. In order to
prevent having to tweak the size of pools 0 and 4 to catch up with updates
to values reported by the FW, patch #2 changes the way these pools are set.
Instead of hard-coding a fixed value, the main pool now takes whatever is
left from the guaranteed size after the smaller pool(s) are taken into
account.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
---

8ef0c0409e6bd42ec63a405f27ed632bb45f905c