
There has to be a compromise between the bits used for sparsemem
and the bits used for page->flags on 32-bit platforms.  Using
fewer bits means that the granularity of sections decreases,
so they grow in size.  This makes sparse less flexible.

So, temporarily raise this so that we have a reasonable number of
sections to test with.

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

 memhotplug-dave/arch/i386/Kconfig            |    1 -
 memhotplug-dave/include/asm-i386/sparsemem.h |    2 +-
 memhotplug-dave/include/linux/mmzone.h       |    2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff -puN include/asm-i386/mmzone.h~Y3-B-sparse-156-FLAGS_RESERVED include/asm-i386/mmzone.h
diff -puN include/linux/mmzone.h~Y3-B-sparse-156-FLAGS_RESERVED include/linux/mmzone.h
--- memhotplug/include/linux/mmzone.h~Y3-B-sparse-156-FLAGS_RESERVED	2005-04-13 14:21:18.000000000 -0700
+++ memhotplug-dave/include/linux/mmzone.h	2005-04-13 14:21:18.000000000 -0700
@@ -416,7 +416,7 @@ extern struct pglist_data contig_page_da
  * with 32 bit page->flags field, we reserve 8 bits for node/zone info.
  * there are 3 zones (2 bits) and this leaves 8-2=6 bits for nodes.
  */
-#define FLAGS_RESERVED		8
+#define FLAGS_RESERVED		10
 
 #elif BITS_PER_LONG == 64
 /*
diff -puN mm/Kconfig~Y3-B-sparse-156-FLAGS_RESERVED mm/Kconfig
diff -puN arch/i386/Kconfig~Y3-B-sparse-156-FLAGS_RESERVED arch/i386/Kconfig
--- memhotplug/arch/i386/Kconfig~Y3-B-sparse-156-FLAGS_RESERVED	2005-04-13 14:21:18.000000000 -0700
+++ memhotplug-dave/arch/i386/Kconfig	2005-04-13 14:21:18.000000000 -0700
@@ -804,7 +804,6 @@ config X86_SPARSEMEM_DEBUG_NONUMA
 
 config ARCH_DISCONTIGMEM_DEFAULT
 	def_bool y
-	depends on NUMA
 
 config ARCH_SPARSEMEM_ENABLE
 	def_bool y
diff -puN include/asm-i386/sparsemem.h~Y3-B-sparse-156-FLAGS_RESERVED include/asm-i386/sparsemem.h
--- memhotplug/include/asm-i386/sparsemem.h~Y3-B-sparse-156-FLAGS_RESERVED	2005-04-13 14:21:18.000000000 -0700
+++ memhotplug-dave/include/asm-i386/sparsemem.h	2005-04-13 14:21:18.000000000 -0700
@@ -15,7 +15,7 @@
  * MAX_PHYSMEM_BITS		2^N: how much memory we can have in that space
  */
 #ifdef CONFIG_X86_PAE
-#define SECTION_SIZE_BITS       30
+#define SECTION_SIZE_BITS       28
 #define MAX_PHYSADDR_BITS       36
 #define MAX_PHYSMEM_BITS	36
 #else
_
