mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3}

On the Spectrum-{2,3} ASICs the minimum burst size of the packet trap
policers needs to be 40% of the configured rate. Otherwise, intermittent
drops are observed even when the incoming packet rate is slightly lower
than the configured policer rate.

Adjust the burst size of the registered packet trap policers so that
they do not violate above mentioned limitation.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ido Schimmel
2020-08-23 11:06:22 +03:00
committed by David S. Miller
parent 85eb5bc337
commit 7ee0db9d7e

View File

@@ -291,7 +291,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port,
static const struct mlxsw_sp_trap_policer_item
mlxsw_sp_trap_policer_items_arr[] = {
{
.policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 4096),
},
{
.policer = MLXSW_SP_TRAP_POLICER(2, 128, 128),
@@ -303,25 +303,25 @@ mlxsw_sp_trap_policer_items_arr[] = {
.policer = MLXSW_SP_TRAP_POLICER(4, 128, 128),
},
{
.policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 8192),
},
{
.policer = MLXSW_SP_TRAP_POLICER(6, 128, 128),
},
{
.policer = MLXSW_SP_TRAP_POLICER(7, 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(7, 1024, 512),
},
{
.policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 1024),
.policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 8192),
},
{
.policer = MLXSW_SP_TRAP_POLICER(9, 128, 128),
},
{
.policer = MLXSW_SP_TRAP_POLICER(10, 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(10, 1024, 512),
},
{
.policer = MLXSW_SP_TRAP_POLICER(11, 360, 128),
.policer = MLXSW_SP_TRAP_POLICER(11, 256, 128),
},
{
.policer = MLXSW_SP_TRAP_POLICER(12, 128, 128),
@@ -330,19 +330,19 @@ mlxsw_sp_trap_policer_items_arr[] = {
.policer = MLXSW_SP_TRAP_POLICER(13, 128, 128),
},
{
.policer = MLXSW_SP_TRAP_POLICER(14, 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(14, 1024, 512),
},
{
.policer = MLXSW_SP_TRAP_POLICER(15, 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(15, 1024, 512),
},
{
.policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 4096),
.policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 16384),
},
{
.policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 4096),
.policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 8192),
},
{
.policer = MLXSW_SP_TRAP_POLICER(18, 1024, 128),
.policer = MLXSW_SP_TRAP_POLICER(18, 1024, 512),
},
{
.policer = MLXSW_SP_TRAP_POLICER(19, 1024, 512),