net/mlx5: manage header reformat actions with hashed list
authorSuanming Mou <suanmingm@nvidia.com>
Wed, 16 Sep 2020 10:19:48 +0000 (18:19 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 30 Sep 2020 17:19:09 +0000 (19:19 +0200)
commitbf615b077dd1638534adb6eca895fcdc27717972
tree13a0342cc83a6d2200fa9c945d1f0dace0bbc58e
parentc21e5facf7d20aceedb5bd4a3f470b85c66701f4
net/mlx5: manage header reformat actions with hashed list

To manage encap decap header format 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@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.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