* [PATCH] introduce config option to disable DMA zone on i386
@ 2006-12-28 17:03 Marcelo Tosatti
2006-12-28 17:30 ` Paul Mundt
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Marcelo Tosatti @ 2006-12-28 17:03 UTC (permalink / raw)
To: linux-mm, linux-kernel, olpc-devel
Hi,
The following patch adds a config option to get rid of the DMA zone on i386.
Architectures with devices that have no addressing limitations (eg. PPC)
already work this way.
This is useful for custom kernel builds where the developer is certain that
there are no address limitations.
For example, the OLPC machine contains:
- USB devices
- no floppy
- no address limited PCI devices
- no floppy
A unified zone simplifies VM reclaiming work, and also simplifies OOM
killer heuristics (no need to deal with OOM on the DMA zone).
Comments?
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 0d67a0a..8d4dd5e 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -547,6 +547,18 @@ choice
bool "1G/3G user/kernel split"
endchoice
+config NO_DMA_ZONE
+ bool "DMA zone support"
+ default n
+ help
+ This disables support for the 16MiB DMA zone. Only enable this
+ option if you are certain that your devices contain no DMA
+ addressing limitations. A few of them which do:
+ - floppy
+ - ISA devices
+ - some PCI devices (soundcards, etc)
+
+
config PAGE_OFFSET
hex
default 0xB0000000 if VMSPLIT_3G_OPT
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 79df6e6..3078019 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -371,9 +371,13 @@ void __init zone_sizes_init(void)
{
unsigned long max_zone_pfns[MAX_NR_ZONES];
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
+#ifndef CONFIG_NO_DMA_ZONE
max_zone_pfns[ZONE_DMA] =
virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
+#else
+ max_zone_pfns[ZONE_DMA] = max_low_pfn;
+#endif
#ifdef CONFIG_HIGHMEM
max_zone_pfns[ZONE_HIGHMEM] = highend_pfn;
add_active_range(0, 0, highend_pfn);
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] introduce config option to disable DMA zone on i386
2006-12-28 17:03 [PATCH] introduce config option to disable DMA zone on i386 Marcelo Tosatti
@ 2006-12-28 17:30 ` Paul Mundt
2006-12-28 17:43 ` Arjan van de Ven
2006-12-28 18:36 ` Jan Engelhardt
2 siblings, 0 replies; 4+ messages in thread
From: Paul Mundt @ 2006-12-28 17:30 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linux-mm, linux-kernel, olpc-devel
On Thu, Dec 28, 2006 at 03:03:02PM -0200, Marcelo Tosatti wrote:
> The following patch adds a config option to get rid of the DMA zone on i386.
>
> Architectures with devices that have no addressing limitations (eg. PPC)
> already work this way.
>
> This is useful for custom kernel builds where the developer is certain that
> there are no address limitations.
>
Don't know if you're aware or not, but there's already a CONFIG_ZONE_DMA
in -mm that accomplishes this, which goes a bit further in that it rips
out all of the generic ZONE_DMA references. Quite a few architectures
that have no interest in the zone are using this already.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] introduce config option to disable DMA zone on i386
2006-12-28 17:03 [PATCH] introduce config option to disable DMA zone on i386 Marcelo Tosatti
2006-12-28 17:30 ` Paul Mundt
@ 2006-12-28 17:43 ` Arjan van de Ven
2006-12-28 18:36 ` Jan Engelhardt
2 siblings, 0 replies; 4+ messages in thread
From: Arjan van de Ven @ 2006-12-28 17:43 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linux-mm, linux-kernel, olpc-devel
On Thu, 2006-12-28 at 15:03 -0200, Marcelo Tosatti wrote:
> Hi,
>
> The following patch adds a config option to get rid of the DMA zone on i386.
>
> Architectures with devices that have no addressing limitations (eg. PPC)
> already work this way.
>
> This is useful for custom kernel builds where the developer is certain that
> there are no address limitations.
>
> For example, the OLPC machine contains:
>
> - USB devices
> - no floppy
> - no address limited PCI devices
> - no floppy
>
> A unified zone simplifies VM reclaiming work, and also simplifies OOM
> killer heuristics (no need to deal with OOM on the DMA zone).
>
> Comments?
Hi,
since one gets random corruption if a user gets this wrong, at least
make things like floppy and all CONFIG_ISA stuff conflict with this
option.... without that your patch feels like a walking time bomb...
(and please include all PCI drivers that only can do 24 bit or 28bit
or .. non-32bit dma as well)
Greetings,
Arjan van de Ven
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] introduce config option to disable DMA zone on i386
2006-12-28 17:03 [PATCH] introduce config option to disable DMA zone on i386 Marcelo Tosatti
2006-12-28 17:30 ` Paul Mundt
2006-12-28 17:43 ` Arjan van de Ven
@ 2006-12-28 18:36 ` Jan Engelhardt
2 siblings, 0 replies; 4+ messages in thread
From: Jan Engelhardt @ 2006-12-28 18:36 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linux-mm, linux-kernel, olpc-devel
On Dec 28 2006 15:03, Marcelo Tosatti wrote:
>
>Comments?
>
>+config NO_DMA_ZONE
^^^^^^
>+ bool "DMA zone support"
^^^
>+ default n
^
>+ help
>+ This disables support for the 16MiB DMA zone. Only enable this
>+ option if you are certain that your devices contain no DMA
>+ addressing limitations.
The naming could be a bit better. If I have
[*] DMA zone support
it should actually enable the DMA zone, not disable it. Wind it like you
prefer, either
(1) config NO_DMA_ZONE, bool "Disable DMA zone" default n or
(2) config DMA_ZONE, bool "[Enable] DMA zone" default y
-`J'
--
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-12-28 18:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-28 17:03 [PATCH] introduce config option to disable DMA zone on i386 Marcelo Tosatti
2006-12-28 17:30 ` Paul Mundt
2006-12-28 17:43 ` Arjan van de Ven
2006-12-28 18:36 ` Jan Engelhardt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox