On Tue, 24 Feb 2026 12:13:58 +0000
Bruce Richardson <[email protected]> wrote:

> The bonding driver creates a minimal-sized Rx ring as part of the setup,
> using the driver default parameters as it does so. However, for some
> cases the default values need adjustment for absolute minimal sized
> rings which can cause failures - for example, having an free threshold
> of 32 is too large for a ring of size 64.
> 
> Unfortunately, the drivers themselves cannot properly handle this by
> adjusting their defaults because:
> a) the defaults are returned from info_get which gets called before the
> desired ring-size is known
> b) the replacement of the NULL rxconf value, which indicates use of
> defaults, happens at the ethdev level, so the driver is unaware of the
> source of the requested parameters - whether they are explicitly set by
> the user or substituted by ethdev layer.
> 
> Therefore, we modify the bonding PMD to clamp the free thresh value to
> ring_size / 4 which should work in all cases.
> 
> Fixes: 4da0705bf896 ("net/bonding: fix dedicated queue setup")
> Cc: [email protected]
> 
> Signed-off-by: Bruce Richardson <[email protected]>
> ---

Queued to next-net

Reply via email to