]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5: Fix lowest FDB pool size
authorPaul Blakey <paulb@mellanox.com>
Tue, 31 Dec 2019 15:04:15 +0000 (17:04 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Fri, 24 Jan 2020 20:04:20 +0000 (12:04 -0800)
The pool sizes represent the pool sizes in the fw. when we request
a pool size from fw, it will return the next possible group.
We track how many pools the fw has left and start requesting groups
from the big to the small.
When we start request 4k group, which doesn't exists in fw, fw
wants to allocate the next possible size, 64k, but will fail since
its exhausted. The correct smallest pool size in fw is 128 and not 4k.

Fixes: fdf2f172f0be ("net/mlx5: E-Switch, Add chains and priorities")
Signed-off-by: Paul Blakey <paulb@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index 243a5440867e19b5378e4dbb5d0cdce64623db13..b8fe44ea44c3845d10e503d7e7021ae68568dc45 100644 (file)
@@ -866,7 +866,7 @@ out:
  */
 #define ESW_SIZE (16 * 1024 * 1024)
 const unsigned int ESW_POOLS[4] = { 4 * 1024 * 1024, 1 * 1024 * 1024,
-                                   64 * 1024, 4 * 1024 };
+                                   64 * 1024, 128 };
 
 static int
 get_sz_from_pool(struct mlx5_eswitch *esw)