physmem: make fake allocation non-fatal if we cannot pick numa node
Change-Id: I563c043ed82e3ef199fc3d47931108f31cc01728 Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
Damjan Marion
committed by
Dave Wallace
parent
516bcfe904
commit
816122e303
@ -170,8 +170,13 @@ unix_physmem_region_alloc (vlib_main_t * vm, char *name, u32 size,
|
|||||||
if (get_mempolicy (&old_mpol, old_mask->maskp, old_mask->size + 1, NULL, 0)
|
if (get_mempolicy (&old_mpol, old_mask->maskp, old_mask->size + 1, NULL, 0)
|
||||||
== -1)
|
== -1)
|
||||||
{
|
{
|
||||||
error = clib_error_return_unix (0, "get_mempolicy");
|
if ((flags & VLIB_PHYSMEM_F_FAKE) == 0)
|
||||||
goto error;
|
{
|
||||||
|
error = clib_error_return_unix (0, "get_mempolicy");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
old_mpol = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & VLIB_PHYSMEM_F_FAKE) == 0)
|
if ((flags & VLIB_PHYSMEM_F_FAKE) == 0)
|
||||||
@ -246,7 +251,8 @@ unix_physmem_region_alloc (vlib_main_t * vm, char *name, u32 size,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
numa_set_preferred (numa_node);
|
if (old_mpol != -1)
|
||||||
|
numa_set_preferred (numa_node);
|
||||||
|
|
||||||
pr->mem = mmap (0, size, (PROT_READ | PROT_WRITE), mmap_flags, pr->fd, 0);
|
pr->mem = mmap (0, size, (PROT_READ | PROT_WRITE), mmap_flags, pr->fd, 0);
|
||||||
|
|
||||||
@ -257,7 +263,8 @@ unix_physmem_region_alloc (vlib_main_t * vm, char *name, u32 size,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (set_mempolicy (old_mpol, old_mask->maskp, old_mask->size + 1) == -1)
|
if (old_mpol != -1 &&
|
||||||
|
set_mempolicy (old_mpol, old_mask->maskp, old_mask->size + 1) == -1)
|
||||||
{
|
{
|
||||||
error = clib_error_return_unix (0, "set_mempolicy");
|
error = clib_error_return_unix (0, "set_mempolicy");
|
||||||
goto error;
|
goto error;
|
||||||
|
Reference in New Issue
Block a user