All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Hancock <hancockr@shaw.ca>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-kernel@vger.kernel.org,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Christoph Hellwig <hch@infradead.org>,
	Marcelo Tosatti <marcelo@kvack.org>,
	Arjan van de Ven <arjan@infradead.org>,
	Martin Bligh <mbligh@google.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Andi Kleen <ak@suse.de>
Subject: Re: [RFC 0/8] Optional ZONE_DMA
Date: Sat, 08 Jul 2006 11:59:34 -0600	[thread overview]
Message-ID: <44AFF286.6020601@shaw.ca> (raw)
In-Reply-To: <fa.3mXwB3pXW7L2KpeFW2PO8SBLhJA@ifi.uio.no>

Christoph Lameter wrote:
> 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.

Keep in mind that:

-LPC devices like the floppy controller, maybe enhanced parallel, etc. 
may have 24-bit DMA restrictions even if there is no physical ISA bus.

-Even in totally ISA and LPC-free systems, some PCI devices (like those 
that were a quick hack of an ISA device onto PCI) still have 24-bit 
address restrictions. There are other devices that have sub-32-bit DMA 
capabilities, like Broadcom wireless chips that only address 31 bits 
(although I think they are fixing this in the driver). Without the DMA 
zone there is no way to ensure that these requests can be satisfied.

So I don't think it is safe to make this conditional on ISA or even the 
ISA DMA API. Only if all devices on the system have addressing 
capability of a full 32 bits (or at least of all installed RAM) can this 
zone be removed.

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/


       reply	other threads:[~2006-07-08 17:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.3mXwB3pXW7L2KpeFW2PO8SBLhJA@ifi.uio.no>
2006-07-08 17:59 ` Robert Hancock [this message]
2006-07-09  3:21   ` [RFC 0/8] Optional ZONE_DMA Christoph Lameter
2006-07-10  0:02   ` Andi Kleen
2006-07-08  0:05 Christoph Lameter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44AFF286.6020601@shaw.ca \
    --to=hancockr@shaw.ca \
    --cc=ak@suse.de \
    --cc=arjan@infradead.org \
    --cc=clameter@sgi.com \
    --cc=hch@infradead.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@kvack.org \
    --cc=mbligh@google.com \
    --cc=nickpiggin@yahoo.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.