common/mlx5: add mempool registration facilities
authorDmitry Kozlyuk <dkozlyuk@nvidia.com>
Mon, 18 Oct 2021 22:43:52 +0000 (01:43 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 19 Oct 2021 14:35:16 +0000 (16:35 +0200)
commit690b2a88c2f7c1eef1318d39a68d127f255d1f98
tree56b8e700dd17aa1d8f4e999647b22c870a635588
parent11541c5c81dd2b286132dbff8a8c324d7e9bc945
common/mlx5: add mempool registration facilities

Add internal API to register mempools, that is, to create memory
regions (MR) for their memory and store them in a separate database.
Implementation deals with multi-process, so that class drivers don't
need to. Each protection domain has its own database. Memory regions
can be shared within a database if they represent a single hugepage
covering one or more mempools entirely.

Add internal API to lookup an MR key for an address that belongs
to a known mempool. It is a responsibility of a class driver
to extract the mempool from an mbuf.

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/common/mlx5/mlx5_common_mp.c
drivers/common/mlx5/mlx5_common_mp.h
drivers/common/mlx5/mlx5_common_mr.c
drivers/common/mlx5/mlx5_common_mr.h
drivers/common/mlx5/version.map