[dpdk-dev] eal: set hugepgae_sz to 4KB when using --no-huge

Message ID 1436955120-5548-1-git-send-email-sergio.gonzalez.monroy@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Sergio Gonzalez Monroy July 15, 2015, 10:12 a.m. UTC
  After code rework from bellow commit, logic expects hugepage_sz field to
always be set (ie. not zero value).
When using --no-huge, this field was left unset defaulting to zero.

Set hugepage_sz to RTE_PGSIZE_4K when using --no-huge.

Fixes: b3dfffd962ecd ("mem: allow multiple page sizes to be requested")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 lib/librte_eal/bsdapp/eal/eal_memory.c   | 1 +
 lib/librte_eal/linuxapp/eal/eal_memory.c | 1 +
 2 files changed, 2 insertions(+)
  

Comments

Thomas Monjalon July 15, 2015, 12:29 p.m. UTC | #1
2015-07-15 11:12, Sergio Gonzalez Monroy:
> After code rework from bellow commit, logic expects hugepage_sz field to
> always be set (ie. not zero value).
> When using --no-huge, this field was left unset defaulting to zero.
> 
> Set hugepage_sz to RTE_PGSIZE_4K when using --no-huge.
> 
> Fixes: b3dfffd962ecd ("mem: allow multiple page sizes to be requested")
> 
> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c b/lib/librte_eal/bsdapp/eal/eal_memory.c
index 33ebd0f..a3242a5 100644
--- a/lib/librte_eal/bsdapp/eal/eal_memory.c
+++ b/lib/librte_eal/bsdapp/eal/eal_memory.c
@@ -75,6 +75,7 @@  rte_eal_contigmem_init(void)
 		addr = malloc(internal_config.memory);
 		mcfg->memseg[0].phys_addr = (phys_addr_t)(uintptr_t)addr;
 		mcfg->memseg[0].addr = addr;
+		mcfg->memseg[0].hugepage_sz = RTE_PGSIZE_4K;
 		mcfg->memseg[0].len = internal_config.memory;
 		mcfg->memseg[0].socket_id = 0;
 		return 0;
diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index e501c49..4fd63bb 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -1069,6 +1069,7 @@  rte_eal_hugepage_init(void)
 		}
 		mcfg->memseg[0].phys_addr = (phys_addr_t)(uintptr_t)addr;
 		mcfg->memseg[0].addr = addr;
+		mcfg->memseg[0].hugepage_sz = RTE_PGSIZE_4K;
 		mcfg->memseg[0].len = internal_config.memory;
 		mcfg->memseg[0].socket_id = SOCKET_ID_ANY;
 		return 0;