From: Yasunori Goto <y-goto@jp.fujitsu.com>
To: "Luck, Tony" <tony.luck@intel.com>, Andi Kleen <ak@suse.de>,
Joel Schopp <jschopp@austin.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
linux-ia64@vger.kernel.org, Andrew Morton <akpm@osdl.org>
Subject: [PATCH: 000/017] (RFC)Memory hotplug for new nodes v.3.
Date: Wed, 08 Mar 2006 13:41:03 +0000 [thread overview]
Message-ID: <20060308212316.0022.Y-GOTO@jp.fujitsu.com> (raw)
Hello.
I'll post newest patches for memory hotadd with pgdat allocation as V3.
There are many changes to make more common code.
This may be too many patches, but I would like to show
total feature of this code now.
This patches are for 2.6.16-rc5-mm3.
I tested these patch on just Tiger4(ia64) with emulation now.
But, I'll test them for x86-64 too after this post.
Please comment.
---------------------------------------
This is memory hotadd code when new node is added.
In this patch, pgdat is allocated when new node is comming.
To initialize pgdat and zones, a set of patches are necessary.
- to allcate and initialize pgdat, zone, zonelist.
- to make new kswapd
- to initialize node_data[] array (ia64)
- to register sysfs file for new node.
- to call memory_hotplug code from acpi container driver.
Note:
- kzalloc is used for pgdat allocation in this version.
So, even if pgdat is allocated, it will be allocated on the other node.
This is only to simplify patches a bit. :-P
-----------------------------
Followings are updates.
Updates from V2 to V3.
- update for 2.6.16-rc5-mm3.
- The caller function of pgdat allcation and so on become common code.
- Passing node id at add_memory().
- build_zonelists() is called after that pages are onlined.
- Updating NODE_DATA() for ia64 become simple and become
common code between booting and hotadd.
(But other consideration will be necessary for hot-remove.)
- kswapd is called by kthread_run().
- finding node id by acpi use handle of its memory device.
-
Updates from V1 to V2.
- update for 2.6.16-rc5-mm2.
- not only ia64, This is tested on x86_64 with NUMA emulation too. :-)
- wait_table_size() allcation is changed.
- Take max size as much as possible.
- Change using GFP_ATOMIC. It is inside of zone_init_lock.
(Warining message of might_sleep() is very well.)
- stop_machine_run(build_zonelists) is move to outside of lock.
- pgdat_insert() is moved to generic code to be used by x86_64.
- add decision of ZONE_DMA32 or ZONE_NORMAL to x86_64's add_memory().
- Make a separated patch to change from __init to __meminit.
- Fix some typo
--
Yasunori Goto
WARNING: multiple messages have this Message-ID (diff)
From: Yasunori Goto <y-goto@jp.fujitsu.com>
To: "Luck, Tony" <tony.luck@intel.com>, Andi Kleen <ak@suse.de>,
Joel Schopp <jschopp@austin.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
linux-ia64@vger.kernel.org, Andrew Morton <akpm@osdl.org>
Subject: [PATCH: 000/017] (RFC)Memory hotplug for new nodes v.3.
Date: Wed, 08 Mar 2006 22:41:03 +0900 [thread overview]
Message-ID: <20060308212316.0022.Y-GOTO@jp.fujitsu.com> (raw)
Hello.
I'll post newest patches for memory hotadd with pgdat allocation as V3.
There are many changes to make more common code.
This may be too many patches, but I would like to show
total feature of this code now.
This patches are for 2.6.16-rc5-mm3.
I tested these patch on just Tiger4(ia64) with emulation now.
But, I'll test them for x86-64 too after this post.
Please comment.
---------------------------------------
This is memory hotadd code when new node is added.
In this patch, pgdat is allocated when new node is comming.
To initialize pgdat and zones, a set of patches are necessary.
- to allcate and initialize pgdat, zone, zonelist.
- to make new kswapd
- to initialize node_data[] array (ia64)
- to register sysfs file for new node.
- to call memory_hotplug code from acpi container driver.
Note:
- kzalloc is used for pgdat allocation in this version.
So, even if pgdat is allocated, it will be allocated on the other node.
This is only to simplify patches a bit. :-P
-----------------------------
Followings are updates.
Updates from V2 to V3.
- update for 2.6.16-rc5-mm3.
- The caller function of pgdat allcation and so on become common code.
- Passing node id at add_memory().
- build_zonelists() is called after that pages are onlined.
- Updating NODE_DATA() for ia64 become simple and become
common code between booting and hotadd.
(But other consideration will be necessary for hot-remove.)
- kswapd is called by kthread_run().
- finding node id by acpi use handle of its memory device.
-
Updates from V1 to V2.
- update for 2.6.16-rc5-mm2.
- not only ia64, This is tested on x86_64 with NUMA emulation too. :-)
- wait_table_size() allcation is changed.
- Take max size as much as possible.
- Change using GFP_ATOMIC. It is inside of zone_init_lock.
(Warining message of might_sleep() is very well.)
- stop_machine_run(build_zonelists) is move to outside of lock.
- pgdat_insert() is moved to generic code to be used by x86_64.
- add decision of ZONE_DMA32 or ZONE_NORMAL to x86_64's add_memory().
- Make a separated patch to change from __init to __meminit.
- Fix some typo
--
Yasunori Goto
WARNING: multiple messages have this Message-ID (diff)
From: Yasunori Goto <y-goto@jp.fujitsu.com>
To: "Luck, Tony" <tony.luck@intel.com>, Andi Kleen <ak@suse.de>,
Joel Schopp <jschopp@austin.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
linux-ia64@vger.kernel.org, Andrew Morton <akpm@osdl.org>
Subject: [PATCH: 000/017] (RFC)Memory hotplug for new nodes v.3.
Date: Wed, 08 Mar 2006 22:41:03 +0900 [thread overview]
Message-ID: <20060308212316.0022.Y-GOTO@jp.fujitsu.com> (raw)
Hello.
I'll post newest patches for memory hotadd with pgdat allocation as V3.
There are many changes to make more common code.
This may be too many patches, but I would like to show
total feature of this code now.
This patches are for 2.6.16-rc5-mm3.
I tested these patch on just Tiger4(ia64) with emulation now.
But, I'll test them for x86-64 too after this post.
Please comment.
---------------------------------------
This is memory hotadd code when new node is added.
In this patch, pgdat is allocated when new node is comming.
To initialize pgdat and zones, a set of patches are necessary.
- to allcate and initialize pgdat, zone, zonelist.
- to make new kswapd
- to initialize node_data[] array (ia64)
- to register sysfs file for new node.
- to call memory_hotplug code from acpi container driver.
Note:
- kzalloc is used for pgdat allocation in this version.
So, even if pgdat is allocated, it will be allocated on the other node.
This is only to simplify patches a bit. :-P
-----------------------------
Followings are updates.
Updates from V2 to V3.
- update for 2.6.16-rc5-mm3.
- The caller function of pgdat allcation and so on become common code.
- Passing node id at add_memory().
- build_zonelists() is called after that pages are onlined.
- Updating NODE_DATA() for ia64 become simple and become
common code between booting and hotadd.
(But other consideration will be necessary for hot-remove.)
- kswapd is called by kthread_run().
- finding node id by acpi use handle of its memory device.
-
Updates from V1 to V2.
- update for 2.6.16-rc5-mm2.
- not only ia64, This is tested on x86_64 with NUMA emulation too. :-)
- wait_table_size() allcation is changed.
- Take max size as much as possible.
- Change using GFP_ATOMIC. It is inside of zone_init_lock.
(Warining message of might_sleep() is very well.)
- stop_machine_run(build_zonelists) is move to outside of lock.
- pgdat_insert() is moved to generic code to be used by x86_64.
- add decision of ZONE_DMA32 or ZONE_NORMAL to x86_64's add_memory().
- Make a separated patch to change from __init to __meminit.
- Fix some typo
--
Yasunori Goto
--
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>
next reply other threads:[~2006-03-08 13:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-08 13:41 Yasunori Goto [this message]
2006-03-08 13:41 ` [PATCH: 000/017] (RFC)Memory hotplug for new nodes v.3 Yasunori Goto
2006-03-08 13:41 ` Yasunori Goto
2006-03-09 12:00 ` Andrew Morton
2006-03-09 12:00 ` Andrew Morton
2006-03-09 12:00 ` Andrew Morton
2006-03-10 7:13 ` Yasunori Goto
2006-03-10 7:13 ` Yasunori Goto
2006-03-10 7:13 ` Yasunori Goto
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=20060308212316.0022.Y-GOTO@jp.fujitsu.com \
--to=y-goto@jp.fujitsu.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=haveblue@us.ibm.com \
--cc=jschopp@austin.ibm.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=tony.luck@intel.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 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.