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. Suanming Mou (2): net/mlx5: add hash list extended lookup and insert net/mlx5: manage modify actions with hashed list drivers/net/mlx5/linux/mlx5_os.c | 15 +++++++ drivers/net/mlx5/mlx5.h | 2 +- drivers/net/mlx5/mlx5_defs.h | 3 ++ drivers/net/mlx5/mlx5_flow.h | 13 +++++- drivers/net/mlx5/mlx5_flow_dv.c | 95 ++++++++++++++++++++++++++++++++-------- drivers/net/mlx5/mlx5_utils.c | 38 ++++++++++++++++ drivers/net/mlx5/mlx5_utils.h | 57 ++++++++++++++++++++++++ 7 files changed, 203 insertions(+), 20 deletions(-) -- 1.8.3.1