On 3/19/20 3:05 PM, Srikar Dronamraju wrote: > * Vlastimil Babka <vbabka@xxxxxxx> [2020-03-19 14:47:58]: > >> ----8<---- >> diff --git a/mm/slub.c b/mm/slub.c >> index 17dc00e33115..7113b1f9cd77 100644 >> --- a/mm/slub.c >> +++ b/mm/slub.c >> @@ -1973,8 +1973,6 @@ static void *get_partial(struct kmem_cache *s, gfp_t flags, int node, >> >> if (node == NUMA_NO_NODE) >> searchnode = numa_mem_id(); >> - else if (!node_present_pages(node)) >> - searchnode = node_to_mem_node(node); >> >> object = get_partial_node(s, get_node(s, searchnode), c, flags); > > Are we okay with passing a node to get_partial_node with !NUMA_NO_NODE and > !N_MEMORY including possible nodes? No, but AFAICS, such node values are already handled in ___slab_alloc, and cannot reach get_partial(). If you see something I missed, please do tell. >> if (object || node != NUMA_NO_NODE) >