On Tue 03-08-21 13:59:18, Feng Tang wrote: [...] > @@ -1936,7 +1969,9 @@ unsigned int mempolicy_slab_node(void) > case MPOL_INTERLEAVE: > return interleave_nodes(policy); > > - case MPOL_BIND: { > + case MPOL_BIND: > + case MPOL_PREFERRED_MANY: > + { > struct zoneref *z; I guess this is ok for now but it would be great if slab maintainers could have a look here. I suspect this will need some more changes. E.g. I find it highly suspicious how fallback_alloc uses mempolicy_slab_node. Let's say that the local node is not a part of the nodemask. mempolicy_slab_node will switch to the first node in the order list which is ok but fallback_alloc then iterates over the whole zonelist without any policy node mask constrains. get_any_partial looks very similar. -- Michal Hocko SUSE Labs