Re: [PATCH 0/8] Optional ZONE_DMA V1

Christoph Lameter
2006-09-13T17:23:10Z

On Wed, 13 Sep 2006, Jes Sorensen wrote:

> > There was the floppy driver and one type of USB stick that I noticed
> > during the work on the project. But other drivers may depend also depend
> > indirectly on DMA functionality and may also be disabled.
>
> Ok, USB should ring alarm bells, floppy I think is less relevant these
> days :)

If you want all drivers then you must of course have ZONE_DMA.
Distributions that want to cover all drivers will have it on by default
and ZONE_DMA is available by default.

However, if you want to create a lean and mean kernel then you can switch
ZONE_DMA off and if there is just one zone left then the VM can
optimized much better because loops are avoided and some macros
become constant etc etc.

Some architectures never need ZONE_DMA because all hardware supports DMA
to all of memory. SGI Altix is one example. Carrying an additional
useless zone around unecessarily bloats the kernel both in term of code
and data. Data is a particular issue since zones contain per cpu elements.
For a 1k cpu 1k node configuration this saves around 1 million per cpu
structures (one zone per node with 1k per cpu pagesets).