net/mlx4: support secondary process
authorYongseok Koh <yskoh@mellanox.com>
Mon, 1 Apr 2019 21:15:53 +0000 (14:15 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 5 Apr 2019 15:45:22 +0000 (17:45 +0200)
commit0203d33a105982da3eeff5a890f4d60f23234304
tree075ab1e995857edbf219bd0048e8a2d51040a6e8
parent8e493764002285aeec39cde1ce7967841dea45b5
net/mlx4: support secondary process

In order to support secondary process, a few features are required.

a) rdma-core library should allocate device resources using DPDK's
   memory allocator.

b) UAR should be remapped for secondary processes. Currently, in order
   not to use different data structure for secondary processes, PMD
   tries to reserve identical virtual address space for both primary
   and secondary processes.

c) IPC channel is necessary, which can be easily set with rte_mp APIs.
   Through the channel, Verbs command FD is delivered to the secondary
   process and the device stop/start event is also broadcast from
   primary process.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
12 files changed:
doc/guides/nics/features/mlx4.ini
doc/guides/nics/mlx4.rst
drivers/net/mlx4/Makefile
drivers/net/mlx4/meson.build
drivers/net/mlx4/mlx4.c
drivers/net/mlx4/mlx4.h
drivers/net/mlx4/mlx4_mp.c [new file with mode: 0644]
drivers/net/mlx4/mlx4_mr.c
drivers/net/mlx4/mlx4_prm.h
drivers/net/mlx4/mlx4_rxtx.c
drivers/net/mlx4/mlx4_rxtx.h
drivers/net/mlx4/mlx4_txq.c