Skip to content

Commit

Permalink
[ARM] 5295/1: make ZONE_DMA optional
Browse files Browse the repository at this point in the history
Most ARM machines don't need a special "DMA" memory zone, and
when configured out, the kernel becomes a bit smaller:

|   text    data     bss     dec     hex filename
|3826182  102384  111700 4040266  3da64a vmlinux
|3823593  101616  111700 4036909  3d992d vmlinux.nodmazone

This is because the system now has only one zone total which effect is
to optimize away many conditionals in page allocation paths.

So let's configure this zone only on machines that need split zones.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Nicolas Pitre authored and Russell King committed Oct 9, 2008
1 parent 000b502 commit 3bca103
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 2 deletions.
4 changes: 3 additions & 1 deletion arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ config ARCH_MAY_HAVE_PC_FDC

config ZONE_DMA
bool
default y

config GENERIC_ISA_DMA
bool
Expand Down Expand Up @@ -357,6 +356,7 @@ config ARCH_IXP4XX
select GENERIC_GPIO
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select ZONE_DMA if PCI
help
Support for Intel's IXP4XX (XScale) family of processors.

Expand Down Expand Up @@ -503,6 +503,7 @@ config ARCH_SHARK
bool "Shark"
select ISA
select ISA_DMA
select ZONE_DMA
select PCI
help
Support for the StrongARM based Digital DNARD machine, also known
Expand All @@ -524,6 +525,7 @@ config ARCH_DAVINCI
select GENERIC_CLOCKEVENTS
select GENERIC_GPIO
select HAVE_CLK
select ZONE_DMA
help
Support for TI's DaVinci platform.

Expand Down
3 changes: 2 additions & 1 deletion arch/arm/common/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ config ICST307

config SA1111
bool
select DMABOUNCE
select DMABOUNCE if !ARCH_PXA
select ZONE_DMA if !ARCH_PXA

config DMABOUNCE
bool
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/include/asm/memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@

#ifndef arch_adjust_zones
#define arch_adjust_zones(node,size,holes) do { } while (0)
#elif !defined(CONFIG_ZONE_DMA)
#error "custom arch_adjust_zones() requires CONFIG_ZONE_DMA"
#endif

/*
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-pxa/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ config MACH_ARMCORE
bool "CompuLab CM-X270 modules"
select PXA27x
select IWMMXT
select ZONE_DMA if PCI

config MACH_MAGICIAN
bool "Enable HTC Magician Support"
Expand Down

0 comments on commit 3bca103

Please sign in to comment.