Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1233251

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From Tejun Heo <tj@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.
Date Sat, 26 Sep 2015 20:00:02 +0200
Message-ID <qd1Vo-77B-19@gated-at.bofh.it> (permalink)
References <q71EK-7Fd-15@gated-at.bofh.it> <q71Op-7Qc-19@gated-at.bofh.it> <q7fHI-2ta-7@gated-at.bofh.it> <qcU7w-4qo-19@gated-at.bofh.it>
X-Original-To Tang Chen <tangchen@cn.fujitsu.com>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=lOQ+0JpSbvUrjVk5rilOFFFwGn641kuTywFMZ1iL1qw=; b=L5EaUqAd+fZZmEkhlSFkbUFW6KsXcFaIcfiIaWFtCcRfGaTznztkdGDL28NtSmrHwa e/FBH12BwOap2aLwX/6DCyM4wC3onDMsXfQ2fTWhfNrORJU9BAq22eeW4lNBsEOSjlQO JR4NjqLi1W4yhXZky6e8Yed9CZ2EeH5gLBgRQl79u8STkP1bxQ2pjOkVI/kG0TxSgVNR kZpSA6O2HKYWyqkgJ4waBBLay+PBUBpr7WhS/e2sf5m8LRG1tD9naXjJm5RYS4yiydtn 28IYUsiezqWGgX7T4hIyyPJC+CvC6/KMzI6OqJvMS/qyjzSWp9OVN7fgAxTMQx6UcIBT 7DVw==
X-Received by 10.129.43.134 with SMTP id r128mr10156235ywr.9.1443290026922; Sat, 26 Sep 2015 10:53:46 -0700 (PDT)
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Disposition inline
User-Agent Mutt/1.5.23 (2014-03-12)
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 45
Organization linux.* mail to news gateway
X-Original-Cc jiang.liu@linux.intel.com, mika.j.penttila@gmail.com, mingo@redhat.com, akpm@linux-foundation.org, rjw@rjwysocki.net, hpa@zytor.com, yasu.isimatu@gmail.com, isimatu.yasuaki@jp.fujitsu.com, kamezawa.hiroyu@jp.fujitsu.com, izumi.taku@jp.fujitsu.com, gongzhaogang@inspur.com, qiaonuohan@cn.fujitsu.com, x86@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org
X-Original-Date Sat, 26 Sep 2015 13:53:37 -0400
X-Original-Message-ID <20150926175337.GB3572@htj.duckdns.org>
X-Original-References <1441859269-25831-1-git-send-email-tangchen@cn.fujitsu.com> <1441859269-25831-4-git-send-email-tangchen@cn.fujitsu.com> <20150910192935.GI8114@mtj.duckdns.org> <560665DB.7020301@cn.fujitsu.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1233251

Show key headers only | View raw


Hello, Tang.

On Sat, Sep 26, 2015 at 05:31:07PM +0800, Tang Chen wrote:
> >>@@ -307,13 +307,19 @@ static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
> >>  	if (nid < 0)
> >>  		nid = numa_node_id();
> >>+	if (!node_online(nid))
> >>+		nid = get_near_online_node(nid);
> >>+
> >>  	return __alloc_pages(gfp_mask, order, node_zonelist(nid, gfp_mask));
> >>  }
> >Why not just update node_data[]->node_zonelist in the first place?
> 
> zonelist will be rebuilt in __offline_pages() when the zone is not populated
> any more.
> 
> Here, getting the best near online node is for those cpus on memory-less
> nodes.
> 
> In the original code, if nid is NUMA_NO_NODE, the node the current cpu
> resides in
> will be chosen. And if the node is memory-less node, the cpu will be mapped
> to its
> best near online node.
> 
> But this patch-set will map the cpu to its original node, so numa_node_id()
> may return
> a memory-less node to allocator. And then memory allocation may fail.

Correct me if I'm wrong but the zonelist dictates which memory areas
the page allocator is gonna try to from, right?  What I'm wondering is
why we aren't handling memory-less nodes by simply updating their
zonelists.  I mean, if, say, node 2 is memory-less, its zonelist can
simply point to zones from other nodes, right?  What am I missing
here?

Thanks.

-- 
tejun
--
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/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation. Tang Chen <tangchen@cn.fujitsu.com> - 2015-09-26 11:40 +0200
  Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory  allocation. Tejun Heo <tj@kernel.org> - 2015-09-26 20:00 +0200
    Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation. Tang Chen <tangchen@cn.fujitsu.com> - 2015-09-28 04:00 +0200

csiph-web