Commit 38a06717 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

memory: enable vtophys mappings in no-huge mode



Now that it's possible to register and translate non-2MB aligned memory
regions, we can also enable vtophys translations in the no-huge mode.

Change-Id: I2b6a3959343ce7008d5fd0a34b416e18c6e6ec0d
Signed-off-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26224


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
parent d6dc356f
Loading
Loading
Loading
Loading
+7 −16
Original line number Diff line number Diff line
@@ -1093,10 +1093,6 @@ mem_map_init(bool legacy_mem)
		return -ENOMEM;
	}

	if (!g_huge_pages) {
		return 0;
	}

	if (!g_legacy_mem) {
		/**
		 * To prevent DPDK complaining, only register the callback when
@@ -1976,7 +1972,6 @@ vtophys_init(void)
		return -ENOMEM;
	}

	if (g_huge_pages) {
	g_vtophys_map = spdk_mem_map_alloc(SPDK_VTOPHYS_ERROR, &vtophys_map_ops, NULL);
	if (g_vtophys_map == NULL) {
		DEBUG_PRINT("vtophys map allocation failed\n");
@@ -1984,7 +1979,7 @@ vtophys_init(void)
		spdk_mem_map_free(&g_phys_ref_map);
		return -ENOMEM;
	}
	}

	return 0;
}

@@ -2001,10 +1996,6 @@ spdk_vtophys(const void *buf, uint64_t *size)
{
	uint64_t vaddr, paddr, mask;

	if (!g_huge_pages) {
		return SPDK_VTOPHYS_ERROR;
	}

	vaddr = (uint64_t)buf;
	paddr = spdk_mem_map_translate(g_vtophys_map, vaddr, size);
	if (paddr == SPDK_VTOPHYS_ERROR) {