All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Shaohui Zheng <shaohui.zheng@intel.com>,
	Paul Mundt <lethal@linux-sh.org>, Andi Kleen <ak@linux.intel.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Haicheng Li <haicheng.li@intel.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org
Subject: Re: [patch 2/2] mm: add node hotplug emulation
Date: Sun, 21 Nov 2010 09:34:38 -0800	[thread overview]
Message-ID: <20101121173438.GA3922@suse.de> (raw)
In-Reply-To: <alpine.DEB.2.00.1011201827540.12889@chino.kir.corp.google.com>

On Sat, Nov 20, 2010 at 06:28:38PM -0800, David Rientjes wrote:
> 
> Add an interface to allow new nodes to be added when performing memory
> hot-add.  This provides a convenient interface to test memory hotplug
> notifier callbacks and surrounding hotplug code when new nodes are
> onlined without actually having a machine with such hotpluggable SRAT
> entries.
> 
> This adds a new interface at /sys/devices/system/memory/add_node that
> behaves in a similar way to the memory hot-add "probe" interface.  Its
> format is size@start, where "size" is the size of the new node to be
> added and "start" is the physical address of the new memory.

Ick, we are trying to clean up the system devices right now which would
prevent this type of tree being added.

> The new node id is a currently offline, but possible, node.  The bit must
> be set in node_possible_map so that nr_node_ids is sized appropriately.
> 
> For emulation on x86, for example, it would be possible to set aside
> memory for hotplugged nodes (say, anything above 2G) and to add an
> additional three nodes as being possible on boot with
> 
> 	mem=2G numa=possible=3
> 
> and then creating a new 128M node at runtime:
> 
> 	# echo 128M@0x80000000 > /sys/devices/system/memory/add_node
> 	On node 1 totalpages: 0
> 	init_memory_mapping: 0000000080000000-0000000088000000
> 	 0080000000 - 0088000000 page 2M
> 
> Once the new node has been added, its memory can be onlined.  If this
> memory represents memory section 16, for example:
> 
> 	# echo online > /sys/devices/system/memory/memory16/state
> 	Built 2 zonelists in Node order, mobility grouping on.  Total pages: 514846
> 	Policy zone: Normal
> 
>  [ The memory section(s) mapped to a particular node are visible via
>    /sys/devices/system/node/node1, in this example. ]
> 
> The new node is now hotplugged and ready for testing.
> 
> Signed-off-by: David Rientjes <rientjes@google.com>
> ---
>  Documentation/memory-hotplug.txt |   24 ++++++++++++++++++++++++
>  drivers/base/memory.c            |   36 +++++++++++++++++++++++++++++++++++-
>  2 files changed, 59 insertions(+), 1 deletions(-)

When adding sysfs files you need to document it in Documentation/ABI
instead.

But as this is a debugging thing, why not just put it in debugfs
instead?

thanks,

greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@suse.de>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Shaohui Zheng <shaohui.zheng@intel.com>,
	Paul Mundt <lethal@linux-sh.org>, Andi Kleen <ak@linux.intel.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Haicheng Li <haicheng.li@intel.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org
Subject: Re: [patch 2/2] mm: add node hotplug emulation
Date: Sun, 21 Nov 2010 09:34:38 -0800	[thread overview]
Message-ID: <20101121173438.GA3922@suse.de> (raw)
In-Reply-To: <alpine.DEB.2.00.1011201827540.12889@chino.kir.corp.google.com>

On Sat, Nov 20, 2010 at 06:28:38PM -0800, David Rientjes wrote:
> 
> Add an interface to allow new nodes to be added when performing memory
> hot-add.  This provides a convenient interface to test memory hotplug
> notifier callbacks and surrounding hotplug code when new nodes are
> onlined without actually having a machine with such hotpluggable SRAT
> entries.
> 
> This adds a new interface at /sys/devices/system/memory/add_node that
> behaves in a similar way to the memory hot-add "probe" interface.  Its
> format is size@start, where "size" is the size of the new node to be
> added and "start" is the physical address of the new memory.

Ick, we are trying to clean up the system devices right now which would
prevent this type of tree being added.

> The new node id is a currently offline, but possible, node.  The bit must
> be set in node_possible_map so that nr_node_ids is sized appropriately.
> 
> For emulation on x86, for example, it would be possible to set aside
> memory for hotplugged nodes (say, anything above 2G) and to add an
> additional three nodes as being possible on boot with
> 
> 	mem=2G numa=possible=3
> 
> and then creating a new 128M node at runtime:
> 
> 	# echo 128M@0x80000000 > /sys/devices/system/memory/add_node
> 	On node 1 totalpages: 0
> 	init_memory_mapping: 0000000080000000-0000000088000000
> 	 0080000000 - 0088000000 page 2M
> 
> Once the new node has been added, its memory can be onlined.  If this
> memory represents memory section 16, for example:
> 
> 	# echo online > /sys/devices/system/memory/memory16/state
> 	Built 2 zonelists in Node order, mobility grouping on.  Total pages: 514846
> 	Policy zone: Normal
> 
>  [ The memory section(s) mapped to a particular node are visible via
>    /sys/devices/system/node/node1, in this example. ]
> 
> The new node is now hotplugged and ready for testing.
> 
> Signed-off-by: David Rientjes <rientjes@google.com>
> ---
>  Documentation/memory-hotplug.txt |   24 ++++++++++++++++++++++++
>  drivers/base/memory.c            |   36 +++++++++++++++++++++++++++++++++++-
>  2 files changed, 59 insertions(+), 1 deletions(-)

When adding sysfs files you need to document it in Documentation/ABI
instead.

But as this is a debugging thing, why not just put it in debugfs
instead?

thanks,

greg k-h

--
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/ .
Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-11-21 17:34 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-17  2:07 [0/8,v3] NUMA Hotplug Emulator - Introduction & Feedbacks shaohui.zheng
2010-11-17  2:07 ` shaohui.zheng
2010-11-17  2:08 ` [1/8,v3] NUMA Hotplug Emulator: add function to hide memory region via e820 table shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17  8:16   ` David Rientjes
2010-11-17  8:16     ` David Rientjes
2010-11-18  9:20     ` Shaohui Zheng
2010-11-18  9:20       ` Shaohui Zheng
2010-11-18 21:16       ` David Rientjes
2010-11-18 21:16         ` David Rientjes
2010-11-19  0:12         ` Shaohui Zheng
2010-11-19  0:12           ` Shaohui Zheng
2010-11-21  0:45           ` David Rientjes
2010-11-21  0:45             ` David Rientjes
2010-11-21 14:00             ` Américo Wang
2010-11-21 14:00               ` Américo Wang
2010-11-21 21:33               ` David Rientjes
2010-11-21 21:33                 ` David Rientjes
2010-11-17  2:08 ` [2/8,v3] NUMA Hotplug Emulator: infrastructure of NUMA hotplug emulation shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17  8:16   ` David Rientjes
2010-11-17  8:16     ` David Rientjes
2010-11-17  7:51     ` Shaohui Zheng
2010-11-17  7:51       ` Shaohui Zheng
2010-11-17 21:10       ` David Rientjes
2010-11-17 21:10         ` David Rientjes
2010-11-18  4:14         ` Shaohui Zheng
2010-11-18  4:14           ` Shaohui Zheng
2010-11-18  6:27           ` Paul Mundt
2010-11-18  6:27             ` Paul Mundt
2010-11-18  5:27             ` Shaohui Zheng
2010-11-18  5:27               ` Shaohui Zheng
2010-11-18 21:24               ` David Rientjes
2010-11-18 21:24                 ` David Rientjes
2010-11-19  0:32                 ` Shaohui Zheng
2010-11-19  0:32                   ` Shaohui Zheng
2010-11-21  0:48                   ` David Rientjes
2010-11-21  0:48                     ` David Rientjes
2010-11-21  2:28                     ` [patch 1/2] x86: add numa=possible command line option David Rientjes
2010-11-21  2:28                       ` David Rientjes
2010-11-21  2:28                       ` [patch 2/2] mm: add node hotplug emulation David Rientjes
2010-11-21  2:28                         ` David Rientjes
2010-11-21 17:34                         ` Greg KH [this message]
2010-11-21 17:34                           ` Greg KH
2010-11-21 21:48                           ` David Rientjes
2010-11-21 21:48                             ` David Rientjes
2010-11-21 23:08                             ` [patch 2/2 v2] " David Rientjes
2010-11-21 23:08                               ` David Rientjes
2010-11-22  0:56                               ` Greg KH
2010-11-22  0:56                                 ` Greg KH
2010-11-28  1:52                                 ` David Rientjes
2010-11-28  1:52                                   ` David Rientjes
2010-11-28  5:17                                   ` Greg KH
2010-11-28  5:17                                     ` Greg KH
2010-11-30  0:04                                     ` David Rientjes
2010-11-30  0:04                                       ` David Rientjes
2010-11-21 14:26                       ` [patch 1/2] x86: add numa=possible command line option Américo Wang
2010-11-21 14:26                         ` Américo Wang
2010-11-21 21:46                         ` David Rientjes
2010-11-21 21:46                           ` David Rientjes
2010-11-22 15:43                           ` Américo Wang
2010-11-22 15:43                             ` Américo Wang
2010-11-21 15:14                     ` [2/8,v3] NUMA Hotplug Emulator: infrastructure of NUMA hotplug emulation Li, Haicheng
2010-11-21 15:14                       ` Li, Haicheng
2010-11-21 21:42                       ` David Rientjes
2010-11-21 21:42                         ` David Rientjes
2010-11-18 21:19           ` David Rientjes
2010-11-18 21:19             ` David Rientjes
2010-11-17  2:08 ` [3/8,v3] NUMA Hotplug Emulator: Userland interface to hotplug-add fake offlined nodes shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17  8:16   ` David Rientjes
2010-11-17  8:16     ` David Rientjes
2010-11-17  2:08 ` [4/8,v3] NUMA Hotplug Emulator: Abstract cpu register functions shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17  2:08 ` [5/8,v3] NUMA Hotplug Emulator: support cpu probe/release in x86 shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-21 14:45   ` Américo Wang
2010-11-21 14:45     ` Américo Wang
2010-11-22  0:01     ` Shaohui Zheng
2010-11-22  0:01       ` Shaohui Zheng
2010-11-22 15:51       ` Américo Wang
2010-11-22 15:51         ` Américo Wang
2010-11-22 23:29         ` Shaohui Zheng
2010-11-22 23:29           ` Shaohui Zheng
2010-11-17  2:08 ` [6/8,v3] NUMA Hotplug Emulator: Fake CPU socket with logical CPU on x86 shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17  2:08 ` [7/8,v3] NUMA Hotplug Emulator: extend memory probe interface to support NUMA shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17 18:50   ` Dave Hansen
2010-11-17 18:50     ` Dave Hansen
2010-11-17 21:18     ` David Rientjes
2010-11-17 21:18       ` David Rientjes
2010-11-17 21:55       ` Dave Hansen
2010-11-17 21:55         ` Dave Hansen
2010-11-17 22:44         ` David Rientjes
2010-11-17 22:44           ` David Rientjes
2010-11-17 23:00           ` Dave Hansen
2010-11-17 23:00             ` Dave Hansen
2010-11-17 23:17             ` David Rientjes
2010-11-17 23:17               ` David Rientjes
2010-11-18 16:59           ` Aaron Durbin
2010-11-18 16:59             ` Aaron Durbin
2010-11-18  4:48       ` Shaohui Zheng
2010-11-18  4:48         ` Shaohui Zheng
2010-11-18  6:24         ` Paul Mundt
2010-11-18  6:24           ` Paul Mundt
2010-11-18 21:28           ` David Rientjes
2010-11-18 21:28             ` David Rientjes
2010-11-18 21:31         ` David Rientjes
2010-11-18 21:31           ` David Rientjes
2010-11-18  4:36     ` Shaohui Zheng
2010-11-18  4:36       ` Shaohui Zheng
2010-11-19  7:51     ` Shaohui Zheng
2010-11-19 16:36       ` Dave Hansen
2010-11-19 16:36         ` Dave Hansen
2010-11-17  2:08 ` [8/8,v3] NUMA Hotplug Emulator: documentation shaohui.zheng
2010-11-17  2:08   ` shaohui.zheng
2010-11-17 23:06   ` Randy Dunlap
2010-11-17 23:06     ` Randy Dunlap
2010-11-18  2:31     ` Shaohui Zheng
2010-11-18  2:31       ` Shaohui Zheng
2010-11-21 15:03   ` Américo Wang
2010-11-21 15:03     ` Américo Wang
2010-11-21 15:16     ` Li, Haicheng
2010-11-21 15:16       ` Li, Haicheng
2010-11-21 23:33     ` Shaohui Zheng
2010-11-21 23:33       ` Shaohui Zheng
2010-11-22 16:04       ` Américo Wang
2010-11-22 16:04         ` Américo Wang
2010-11-22 23:23         ` Shaohui Zheng
2010-11-22 23:23           ` Shaohui Zheng
2010-11-17  5:22 ` [0/8,v3] NUMA Hotplug Emulator - Introduction & Feedbacks Paul Mundt
2010-11-17  5:22   ` Paul Mundt
2010-11-19  5:54   ` Shaohui Zheng
2010-11-19  5:54     ` Shaohui Zheng
2010-11-17  9:26 ` Yinghai Lu
2010-11-17  9:26   ` Yinghai Lu
2010-11-18  2:03   ` Shaohui Zheng
2010-11-18  2:03     ` Shaohui Zheng
     [not found] <A24AE1FFE7AEC5489F83450EE98351BF28723FC4A7@shsmsx502.ccr.corp.intel.com>
2010-11-22  1:47 ` [patch 2/2] mm: add node hotplug emulation Shaohui Zheng
2010-11-22  1:47   ` Shaohui Zheng
2010-11-24  6:45   ` Shaohui Zheng
2010-11-24  6:45     ` Shaohui Zheng
2010-11-28  2:01     ` David Rientjes
2010-11-28  2:01       ` David Rientjes
2010-11-28  2:00   ` David Rientjes
2010-11-28  2:00     ` David Rientjes

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=20101121173438.GA3922@suse.de \
    --to=gregkh@suse.de \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=haicheng.li@intel.com \
    --cc=hpa@zytor.com \
    --cc=lethal@linux-sh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@redhat.com \
    --cc=randy.dunlap@oracle.com \
    --cc=rientjes@google.com \
    --cc=shaohui.zheng@intel.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.