linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Shaohui Zheng <shaohui.zheng@intel.com>
To: Ankita Garg <ankita@in.ibm.com>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, ak@linux.intel.com,
	fengguang.wu@intel.com, haicheng.li@linux.intel.com,
	shaohui.zheng@linux.intel.com, Balbir Singh <balbir@in.ibm.com>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Subject: Re: [RFC, 0/7] NUMA Hotplug emulator
Date: Mon, 24 May 2010 09:47:34 +0800	[thread overview]
Message-ID: <20100524014734.GC25893@shaohui> (raw)
In-Reply-To: <20100521093340.GA7024@in.ibm.com>

On Fri, May 21, 2010 at 03:03:40PM +0530, Ankita Garg wrote:
> 
> I tried the patchset on a non-NUMA machine. So, inorder to create fake
> NUMA nodes and be able to emulate the hotplug behavior, I used the
> following commandline:
> 
> 	"numa=fake=4  numa=hide=2*2048"
> 
> on a machine with 8G memory. I expected to see 4 nodes, out of which 2
> would be hidden. However, the system comes up the 4 online nodes and 2
> offline nodes (thus a total of 6 nodes). While we could decide this to
> be the semantics, however, I feel that numa=fake should define the total
> number of nodes. So in the above case, the system should have come up
> with 2 online nodes and 2 offline nodes.
Ankita,
	it is the expected result, NUMA_EMU and NUMA_HOTPLUG_EMU are 2 different
features, there is no dependency between the 2 features. Even if you disable
NUMA_EMU, the hotplug emualation still working, this implementatin reduces the 
dependency, it make things simple and easy to understand.
	You concern makes sense in semantices, but we do not pefer to combine 2 
independent modules together.
> 
> Also, "numa=hide=N" could also be supported, with the size
> of the hidden nodes being equal to the entire size of the node, with or
> without numa=fake parameter.
> 
> On onlining one of the offline nodes, I see another issue that the
> memory under it is not automatically brought online. For example:
> 
> #ls /sys/devices/system/node
> .... node0 node1 node2..
> 
> #cat /sys/devices/system/node/probe
> 3
> 
> #echo 3 > /sys/devices/system/node/probe
> #ls /sys/devices/system/node
> .... node0 node1 node2 node3
> 
> #cat /sys/devices/system/node/node3/meminfo
> Node 3 MemTotal:              0 kB
> Node 3 MemFree:               0 kB
> Node 3 MemUsed:               0 kB
> Node 3 Active:                0 kB
> ......
> 
> i.e, as memory-less nodes. However, these nodes were designated to have
> memory. So, on onlining the nodes, maybe we could have all their memory
> brought into online state as well ?
it is the same result with the real implemetation for memory hotplug in linux
 kernel, when we hot-add physical memory into machine, the linux kernel create
  the memory entires and create the related data structure, but the OS will never
online the memory, it should finish in user space. 

the node hotplug emulation and memory hotplug emualtioni feature follows up the 
same rules with the kernel.

As we know, when we allocate memory from a memory-less node, it will cause a
OOM issue, Some engineer is already focus on this bug. Because of the OOM issue
can be reproduced with the hotplug emulator, it helps the engineer so much.

This feature is flexible. As I know, Some OSV already online the hotplug memory
automatically, if the mainline kernel decide do the same thing, we will change 
the related code, too.

> 
> -- 
> Regards,                                                                        
> Ankita Garg (ankita@in.ibm.com)                                                 
> Linux Technology Center                                                         
> IBM India Systems & Technology Labs,                                            
> Bangalore, India

-- 
Thanks & Regards,
Shaohui

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

      reply	other threads:[~2010-05-24  2:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-13 11:36 [RFC, 0/7] NUMA Hotplug emulator Shaohui Zheng
2010-05-13 12:11 ` Shaohui Zheng
2010-05-13 12:22   ` Shaohui Zheng
2010-05-14  6:57 ` Balbir Singh
2010-05-15 11:59   ` Shaohui Zheng
2010-05-21  9:33 ` Ankita Garg
2010-05-24  1:47   ` Shaohui Zheng [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100524014734.GC25893@shaohui \
    --to=shaohui.zheng@intel.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ankita@in.ibm.com \
    --cc=balbir@in.ibm.com \
    --cc=fengguang.wu@intel.com \
    --cc=haicheng.li@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shaohui.zheng@linux.intel.com \
    --cc=svaidy@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).