* [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