numam-dpdk/drivers/net
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
..
af_packet ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
ark net/ark: use SPDX tags 2018-07-04 21:21:31 +02:00
avf net/avf: remove keeping CRC configuration 2018-09-28 01:41:03 +02:00
avp ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
axgbe ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
bnx2x net/bnx2x: fix to add PHY lock 2018-10-11 18:53:48 +02:00
bnxt net/bnxt: reduce polling interval for valid bit 2018-10-11 18:53:48 +02:00
bonding net/bonding: switch to flow API object conversion function 2018-10-11 18:53:49 +02:00
cxgbe net/cxgbe: announce Rx scatter offload 2018-09-28 01:41:03 +02:00
dpaa net/dpaa: tune prefetch in Rx path 2018-09-28 01:41:02 +02:00
dpaa2 drivers/net: remove double assignment of driver 2018-09-28 18:02:49 +02:00
e1000 net/igb: support dev reset 2018-09-28 01:41:02 +02:00
ena remove useless constructor headers 2018-07-12 00:00:35 +02:00
enetc net/enetc: support packet type parsing 2018-10-11 18:53:49 +02:00
enic net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
failsafe net/failsafe: switch to flow API object conversion function 2018-10-11 18:53:49 +02:00
fm10k net/fm10k: add imissed stats 2018-09-28 01:41:02 +02:00
i40e net/i40e: config flow director automatically 2018-10-11 18:53:48 +02:00
ifc net/ifc: fix build with Linux < 3.19 2018-10-09 01:58:56 +02:00
ixgbe net/ixgbe: wait longer for link after fiber MAC setup 2018-10-11 18:53:48 +02:00
kni ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
liquidio remove useless constructor headers 2018-07-12 00:00:35 +02:00
mlx4 net/mlx4: support externally allocated static memory 2018-10-11 18:53:49 +02:00
mlx5 net/mlx5: fix representor port xstats 2018-10-11 18:53:49 +02:00
mvneta net/mvneta: support statistics reset 2018-10-11 18:53:48 +02:00
mvpp2 net/mvpp2: support Tx scatter/gather 2018-09-28 01:41:03 +02:00
netvsc net/netvsc: check return from kvargs process 2018-10-11 18:53:48 +02:00
nfp net/nfp: fix RSS 2018-10-11 18:53:48 +02:00
null ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
octeontx event/octeontx: support Tx adapter 2018-10-01 16:52:07 +02:00
pcap net/pcap: generate unique MAC addresses for interfaces 2018-09-28 01:41:02 +02:00
qede net/qede: bump PMD version to 2.10.0.1 2018-10-11 18:53:48 +02:00
ring ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
sfc net/sfc: support Rx descriptor status on EF10 datapath 2018-10-11 18:53:49 +02:00
softnic ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
szedata2 ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
tap net/tap: add in meson build 2018-09-18 22:48:49 +02:00
thunderx net/*/base: allow use of experimental APIs in base code 2018-09-28 01:41:01 +02:00
vdev_netvsc net/vdev_netvsc: add in meson build 2018-09-18 22:49:39 +02:00
vhost ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
virtio malloc: enable event callbacks for external memory 2018-10-11 11:56:55 +02:00
vmxnet3 net/vmxnet3: support stats reset 2018-09-28 01:41:02 +02:00
Makefile net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00
meson.build net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00