]> git.droids-corp.org - dpdk.git/commit
common/mlx5: make multi-process MR management port-agnostic
authorMichael Baum <michaelba@nvidia.com>
Wed, 3 Nov 2021 10:17:07 +0000 (12:17 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 7 Nov 2021 13:12:08 +0000 (14:12 +0100)
commit204891763c91185e1fe7ba9bfd2c225973c939b6
treec465cca85529e7d25109771705dfb261e28a8407
parent334ed198ab4d22f249d7b8274568253df33914a6
common/mlx5: make multi-process MR management port-agnostic

In the multi-process mechanism, there are things that the secondary
process does not perform itself but asks the primary process to perform
for it.
There is a special API for communication between the processes that
receives parameters necessary for the specific action required as well
as a special structure called mp_id that contains the port number of the
processes through which the initial process finds the relevant ETH
device for the processes.

One of the operations performed through this mechanism is the creation
of a memory region, where the secondary process sends the virtual
address as a parameter and the mp_id structure with the port number
inside it.
However, once the memory area management is shared between the drivers
and either port number or ETH device is no longer relevant to them, it
seems unnecessary to continue communicating between the processes
through the mp_id variable.

In this patch we will remove the use of the above structure for all MR
management, and add to the specific parameter of operations a pointer to
the common device that contains everything needed to create/register MR.

Fixes: 9f1d636f3ef08 ("common/mlx5: share MR management")
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
13 files changed:
drivers/common/mlx5/mlx5_common.c
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
drivers/compress/mlx5/mlx5_compress.c
drivers/crypto/mlx5/mlx5_crypto.c
drivers/net/mlx5/linux/mlx5_mp_os.c
drivers/net/mlx5/mlx5_rxq.c
drivers/net/mlx5/mlx5_trigger.c
drivers/net/mlx5/mlx5_tx.h
drivers/regex/mlx5/mlx5_regex_fastpath.c