[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CF2F38D4AE21BB4CB845318E4C5ECB671E790AF3@shsmsx501.ccr.corp.intel.com>
Date: Tue, 25 May 2010 09:35:27 +0800
From: "Guo, Chaohong" <chaohong.guo@...el.com>
To: Lee Schermerhorn <Lee.Schermerhorn@...com>
CC: minskey guo <chaohong_guo@...ux.intel.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Andrew Morton <akpm@...ux-foundation.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"prarit@...hat.com" <prarit@...hat.com>,
"Kleen, Andi" <andi.kleen@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Tejun Heo <tj@...nel.org>,
"stable@...nel.org" <stable@...nel.org>
Subject: RE: [PATCH] online CPU before memory failed in pcpu_alloc_pages()
>>
>> But currently, I don't
>> >think you can use the numa_mem_id()/cpu_to_mem() interfaces for your
>> >purpose. I suppose you could change page_alloc.c to compile
>> >local_memory_node() #if defined(CONFIG_HAVE_MEMORYLESS_NODES) ||
>> >defined
>> >(CPU_HOTPLUG) and use that function to find the nearest memory. It
>> >should return a valid node after zonelists have been rebuilt.
>> >
>> >Does that make sense?
>>
>> Yes, besides, I need to find a place in hotplug path to call set_numa_mem()
>> just as you mentioned for ia64 platform. Is my understanding right ?
>
>I don't think you can use any of the "numa_mem" functions on x86[_64]
>without doing a lot more work to expose memoryless nodes. On x86_64,
>numa_mem_id() and cpu_to_mem() always return the same as numa_node_id()
>and cpu_to_node(). This is because x86_64 code hides memoryless nodes
>and reassigns all cpus to nodes with memory. Are you planning on
>changing this such that memoryless nodes remain on-line with their cpus
>associated with them? If so, go for it! If not, then you don't need
>to [can't really, I think] use set_numa_mem()/cpu_to_mem() for your
>purposes. That's why I suggested you arrange for local_memory_node() to
>be compiled for CPU_HOTPLUG and call that function directly to obtain a
>nearby node from which you can allocate memory during cpu hot plug. Or,
>I could just completely misunderstand what you propose to do with these
>percpu variables.
Got it, thank you very much for detailed explanation.
-minskey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists