* Vlastimil Babka <vbabka@xxxxxxx> [2020-03-17 14:34:25]: > > > --- a/mm/slub.c > > +++ b/mm/slub.c > > @@ -1970,14 +1970,8 @@ static void *get_partial(struct kmem_cache *s, gfp_t flags, int node, > > struct kmem_cache_cpu *c) > > { > > void *object; > > - int searchnode = 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); > > + object = get_partial_node(s, get_node(s, node), c, flags); > > if (object || node != NUMA_NO_NODE)> return object; > > > > return get_any_partial(s, flags, c); > > I.e. here in this if(), now node will never equal NUMA_NO_NODE (thanks to the > hunk below), thus the get_any_partial() call becomes dead code? Very true. Would it be okay if we remove the node != NUMA_NO_NODE if (object || node != NUMA_NO_NODE) return object; will now become if (object) return object; -- Thanks and Regards Srikar Dronamraju