This is the new design of Memory Region (MR) for mlx PMD, in order to: - Accommodate the new memory hotplug model. - Support non-contiguous Mempool.
This patchset should be applied after: net/mlx5: change device reference for secondary process mem: add argument to memory event callback v2: * drop 'net/mlx5: trim debug messages for reference counters'. * remove unused functions - mlx5_mr_free() and mlx4_mr_free(). * add documentation for performance tuning. * replace IS_SINGLE_MR() with mlx5_mr_btree_len(). * fix a typo. Yongseok Koh (4): net/mlx5: remove Memory Region support net/mlx5: add new Memory Region support net/mlx4: remove Memory Region support net/mlx4: add new Memory Region support config/common_base | 2 - doc/guides/nics/mlx4.rst | 14 +- doc/guides/nics/mlx5.rst | 14 +- drivers/net/mlx4/Makefile | 4 - drivers/net/mlx4/mlx4.c | 26 + drivers/net/mlx4/mlx4.h | 45 +- drivers/net/mlx4/mlx4_mr.c | 1236 +++++++++++++++++++++++++++++++----- drivers/net/mlx4/mlx4_mr.h | 122 ++++ drivers/net/mlx4/mlx4_rxq.c | 19 +- drivers/net/mlx4/mlx4_rxtx.c | 35 +- drivers/net/mlx4/mlx4_rxtx.h | 85 ++- drivers/net/mlx4/mlx4_txq.c | 74 +-- drivers/net/mlx5/Makefile | 4 - drivers/net/mlx5/mlx5.c | 49 +- drivers/net/mlx5/mlx5.h | 32 +- drivers/net/mlx5/mlx5_defs.h | 15 +- drivers/net/mlx5/mlx5_ethdev.c | 16 + drivers/net/mlx5/mlx5_mr.c | 1305 +++++++++++++++++++++++++++++++------- drivers/net/mlx5/mlx5_mr.h | 117 ++++ drivers/net/mlx5/mlx5_rxq.c | 27 +- drivers/net/mlx5/mlx5_rxtx.c | 3 + drivers/net/mlx5/mlx5_rxtx.h | 123 ++-- drivers/net/mlx5/mlx5_rxtx_vec.h | 6 +- drivers/net/mlx5/mlx5_trigger.c | 25 +- drivers/net/mlx5/mlx5_txq.c | 28 +- 25 files changed, 2694 insertions(+), 732 deletions(-) create mode 100644 drivers/net/mlx4/mlx4_mr.h create mode 100644 drivers/net/mlx5/mlx5_mr.h -- 2.11.0