Re: [discuss] Re: [1/3] Add 4GB DMA32 zone

Andrew Morton
2005-09-13T10:16:16Z

Andi Kleen <ak@suse.de> wrote:
>
> Andrew do you still have the patch with
> the description? It must have been between 2.6.13mm1 and 2.6.13mm2.

From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>

Because 2.6.13-mm2 adds new zone DMA32, ZONES_SHIFT becomes 3.
So, flags bits reserved for (SECTION | NODE | ZONE) should be increase.

ZONE_SHIFT is increased, FLAGS_RESERVED should be.

Signed-off-by Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

include/linux/mmzone.h | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff -puN include/linux/mmzone.h~x86_64-dma32-fix include/linux/mmzone.h
--- 25/include/linux/mmzone.h~x86_64-dma32-fix Fri Sep 9 17:13:41 2005
+++ 25-akpm/include/linux/mmzone.h Fri Sep 9 17:14:13 2005
@@ -431,9 +431,10 @@ extern struct pglist_data contig_page_da
#if BITS_PER_LONG == 32 || defined(ARCH_HAS_ATOMIC_UNSIGNED)
/*
* 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.
+ * there are 4 zones (3 bits) and this leaves 8-2=6 bits for nodes.
+ * +6bits for sections if CONFIG_SPARSEMEM
*/
-#define FLAGS_RESERVED 8
+#define FLAGS_RESERVED 9

#elif BITS_PER_LONG == 64
/*
_