public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/8] Optional ZONE_DMA
@ 2006-07-08  0:05 Christoph Lameter
  2006-07-08  0:05 ` [RFC 1/8] Add CONFIG_ZONE_DMA to all archesM Christoph Lameter
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Christoph Lameter @ 2006-07-08  0:05 UTC (permalink / raw)
  To: linux-kernel
  Cc: Nick Piggin, Christoph Hellwig, Marcelo Tosatti, Arjan van de Ven,
	Martin Bligh, Christoph Lameter, KAMEZAWA Hiroyuki, Andi Kleen

Optional ZONE_DMA

ZONE_DMA is usually used for ISA DMA devices. Typically modern hardware
does not have any of these anymore. We frequently do not need
the zone anymore.

This patch allows to make the configuration of the kernel for
ZONE_DMA dependend on the user choosing to support ISA DMA.
If ISA DMA is not supported then i386 systems f.e. can be
configured using a single ZONE_NORMAL. The overhead of maintaining
multiple zones and balancing page use between the different
zone is then gone. My i386 system now runs with a single zone.

On x86_64 systems also usually we do not need ZONE_DMA since there
are barely any ISA DMA devices around (or are you still using a floppy?).
So for most cases the zone can be dropped. Also if the x86_64 systems
has less than 4G RAM or DMA controllers that actually can do 64 bit
then we also do not need ZONE_DMA32. My x86_64 system has 1G of
memory therefore I can run with a single zone.

SGI's ia64 systems only use one zone. A numa system with a single
zone will have one zone per node which makes the association between
nodes and zones simpler.

This patchset is build on top of the "Reduce Zones" patchset V1 that was
posted earlier today. It will make ZONE_DMA configurable like
the other zones. Then it introduces a SINGLE_ZONE macro that is set
if the system has only a single zone.

Single zone systems do no need the loops over all zones. We can also return
constants for a lot of important VM macros. Finally the policy zone
determination in the mempolicy layer becomes trivial.

Note that this is an RFC only. In order for this to work cleanly we need to
mark all device drives according to what type of DMA controller they support.
If its a ISA DMA controller then we would need to enable ZONE_DMA. If its
a 32 bit controller and we support >4G of memory then we need to enable ZONE_DMA32.

This was tested on i386 and x86_64 in UP and SMP mode.


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2006-07-11  7:10 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-08  0:05 [RFC 0/8] Optional ZONE_DMA Christoph Lameter
2006-07-08  0:05 ` [RFC 1/8] Add CONFIG_ZONE_DMA to all archesM Christoph Lameter
2006-07-10  0:52   ` KAMEZAWA Hiroyuki
2006-07-10 15:56     ` Christoph Lameter
2006-07-11  7:11       ` KAMEZAWA Hiroyuki
2006-07-08  0:05 ` [RFC 2/8] slab allocator: Make DMA support configurable Christoph Lameter
2006-07-08  0:05 ` [RFC 3/8] eventcounters: Optional ZONE_DMA Christoph Lameter
2006-07-08  0:05 ` [RFC 4/8] page allocator: " Christoph Lameter
2006-07-08  0:23   ` Andi Kleen
2006-07-08  0:41     ` Christoph Lameter
2006-07-08  0:05 ` [RFC 5/8] x86_64 without ZONE_DMA Christoph Lameter
2006-07-08  0:20   ` Andi Kleen
2006-07-08  0:42     ` Christoph Lameter
2006-07-08  1:00       ` Andi Kleen
2006-07-08  1:25         ` Christoph Lameter
2006-07-08  0:05 ` [RFC 6/8] i386 " Christoph Lameter
2006-07-08  0:05 ` [RFC 7/8] Single zone optimizations Christoph Lameter
2006-07-08  0:19   ` Andi Kleen
2006-07-08  0:05 ` [RFC 8/8] Optimize mempolicies for a single zone Christoph Lameter
2006-07-08  0:17   ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox