Messages in this thread | | | Date | Sat, 4 Feb 2006 19:35:37 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: [PATCH 1/5] cpuset memory spread basic implementation |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |