mem: fix initialization with --no-huge option
authorSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Wed, 15 Jul 2015 10:12:00 +0000 (11:12 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 15 Jul 2015 12:25:37 +0000 (14:25 +0200)
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
lib/librte_eal/linuxapp/eal/eal_memory.c

index 33ebd0f..a3242a5 100644 (file)
@@ -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;
index e501c49..4fd63bb 100644 (file)
@@ -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;