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

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

diff -puN mm/page_alloc.c~J-zone_resize_sem mm/page_alloc.c
--- memhotplug1/mm/page_alloc.c~J-zone_resize_sem	2004-11-04 16:45:49.000000000 -0800
+++ memhotplug1-dave/mm/page_alloc.c	2004-11-04 16:45:49.000000000 -0800
@@ -1722,6 +1722,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;
 
diff -puN include/linux/mmzone.h~J-zone_resize_sem include/linux/mmzone.h
--- memhotplug1/include/linux/mmzone.h~J-zone_resize_sem	2004-11-04 16:45:49.000000000 -0800
+++ memhotplug1-dave/include/linux/mmzone.h	2004-11-04 16:45:49.000000000 -0800
@@ -13,6 +13,7 @@
 #include <linux/numa.h>
 #include <linux/nonlinear.h>
 #include <asm/atomic.h>
+#include <asm/semaphore.h>
 
 /* Free memory management - zoned buddy allocator.  */
 #ifndef CONFIG_FORCE_MAX_ZONEORDER
@@ -211,6 +212,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:
_
