From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jack Steiner Date: Wed, 13 Sep 2006 17:49:48 +0000 Subject: Re: [PATCH 0/8] Optional ZONE_DMA V1 Message-Id: <20060913174948.GA6533@sgi.com> List-Id: References: <20060911222729.4849.69497.sendpatchset@schroedinger.engr.sgi.com> <1158046205.2992.1.camel@laptopd505.fenrus.org> <4507D4EE.4060501@sgi.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Christoph Lameter Cc: Jes Sorensen , Arjan van de Ven , linux-mm@kvack.org, Nick Piggin , Christoph Hellwig , linux-ia64@vger.kernel.org, Marcelo Tosatti , Martin Bligh , KAMEZAWA Hiroyuki , Andi Kleen 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