Re: [PATCH 0/8] Optional ZONE_DMA V1

Jack Steiner
2006-09-13T17:49:48Z

On Wed, Sep 13, 2006 at 10:23:10AM -0700, Christoph Lameter wrote:
> 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).
>

Most distros release GENERIC kernels for IA64. If _any_ IA64 platform requires
ZONE_DMA, then it must be configured ON.

Two questions:

- will any IA64 platform require that ZONE_DMA be enabled (I think
the answer is "yes")

- if ZONE_DMA is enabled, ALTIX will still use only 1 zone. In your
statement above, you say that disabling ZONE_DMA save 1M cpu
structures. If ZONE_DMA is enabled, will these 1M structure be allocated
on SN even though they are not needed?

-- jack