From: Adrien Mazarguil Date: Thu, 21 Feb 2013 16:39:23 +0000 (+0100) Subject: mem: get memzone from any CPU socket when hugepages are disabled X-Git-Tag: spdx-start~10948 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=29a2ca738889c3d2a897a2b01ee0303bd5c8dc16;p=dpdk.git mem: get memzone from any CPU socket when hugepages are disabled When huge pages are disabled, memory is allocated for a single, undefined CPU socket using malloc(), causing rte_memzone_reserve_aligned() to fail most of the time. This patch causes that memory to use SOCKET_ID_ANY instead of 0, and allow it to be used in place of any socket ID specified by user. Signed-off-by: Adrien Mazarguil Acked-by: Damien Millescamps --- diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c index 790f2fab9a..2476f3c20d 100644 --- a/lib/librte_eal/common/eal_common_memzone.c +++ b/lib/librte_eal/common/eal_common_memzone.c @@ -199,6 +199,7 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len, /* bad socket ID */ if (socket_id != SOCKET_ID_ANY && + free_memseg[i].socket_id != SOCKET_ID_ANY && socket_id != free_memseg[i].socket_id) continue; diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index b980dba239..98477f99de 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -995,7 +995,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].len = internal_config.memory; - mcfg->memseg[0].socket_id = 0; + mcfg->memseg[0].socket_id = SOCKET_ID_ANY; return 0; }