Skip to contentSkip to conversation

Add support for more than 256 zones

PATCH In review Jay Lan 3 participants 3 messages Aug 13, 2003

Subsystems (2)
lore
Share & tools
lore

Jay Lan

author
#0 lore raw

PATCH 1/1 Add support for more than 256 zones

This patch is to support more than 256 zones for large systems. The changes is to add #ifdef CONFIG_IA64 to mm.h to give different #define to ZONE_SHIFT.

Thanks,
- jay lan

include/linux/mm.h Tue Aug 12 17:20:22 2003 renamed from include/linux/mm.h Thu Jul 10 13:04:45 2003 +4 -0
diff -urN a-2.5.75/include/linux/mm.h b-2.5.75/include/linux/mm.h
@@ -323,7 +323,11 @@
  * sets it, so none of the operations on it need to be atomic.
  */
 #define NODE_SHIFT 4
+#ifdef CONFIG_IA64
+#define ZONE_SHIFT (BITS_PER_LONG - 10)
+#else
 #define ZONE_SHIFT (BITS_PER_LONG - 8)
+#endif
 
 struct zone;
 extern struct zone *zone_table[];

For patch to 2.4.21:

include/linux/mm.h Tue Aug 12 17:19:27 2003 renamed from include/linux/mm.h Fri Jun 13 07:51:38 2003 +4 -0
diff -urN a-2.4.21/include/linux/mm.h b-2.4.21/include/linux/mm.h
@@ -321,7 +321,11 @@
  * sets it, so none of the operations on it need to be atomic.
  */
 #define NODE_SHIFT 4
+#ifdef CONFIG_IA64
+#define ZONE_SHIFT (BITS_PER_LONG - 10)
+#else
 #define ZONE_SHIFT (BITS_PER_LONG - 8)
+#endif
 
 struct zone_struct;
 extern struct zone_struct *zone_table[];

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#1 lore raw
Quoted 13 lines · Jay Lan

This patch is to support more than 256 zones for large systems. The changes is to add #ifdef CONFIG_IA64 to mm.h to give different #define to ZONE_SHIFT.

Thanks,
- jay lan

diff -urN a-2.5.75/include/linux/mm.h b-2.5.75/include/linux/mm.h

include/linux/mm.h Tue Aug 12 17:20:22 2003 line 330

Quoted 8 lines
include/linux/mm.h Tue Aug 12 17:20:22 2003 renamed from include/linux/mm.h Thu Jul 10 13:04:45 2003 +4 -0
@@ -323,7 +323,11 @@
   * sets it, so none of the operations on it need to be atomic.
   */
  #define NODE_SHIFT 4
+#ifdef CONFIG_IA64
+#define ZONE_SHIFT (BITS_PER_LONG - 10)
+#else
  #define ZONE_SHIFT (BITS_PER_LONG - 8)
+#endif

Yes, this is good - it gives us five more page flags on 32-bit machines. Assuming that no 32 bit machiens will ever need more than three zones(?)

Please do it this way:

#ifndef ARCH_NR_ZONES_SHIFT
#define ARCH_NR_ZONES_SHIFT 3
#endif

#define ZONE_SHIFT (BITS_PER_LONG - ARCH_NR_ZONES_SHIFT)

and, in asm-ia64/page.h:

#define ARCH_NR_ZONES 10 /* 1024 zones */
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#2 lore raw
Quoted 2 lines

Yes, this is good - it gives us five more page flags on 32-bit machines. Assuming that no 32 bit machiens will ever need more than three zones(?)

There has been talk already of a ZONE_DMA32 or whatever (first 4GB). That'd be useful for quite a few things, so might be nice to leave space for at least four zones ...

M.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>