* [PATCH 6/6] Optional ZONE_DMA for ia64
@ 2006-09-11 22:28 Christoph Lameter
0 siblings, 0 replies; only message in thread
From: Christoph Lameter @ 2006-09-11 22:28 UTC (permalink / raw)
To: linux-ia64
ZONE_DMA less operation for IA64 SGI platform
Disable ZONE_DMA for SGI SN2. All memory is addressable by all
devices and we do not need any special memory pool.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Index: linux-2.6.18-rc6-mm1/arch/ia64/mm/discontig.c
=================================--- linux-2.6.18-rc6-mm1.orig/arch/ia64/mm/discontig.c 2006-09-11 16:42:07.206714114 -0500
+++ linux-2.6.18-rc6-mm1/arch/ia64/mm/discontig.c 2006-09-11 16:51:50.094129334 -0500
@@ -37,7 +37,9 @@
unsigned long pernode_size;
struct bootmem_data bootmem_data;
unsigned long num_physpages;
+#ifdef CONFIG_ZONE_DMA
unsigned long num_dma_physpages;
+#endif
unsigned long min_pfn;
unsigned long max_pfn;
};
@@ -656,9 +658,11 @@
add_active_range(node, start >> PAGE_SHIFT, end >> PAGE_SHIFT);
mem_data[node].num_physpages += len >> PAGE_SHIFT;
+#ifdef CONFIG_ZONE_DMA
if (start <= __pa(MAX_DMA_ADDRESS))
mem_data[node].num_dma_physpages + (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT;
+#endif
start = GRANULEROUNDDOWN(start);
start = ORDERROUNDDOWN(start);
end = GRANULEROUNDUP(end);
@@ -709,7 +713,9 @@
max_pfn = mem_data[node].max_pfn;
}
+#ifdef CONFIG_ZONE_DMA
max_zone_pfns[ZONE_DMA] = max_dma;
+#endif
max_zone_pfns[ZONE_NORMAL] = max_pfn;
free_area_init_nodes(max_zone_pfns);
Index: linux-2.6.18-rc6-mm1/arch/ia64/mm/contig.c
=================================--- linux-2.6.18-rc6-mm1.orig/arch/ia64/mm/contig.c 2006-09-11 16:42:07.215503923 -0500
+++ linux-2.6.18-rc6-mm1/arch/ia64/mm/contig.c 2006-09-11 16:51:50.104872434 -0500
@@ -231,8 +231,10 @@
num_physpages = 0;
efi_memmap_walk(count_pages, &num_physpages);
+#ifdef CONFIG_ZONE_DMA
max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT;
max_zone_pfns[ZONE_DMA] = max_dma;
+#endif
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
#ifdef CONFIG_VIRTUAL_MEM_MAP
Index: linux-2.6.18-rc6-mm1/arch/ia64/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/ia64/Kconfig 2006-09-11 16:44:55.649739769 -0500
+++ linux-2.6.18-rc6-mm1/arch/ia64/Kconfig 2006-09-11 16:51:50.114638888 -0500
@@ -23,8 +23,8 @@
default y
config ZONE_DMA
- bool
- default y
+ def_bool y
+ depends on !IA64_SGI_SN2
config MMU
bool
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-09-11 22:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-11 22:28 [PATCH 6/6] Optional ZONE_DMA for ia64 Christoph Lameter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox