public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] Deal with cases of ZONE_DMA meaning the first zone
@ 2006-09-11 22:27 Christoph Lameter
  2006-09-18 13:54 ` Christoph Hellwig
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Lameter @ 2006-09-11 22:27 UTC (permalink / raw)
  To: linux-ia64

Optional DMA zone: Replace uses of ZONE_DMA as the first zone

In two places in the VM we use ZONE_DMA to refer to the first zone.
If ZONE_DMA is optional then other zones may be first. So simply
replace ZONE_DMA with zone 0.

This also fixes ZONETABLE_PGSHIFT. If we have only a single zone then
ZONES_PGSHIFT may become 0 because there is no need anymore to encode the
zone number related to a pgdat. However, we still need a zonetable to index
all the zones for each node if this is a NUMA system. Therefore define
ZONETABLE_SHIFT unconditionally as the offset of the ZONE field in page flags.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.18-rc6-mm1/include/linux/mm.h
=================================--- linux-2.6.18-rc6-mm1.orig/include/linux/mm.h	2006-09-11 15:42:30.576324881 -0500
+++ linux-2.6.18-rc6-mm1/include/linux/mm.h	2006-09-11 15:57:17.451691199 -0500
@@ -476,7 +476,7 @@
 #else
 #define ZONETABLE_SHIFT		(SECTIONS_SHIFT + ZONES_SHIFT)
 #endif
-#define ZONETABLE_PGSHIFT	ZONES_PGSHIFT
+#define ZONETABLE_PGSHIFT	ZONES_PGOFF
 
 #if SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > FLAGS_RESERVED
 #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > FLAGS_RESERVED
Index: linux-2.6.18-rc6-mm1/mm/mempolicy.c
=================================--- linux-2.6.18-rc6-mm1.orig/mm/mempolicy.c	2006-09-11 15:42:30.591951213 -0500
+++ linux-2.6.18-rc6-mm1/mm/mempolicy.c	2006-09-11 15:57:17.466340884 -0500
@@ -105,7 +105,7 @@
 
 /* Highest zone. An specific allocation for a zone below that is not
    policied. */
-enum zone_type policy_zone = ZONE_DMA;
+enum zone_type policy_zone = 0;
 
 struct mempolicy default_policy = {
 	.refcnt = ATOMIC_INIT(1), /* never free it */
Index: linux-2.6.18-rc6-mm1/mm/page_alloc.c
=================================--- linux-2.6.18-rc6-mm1.orig/mm/page_alloc.c	2006-09-11 15:42:30.000000000 -0500
+++ linux-2.6.18-rc6-mm1/mm/page_alloc.c	2006-09-11 16:44:51.877934885 -0500
@@ -2486,11 +2486,11 @@
 				"  %s zone: %lu pages exceeds realsize %lu\n",
 				zone_names[j], memmap_pages, realsize);
 
-		/* Account for reserved DMA pages */
-		if (j = ZONE_DMA && realsize > dma_reserve) {
+		/* Account for reserved pages */
+		if (j = 0 && realsize > dma_reserve) {
 			realsize -= dma_reserve;
-			printk(KERN_DEBUG "  DMA zone: %lu pages reserved\n",
-								dma_reserve);
+			printk(KERN_DEBUG "  %s zone: %lu pages reserved\n",
+					zone_names[0], dma_reserve);
 		}
 
 		if (!is_highmem_idx(j))

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/6] Deal with cases of ZONE_DMA meaning the first zone
  2006-09-11 22:27 [PATCH 1/6] Deal with cases of ZONE_DMA meaning the first zone Christoph Lameter
@ 2006-09-18 13:54 ` Christoph Hellwig
  0 siblings, 0 replies; 2+ messages in thread
From: Christoph Hellwig @ 2006-09-18 13:54 UTC (permalink / raw)
  To: linux-ia64

On Mon, Sep 11, 2006 at 03:27:34PM -0700, Christoph Lameter wrote:
> Optional DMA zone: Replace uses of ZONE_DMA as the first zone
> 
> In two places in the VM we use ZONE_DMA to refer to the first zone.
> If ZONE_DMA is optional then other zones may be first. So simply
> replace ZONE_DMA with zone 0.
> 
> This also fixes ZONETABLE_PGSHIFT. If we have only a single zone then
> ZONES_PGSHIFT may become 0 because there is no need anymore to encode the
> zone number related to a pgdat. However, we still need a zonetable to index
> all the zones for each node if this is a NUMA system. Therefore define
> ZONETABLE_SHIFT unconditionally as the offset of the ZONE field in page flags.

ACK.  This is a nice cleanup that should go in independent of what the fate
of the rest of the series is.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-09-18 13:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-11 22:27 [PATCH 1/6] Deal with cases of ZONE_DMA meaning the first zone Christoph Lameter
2006-09-18 13:54 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox