On Fri, 11 Jul 2014, Tejun Heo wrote: > On Fri, Jul 11, 2014 at 11:19:14AM -0500, Christoph Lameter wrote: > > Yes that works. But if we want a consistent node to allocate from (and > > avoid the fallbacks) then we need this patch. I think this is up to those > > needing memoryless nodes to figure out what semantics they need. > > I'm not following what you're saying. Are you saying that we need to > spread numa_mem_id() all over the place for GFP_THISNODE users on > memless nodes? There aren't that many users of GFP_THISNODE. GFP_THISNODE is mostly used by allocators that need memory from specific nodes. The use of numa_mem_id() there is useful because one will not get any memory at all when attempting to allocate from a memoryless node using GFP_THISNODE. I meant that the relying on fallback to the neighboring nodes without GFP_THISNODE using numa_node_id() is one approach that may prevent memory allocators from caching objects for that node because every allocation may choose a different neighboring node. And the other is the use of numa_mem_id() which will always use a specific node and avoid fallback to different node. The choice is up to those having an interest in memoryless nodes. Which again I find a pretty strange thing to have that has already proven itself difficult to maintain in the kernel given the the notion of memory nodes that should have memory but surprisingly have none. Then there are the esoteric fallback conditions and special cases introduced. Its a mess. The best solution may be to just get rid of the whole thing and require all processors to have a node with memory that is local to them. Current "memoryless" hardware can simply decide on bootup to pick a memory node that is local and thus we do not have to deal with it in the core. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>