public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox