From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from qmta01.emeryville.ca.mail.comcast.net (qmta01.emeryville.ca.mail.comcast.net [76.96.30.16]) by ozlabs.org (Postfix) with ESMTP id F23C42C0096 for ; Sat, 8 Feb 2014 04:50:04 +1100 (EST) Date: Fri, 7 Feb 2014 11:49:57 -0600 (CST) From: Christoph Lameter To: Joonsoo Kim Subject: Re: [RFC PATCH 3/3] slub: fallback to get_numa_mem() node if we want to allocate on memoryless node In-Reply-To: <20140207054119.GA28952@lge.com> Message-ID: References: <20140206020757.GC5433@linux.vnet.ibm.com> <1391674026-20092-1-git-send-email-iamjoonsoo.kim@lge.com> <1391674026-20092-3-git-send-email-iamjoonsoo.kim@lge.com> <20140207054119.GA28952@lge.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Han Pingtian , Nishanth Aravamudan , mpm@selenic.com, penberg@kernel.org, linux-mm@kvack.org, paulus@samba.org, Anton Blanchard , David Rientjes , linuxppc-dev@lists.ozlabs.org, Wanpeng Li List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, 7 Feb 2014, Joonsoo Kim wrote: > > This check wouild need to be something that checks for other contigencies > > in the page allocator as well. A simple solution would be to actually run > > a GFP_THIS_NODE alloc to see if you can grab a page from the proper node. > > If that fails then fallback. See how fallback_alloc() does it in slab. > > > > Hello, Christoph. > > This !node_present_pages() ensure that allocation on this node cannot succeed. > So we can directly use numa_mem_id() here. Yes of course we can use numa_mem_id(). But the check is only for not having any memory at all on a node. There are other reason for allocations to fail on a certain node. The node could have memory that cannot be reclaimed, all dirty, beyond certain thresholds, not in the current set of allowed nodes etc etc.