[RFC/PATCH: 007/010] Memory hotplug for new nodes with pgdat allocation. (pgdat link insert)

From: Yasunori Goto
Date: Fri Feb 10 2006 - 09:22:24 EST

This is to insert pgdat to its link.
To be honest, I would like remove this pgdat link, and
I posted patches to remove it for a long time ago to -mm.


But, it might have influence against performance for big NUMA box.
So, I should check it.
However, I'm very hard to access big NUMA box. Our machine is
divided as small partitioned for test of each team inside of fujitsu
every time. Sigh. :-(.

This is small lazy patch instead of them.

Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx>

Index: pgdat2/arch/ia64/mm/discontig.c
--- pgdat2.orig/arch/ia64/mm/discontig.c 2006-02-10 17:40:05.000000000 +0900
+++ pgdat2/arch/ia64/mm/discontig.c 2006-02-10 19:42:27.000000000 +0900
@@ -384,7 +384,7 @@ static void __init *memory_less_node_all
* pgdat_insert - insert the pgdat into global pgdat_list
* @pgdat: the pgdat for a node.
-static void __init pgdat_insert(pg_data_t *pgdat)
+void __meminit pgdat_insert(pg_data_t *pgdat)
pg_data_t *prev = NULL, *next;

Index: pgdat2/arch/ia64/mm/init.c
--- pgdat2.orig/arch/ia64/mm/init.c 2006-02-10 17:29:30.000000000 +0900
+++ pgdat2/arch/ia64/mm/init.c 2006-02-10 19:42:41.000000000 +0900
@@ -647,6 +647,8 @@ void online_page(struct page *page)

+extern void __meminit pgdat_insert(pg_data_t *pgdat);
int add_memory(u64 start, u64 size)
pg_data_t *pgdat;
@@ -663,6 +665,7 @@ int add_memory(u64 start, u64 size)

if (!node_online(node)){
ret = new_pgdat_init(node, start_pfn, nr_pages);
+ pgdat_insert(NODE_DATA(node));
if (ret)
return ret;

Yasunori Goto

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/