Messages in this thread | | | Date | Fri, 11 Jul 2014 10:58:52 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [RFC Patch V1 07/30] mm: Use cpu_to_mem()/numa_mem_id() to support memoryless node |
| |
On Fri, 11 Jul 2014, Tejun Heo wrote:
> Hello, > > On Fri, Jul 11, 2014 at 10:13:57AM -0500, Christoph Lameter wrote: > > Allocators typically fall back but they wont in some cases if you say > > that you want memory from a particular node. A GFP_THISNODE would force a > > failure of the alloc. In other cases it should fall back. I am not sure > > that all allocations obey these conventions though. > > But, GFP_THISNODE + numa_mem_id() is identical to numa_node_id() + > nearest node with memory fallback. Is there any case where the user > would actually want to always fail if it's on the memless node?
GFP_THISNODE allocatios must fail if there is no memory available on the node. No fallback allowed.
If the allocator performs caching for a particular node (like SLAB) then the allocator *cannnot* accept memory from another node and the alloc via the page allocator must fail so that the allocator can then pick another node for keeping track of the allocations.
> Even if that's the case, there's no reason to burden everyone with > this distinction. Most users just wanna say "I'm on this node. > Please allocate considering that". There's nothing wrong with using > numa_node_id() for that.
Well yes that speaks for this patch.
| |