Re: [PATCH 1/5] cpuset memory spread basic implementation

From: Christoph Lameter
Date: Sat Feb 04 2006 - 22:36:34 EST


On Sat, 4 Feb 2006, Andrew Morton wrote:

> > +int cpuset_mem_spread_node(void)
> > +{
> > + int node;
> > +
> > + node = next_node(current->cpuset_mem_spread_rotor, current->mems_allowed);
> > + if (node == MAX_NUMNODES)
> > + node = first_node(current->mems_allowed);
> > + current->cpuset_mem_spread_rotor = node;
> > + return node;
> > +}
>
> hm. What guarantees that a node which is in current->mems_allowed is still
> online?

If a node is not online then the slab allocator will fall back to the
local node. See kmem_cache_alloc_node.

The page allocator will refer to the zonelist of the node that is offline.
Hmm... Isnt current->mems_allowed restricted by the available nodes?



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/