|author||Yongseok Koh <firstname.lastname@example.org>||2019-04-01 14:15:53 -0700|
|committer||Ferruh Yigit <email@example.com>||2019-04-05 17:45:22 +0200|
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 <firstname.lastname@example.org> Acked-by: Shahaf Shuler <email@example.com>
Diffstat (limited to 'doc')
2 files changed, 11 insertions, 0 deletions
diff --git a/doc/guides/nics/features/mlx4.ini b/doc/guides/nics/features/mlx4.ini
index a211aef..4502aa2 100644
@@ -29,6 +29,7 @@ Packet type parsing = Y
Basic stats = Y
Stats per queue = Y
FW version = Y
+Multiprocess aware = Y
Other kdrv = Y
Power8 = Y
x86-32 = Y
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 4ad361a..cd34838 100644
@@ -145,6 +145,16 @@ below.
+- For secondary process:
+ - Forked secondary process not supported.
+ - All mempools must be initialized before rte_eth_dev_start().
+ - External memory unregistered in EAL memseg list cannot be used for DMA
+ unless such memory has been registered by ``mlx4_mr_update_ext_mp()`` in
+ primary process and remapped to the same virtual address in secondary
+ process. If the external memory is registered by primary process but has
+ different virtual address in secondary process, unexpected error may happen.
- CRC stripping is supported by default and always reported as "true".
The ability to enable/disable CRC stripping requires OFED version
4.3-22.214.171.124 and above or rdma-core version v18 and above.