[PATCH] Add node to zone for the NUMA case.

Add the node in order to optimize zone_to_nid.


Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.18-rc6-mm2/include/linux/mmzone.h
===================================================================
--- linux-2.6.18-rc6-mm2.orig/include/linux/mmzone.h	2006-09-18 13:27:53.240373174 -0500
+++ linux-2.6.18-rc6-mm2/include/linux/mmzone.h	2006-09-18 14:09:30.709321073 -0500
@@ -168,6 +168,7 @@ struct zone {
 	unsigned long		lowmem_reserve[MAX_NR_ZONES];
 
 #ifdef CONFIG_NUMA
+	int node;
 	/*
 	 * zone reclaim becomes active if more unmapped pages exist.
 	 */
Index: linux-2.6.18-rc6-mm2/mm/page_alloc.c
===================================================================
--- linux-2.6.18-rc6-mm2.orig/mm/page_alloc.c	2006-09-18 14:09:27.380918785 -0500
+++ linux-2.6.18-rc6-mm2/mm/page_alloc.c	2006-09-18 14:09:30.737643745 -0500
@@ -2498,6 +2498,7 @@ static void __meminit free_area_init_cor
 		zone->spanned_pages = size;
 		zone->present_pages = realsize;
 #ifdef CONFIG_NUMA
+		zone->node = nid;
 		zone->min_unmapped_pages = (realsize*sysctl_min_unmapped_ratio)
 						/ 100;
 		zone->min_slab_pages = (realsize * sysctl_min_slab_ratio) / 100;
Index: linux-2.6.18-rc6-mm2/include/linux/mm.h
===================================================================
--- linux-2.6.18-rc6-mm2.orig/include/linux/mm.h	2006-09-18 14:08:15.652287517 -0500
+++ linux-2.6.18-rc6-mm2/include/linux/mm.h	2006-09-18 14:09:30.757176622 -0500
@@ -446,7 +446,7 @@ static inline struct zone *page_zone(str
 
 static inline unsigned long zone_to_nid(struct zone *zone)
 {
-	return zone->zone_pgdat->node_id;
+	return zone->node;
 }
 
 static inline unsigned long page_to_nid(struct page *page)