linux_dsm_epyc7002/drivers/net/ethernet/mellanox
Ido Schimmel a69518cf0b mlxsw: spectrum_router: Avoid expensive lookup during route removal
In commit fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for
all virtual routers") I increased the scale of supported VRFs by having
all of them share the same LPM tree.

In order to avoid look-ups for prefix lengths that don't exist, each
route removal would trigger an aggregation across all the active virtual
routers to see which prefix lengths are in use and which aren't and
structure the tree accordingly.

With the way the data structures are currently laid out, this is a very
expensive operation. When preformed repeatedly - due to the invocation
of the abort mechanism - and with enough VRFs, this can result in a hung
task.

For now, avoid this optimization until it can be properly re-added in
net-next.

Fixes: fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: David Ahern <dsa@cumulusnetworks.com>
Tested-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-08 10:05:27 -07:00
..
mlx4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-09-06 14:45:08 -07:00
mlx5/core net/mlx5: Fix wrong indentation in enable SRIOV code 2017-09-28 07:23:10 +03:00
mlxfw net/mlxfw: Properly handle dependancy with non-loadable mlx5 2017-07-03 02:32:25 -07:00
mlxsw mlxsw: spectrum_router: Avoid expensive lookup during route removal 2017-10-08 10:05:27 -07:00
Kconfig Change Kconfig description 2017-08-14 11:18:16 -07:00
Makefile Add the mlxfw module for Mellanox firmware flash process 2017-05-25 17:46:17 -04:00