numam-dpdk/drivers/net/mlx4
Yongseok Koh 31912d9924 net/mlx4: support externally allocated static memory
When MLX PMD registers memory for DMA, it accesses the global memseg list
of DPDK to maximize the range of registration so that LKey search can be
more efficient. Granularity of MR registration is per page.

Externally allocated memory shouldn't be used for DMA because it can't be
searched in the memseg list and free event can't be tracked by DPDK. If it
is used, the following error will occur:

	net_mlx5: port 0 unable to find virtually contiguous chunk for
	address (0x5600017587c0). rte_memseg_contig_walk() failed.

There's a pending patchset [1] which enables externally allocated memory.
Once it is merged, users can register their own memory out of EAL then that
will resolve this issue.

Meanwhile, if the external memory is static (allocated on startup and never
freed), such memory can also be registered by little tweak in the code.

[1] http://patches.dpdk.org/project/dpdk/list/?series=1415

This patch is not a bug fix but needs to be included in stable versions.

Fixes: 9797bfcce1 ("net/mlx4: add new memory region support")
Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
2018-10-11 18:53:49 +02:00
..
Makefile net/mlx4: avoid stripping the glue library 2018-08-02 12:34:17 +02:00
meson.build net/mlx4: support meson build 2018-09-28 01:41:01 +02:00
mlx4_ethdev.c net/mlx4: refactor RSS conversion functions 2018-05-23 00:35:01 +02:00
mlx4_flow.c net/mlx4: refactor RSS conversion functions 2018-05-23 00:35:01 +02:00
mlx4_flow.h net/mlx4: refactor RSS conversion functions 2018-05-23 00:35:01 +02:00
mlx4_glue.c align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx4_glue.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx4_intr.c align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx4_mr.c net/mlx4: support externally allocated static memory 2018-10-11 18:53:49 +02:00
mlx4_mr.h net/mlx4: add new memory region support 2018-05-14 22:31:52 +01:00
mlx4_prm.h net/mlx4: support hardware TSO 2018-07-10 14:02:57 +02:00
mlx4_rxq.c ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
mlx4_rxtx.c net/mlx4: support hardware TSO 2018-07-10 14:02:57 +02:00
mlx4_rxtx.h net/mlx4: support externally allocated static memory 2018-10-11 18:53:49 +02:00
mlx4_txq.c net/mlx4: support hardware TSO 2018-07-10 14:02:57 +02:00
mlx4_utils.c align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx4_utils.h align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx4.c net/mlx4: check RSS queues number limitation 2018-08-02 12:34:16 +02:00
mlx4.h net/mlx4: check RSS queues number limitation 2018-08-02 12:34:16 +02:00
rte_pmd_mlx4_version.map mlx4: move to drivers/net/ 2015-05-22 16:06:22 +02:00