net/mlx5: manage modify actions with hashed list
authorSuanming Mou <suanmingm@mellanox.com>
Fri, 31 Jul 2020 03:34:18 +0000 (11:34 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:06 +0000 (18:55 +0200)
commit3fe889617bc04dbe47b73ebbc1c1eb43cf114634
treedaf9cb38580698ca991dd2fd88b2103322795070
parent095c397b43baa0965838d96369ea5b6cd04b2c51
net/mlx5: manage modify actions with hashed list

To manage header modify actions mlx5 PMD used the single linked list and
lookup and insertion operations took too long times if there were
millions of objects and this impacted the flow insertion/deletion rate.

In order to optimize the performance the hashed list is engaged. The
list implementation is updated to support non-unique keys with few
collisions.

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
drivers/net/mlx5/linux/mlx5_os.c
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_defs.h
drivers/net/mlx5/mlx5_flow.h
drivers/net/mlx5/mlx5_flow_dv.c