net/mlx5: DR, Skip rehash for tables with byte mask zero
authorAlex Vesker <valex@mellanox.com>
Thu, 31 Oct 2019 13:24:59 +0000 (15:24 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 20 Nov 2019 20:33:05 +0000 (12:33 -0800)
The byte mask fields affect on the hash index distribution,
when the byte mask is zero, the hash calculation will always
be equal to the same index.

To avoid unneeded rehash of hash tables mark the table to skip
rehash.

This is needed by the next patch which will limit table rehash
to reduce memory consumption.

Fixes: 41d07074154c ("net/mlx5: DR, Expose steering rule functionality")
Signed-off-by: Alex Vesker <valex@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c

index 4efe1b0be4a84b2cee79a5d0f9052c37edebacb1..80680765d59cfeaa0d36253e2bdb460b180779fc 100644 (file)
@@ -671,7 +671,7 @@ static void dr_ste_set_ctrl(struct mlx5dr_ste_htbl *htbl)
 
        htbl->ctrl.may_grow = true;
 
-       if (htbl->chunk_size == DR_CHUNK_SIZE_MAX - 1)
+       if (htbl->chunk_size == DR_CHUNK_SIZE_MAX - 1 || !htbl->byte_mask)
                htbl->ctrl.may_grow = false;
 
        /* Threshold is 50%, one is added to table of size 1 */