From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Lameter Date: Fri, 11 Jul 2014 15:58:52 +0000 Subject: Re: [RFC Patch V1 07/30] mm: Use cpu_to_mem()/numa_mem_id() to support memoryless node Message-Id: List-Id: References: <1405064267-11678-1-git-send-email-jiang.liu@linux.intel.com> <1405064267-11678-8-git-send-email-jiang.liu@linux.intel.com> <20140711144205.GA27706@htj.dyndns.org> <20140711152156.GB29137@htj.dyndns.org> In-Reply-To: <20140711152156.GB29137@htj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Tejun Heo Cc: Jiang Liu , Andrew Morton , Mel Gorman , David Rientjes , Mike Galbraith , Peter Zijlstra , "Rafael J . Wysocki" , Vladimir Davydov , Johannes Weiner , "Kirill A. Shutemov" , Rik van Riel , Wanpeng Li , Zhang Yanfei , Catalin Marinas , Jianyu Zhan , malc , Joonsoo Kim , Fabian Frederick , Tony Luck , linux-mm@kvack.org, linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org 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.