Commit ac0c53ae authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

env_dpdk: do not set RTE_MEMPOOL_F_NO_IOVA_CONTIG



This was added in patch 07526d85, back in March 2018.
This was before DPDK supported dynamic hugepage allocations.
Presumably this flag was added to reduce the amount of
memory lost due to mempool buffers that would otherwise
span an IOVA boundary (mostly typical with IOMMU off and
we are relying on physical addresses).

Removing it simplifies any code in SPDK that uses
mempool buffers for DMA operations, since it doesn't have
to worry about splitting buffers that span an IOVA
boundary - DPDK has already done it for us.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I49f6c1407fad02acae7e07c9dd00cb0449bd3554
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12277


Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent 6d1e0c0e
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -223,13 +223,6 @@ spdk_mempool_create_ctor(const char *name, size_t count,
{
	struct rte_mempool *mp;
	size_t tmp;
	unsigned dpdk_flags = 0;

#if RTE_VERSION >= RTE_VERSION_NUM(21, 11, 0, 0)
	dpdk_flags |= RTE_MEMPOOL_F_NO_IOVA_CONTIG;
#else
	dpdk_flags |= MEMPOOL_F_NO_IOVA_CONTIG;
#endif

	if (socket_id == SPDK_ENV_SOCKET_ID_ANY) {
		socket_id = SOCKET_ID_ANY;
@@ -247,7 +240,7 @@ spdk_mempool_create_ctor(const char *name, size_t count,

	mp = rte_mempool_create(name, count, ele_size, cache_size,
				0, NULL, NULL, (rte_mempool_obj_cb_t *)obj_init, obj_init_arg,
				socket_id, dpdk_flags);
				socket_id, 0);

	return (struct spdk_mempool *)mp;
}