public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro@8bytes.org>
To: tek-life <teklife.kernel@gmail.com>
Cc: linux-kernel@vger.kernel.org, ebiederm@xmission.com
Subject: Re: Can we remove the Zone_DMA?
Date: Sun, 4 Apr 2010 11:07:40 +0200	[thread overview]
Message-ID: <20100404090740.GV24846@8bytes.org> (raw)
In-Reply-To: <m2mc58e39921004032121hc7ca41f0gacd90ffe2abc6444@mail.gmail.com>

On Sun, Apr 04, 2010 at 12:21:54PM +0800, tek-life wrote:
> I’m a newbie on the linux kernel. Now I am reading the source code of
> Linux . I have a question in the following about ZONE_DMA.
> 
> 
> In Linux , The Memory is divided to three zone. They are ZONE_DMA
> 、ZONE_NORMAL  and ZONE_HIGHMEM. From the book of "Undstand the Linux
> kernel ", the ZONE_DMA has the effect that the Direct Memory Access
> (DMA) processors for old ISA buses have a strong limitation: they are
> able to address only the first 16 MB of RAM. SO ,we must set a zone
> for  the DMA on ISA bus.  And I suspect that the hardware has
> developed so quickly .And  in this days the ISA has been weeded out.
> And so ,if we not defined the ZONE_DMA, is the system be effected? And
> why not remove ZONE_DMA from the kernel . If it cann‘t to do so,the
> compatibility is the only reason?

There are a couple of reasons to keep ZONE_DMA. It is not used by ISA
device drivers exclusivly. Old style PCI devices may have small DMA
masks (so they could address between 16 MB and 4GB depending on the
device) too. Drivers for these devices often use ZONE_DMA as a fallback
if they can't allocate memory addressable by the device using
ZONE_NORMAL. So there is a use for ZONE_DMA with 32bit PCI too.
(And I also remember I have seen an AM2 board with an ISA slot for
 embedded purposes too, so ISA is not completly dead)

	Joerg


      parent reply	other threads:[~2010-04-04  9:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-04  4:21 Can we remove the Zone_DMA? tek-life
2010-04-04  5:07 ` Daniel Hazelton
     [not found]   ` <k2tc58e39921004032226ze2eb64dev21f8c2d137a49ebc@mail.gmail.com>
2010-04-04  5:33     ` Fwd: " tek-life
2010-04-04  7:49       ` Daniel Hazelton
2010-04-04  8:16         ` Thomas Fjellstrom
2010-04-04  8:28         ` tek-life
2010-04-04  8:28         ` tek-life
2010-04-04  8:38           ` Eric W. Biederman
2010-04-12  8:41             ` Andi Kleen
2010-04-18 11:04   ` Bernd Petrovitsch
2010-04-19 13:44     ` Lennart Sorensen
2010-04-04  7:31 ` Oliver Neukum
2010-04-04  9:07 ` Joerg Roedel [this message]

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=20100404090740.GV24846@8bytes.org \
    --to=joro@8bytes.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=teklife.kernel@gmail.com \
    /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