From 593a084afc2b441895aeca78a2c4465e450d0ef5 Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Wed, 18 May 2016 13:04:42 +0200 Subject: [PATCH] mem: lock pages when not using hugepages Although the physical address won't be correct in memory segment, this allows at least to retrieve the physical address using rte_mem_virt2phy(). Indeed, if the page is not locked, the page may not be present in physical memory. With next commit, it allows a mempool to have properly filled physical addresses when using --no-huge option. Signed-off-by: Olivier Matz --- lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index 5b9132c672..79d1d2dd80 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -1074,7 +1074,7 @@ rte_eal_hugepage_init(void) /* hugetlbfs can be disabled */ if (internal_config.no_hugetlbfs) { addr = mmap(NULL, internal_config.memory, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); + MAP_LOCKED | MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); if (addr == MAP_FAILED) { RTE_LOG(ERR, EAL, "%s: mmap() failed: %s\n", __func__, strerror(errno)); -- 2.20.1