mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 21:03:32 +00:00
net/mlx5e: Don't treat small ceil values as unlimited in HTB offload
The hardware spec defines max_average_bw == 0 as "unlimited bandwidth".
max_average_bw is calculated as `ceil / BYTES_IN_MBIT`, which can become
0 when ceil is small, leading to an undesired effect of having no
bandwidth limit.
This commit fixes it by rounding up small values of ceil to 1 Mbit/s.
Fixes: 214baf2287
("net/mlx5e: Support HTB offload")
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
d8e5883d69
commit
736dfe4e68
1 changed files with 2 additions and 1 deletions
|
@ -570,7 +570,8 @@ static int mlx5e_htb_convert_rate(struct mlx5e_priv *priv, u64 rate,
|
|||
|
||||
static void mlx5e_htb_convert_ceil(struct mlx5e_priv *priv, u64 ceil, u32 *max_average_bw)
|
||||
{
|
||||
*max_average_bw = div_u64(ceil, BYTES_IN_MBIT);
|
||||
/* Hardware treats 0 as "unlimited", set at least 1. */
|
||||
*max_average_bw = max_t(u32, div_u64(ceil, BYTES_IN_MBIT), 1);
|
||||
|
||||
qos_dbg(priv->mdev, "Convert: ceil %llu -> max_average_bw %u\n",
|
||||
ceil, *max_average_bw);
|
||||
|
|
Loading…
Reference in a new issue