summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vlib/linux/physmem.c4
-rw-r--r--src/vppinfra/linux/mem.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/src/vlib/linux/physmem.c b/src/vlib/linux/physmem.c
index 161dbf5c0c7..72b00e24d09 100644
--- a/src/vlib/linux/physmem.c
+++ b/src/vlib/linux/physmem.c
@@ -223,8 +223,8 @@ unix_physmem_region_alloc (vlib_main_t * vm, char *name, u32 size,
{
void *ptr = pr->mem + (i << pr->log2_page_size);
int node;
- move_pages (0, 1, &ptr, 0, &node, 0);
- if (numa_node != node)
+ if ((move_pages (0, 1, &ptr, 0, &node, 0) == 0) &&
+ (numa_node != node))
{
clib_warning ("physmem page for region \'%s\' allocated on the"
" wrong numa node (requested %u actual %u)",
diff --git a/src/vppinfra/linux/mem.c b/src/vppinfra/linux/mem.c
index 2d8f593d2b6..e0e22b0a775 100644
--- a/src/vppinfra/linux/mem.c
+++ b/src/vppinfra/linux/mem.c
@@ -71,12 +71,12 @@ clib_mem_vm_ext_alloc (clib_mem_vm_alloc_t * a)
if (a->flags & (CLIB_MEM_VM_F_NUMA_PREFER | CLIB_MEM_VM_F_NUMA_FORCE))
{
int rv;
- rv =
- get_mempolicy (&old_mpol, old_mask, sizeof (old_mask) * 8 + 1, 0, 0);
+ rv = get_mempolicy (&old_mpol, old_mask, sizeof (old_mask) * 8 + 1,
+ 0, 0);
if (rv == -1)
{
- if ((a->flags & CLIB_MEM_VM_F_NUMA_FORCE) != 0)
+ if (a->numa_node != 0 && (a->flags & CLIB_MEM_VM_F_NUMA_FORCE) != 0)
{
err = clib_error_return_unix (0, "get_mempolicy");
goto error;
@@ -193,7 +193,7 @@ clib_mem_vm_ext_alloc (clib_mem_vm_alloc_t * a)
goto error;
}
- /* re-apply ole numa memory policy */
+ /* re-apply old numa memory policy */
if (old_mpol != -1 &&
set_mempolicy (old_mpol, old_mask, sizeof (old_mask) * 8 + 1) == -1)
{