diff options
author | Damjan Marion <damjan.marion@gmail.com> | 2018-01-03 15:48:34 +0000 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2018-01-09 20:34:30 +0000 |
commit | 2e172eab36d8b3d53e5c88e29ca81d7d7ecd9620 (patch) | |
tree | 98d690e2bf5a7914bae7f52f031d083b09f4c3b2 | |
parent | a5fb2cf8be8298e589c2b619f7e907a0a1d76262 (diff) |
physmem: fix physmem allocation on kernels without NUMA support
Change-Id: I056598a1818a39c2da73e252600c14585e5aae83
Signed-off-by: Damjan Marion <damarion@cisco.com>
-rw-r--r-- | src/vlib/linux/physmem.c | 4 | ||||
-rw-r--r-- | src/vppinfra/linux/mem.c | 8 |
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) { |