
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 memhotplug-dave/include/linux/mmzone.h |    2 ++
 memhotplug-dave/mm/page_alloc.c        |    1 +
 2 files changed, 3 insertions(+)

diff -puN include/linux/mmzone.h~J-zone_resize_sem include/linux/mmzone.h
--- memhotplug/include/linux/mmzone.h~J-zone_resize_sem	2005-04-13 14:20:57.000000000 -0700
+++ memhotplug-dave/include/linux/mmzone.h	2005-04-13 14:20:57.000000000 -0700
@@ -13,6 +13,7 @@
 #include <linux/numa.h>
 #include <linux/init.h>
 #include <asm/atomic.h>
+#include <asm/semaphore.h>
 
 /* Free memory management - zoned buddy allocator.  */
 #ifndef CONFIG_FORCE_MAX_ZONEORDER
@@ -205,6 +206,7 @@ struct zone {
 
 	unsigned long		spanned_pages;	/* total size, including holes */
 	unsigned long		present_pages;	/* amount of memory (excluding holes) */
+	struct semaphore	resize_sem;
 
 	/*
 	 * rarely used fields:
diff -puN mm/page_alloc.c~J-zone_resize_sem mm/page_alloc.c
--- memhotplug/mm/page_alloc.c~J-zone_resize_sem	2005-04-13 14:20:57.000000000 -0700
+++ memhotplug-dave/mm/page_alloc.c	2005-04-13 14:20:57.000000000 -0700
@@ -1750,6 +1750,7 @@ static void __init free_area_init_core(s
 		zone->name = zone_names[j];
 		spin_lock_init(&zone->lock);
 		spin_lock_init(&zone->lru_lock);
+		init_MUTEX(&zone->resize_sem);
 		zone->zone_pgdat = pgdat;
 		zone->free_pages = 0;
 
_
