linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: kraxel@bytesex.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [patch] zero-bounce highmem I/O
Date: Thu, 16 Aug 2001 05:34:15 -0700 (PDT)	[thread overview]
Message-ID: <20010816.053415.10296707.davem@redhat.com> (raw)
In-Reply-To: <slrn9nne9g.8eb.kraxel@bytesex.org>
In-Reply-To: <20010816135150.X4352@suse.de> <20010816.045642.116348743.davem@redhat.com> <slrn9nne9g.8eb.kraxel@bytesex.org>

   From: Gerd Knorr <kraxel@bytesex.org>
   Date: 16 Aug 2001 12:14:40 GMT
   
   While we are at it:  Is there some portable way to figure whenever I can
   do a PCI DMA transfer to some page?  On ia32 I can simply look at the
   physical address and if it is behind 4G it doesn't work for 32bit PCI
   devices.  But I think that is not true for architectures which have a
   iommu ...

Currently this is lacking.  The state of affairs for platforms
I know something about is:

x86: "4GB test"
alpha/sparc64/ppc64: any physical memory whatsoever may be accessed
		     via 32-bit PCI addressing due to IOMMU
ia64: "software IOMMU" scheme causes DMA to >4GB addresses to
      require bounce buffers when using 32-bit addressing
      Port posses broken 64-bit PCI addressing hack in an attempt
      to deal with limitations of software IOMMU scheme.

To be honest, you really shouldn't care about this.  If you are
writing a block device, the block/scsi/ide/whatever layer should take
care to only give you memory that can be DMA'd to/from.

Same goes for the networking layer.

In some cases, the distinction being made is "highmem vs not-highmem"
for something being DMA'able on PCI.  This is on thing the networking
references.  But, while this will always lead to correct behavior, it
is very inefficient.

Jens's and my work aims to directly address these kinds of issues.
Whatever we finally end up in Jens's code as the "DMA'able test" will
likely propagate into the networking bits.

Later,
David S. Miller
davem@redhat.com

  parent reply	other threads:[~2001-08-16 12:34 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-15  7:50 [patch] zero-bounce highmem I/O Jens Axboe
2001-08-15  9:11 ` David S. Miller
2001-08-15  9:17   ` Jens Axboe
2001-08-15  9:26   ` Jens Axboe
2001-08-15 10:22   ` David S. Miller
2001-08-15 11:13     ` Jens Axboe
2001-08-15 11:47     ` David S. Miller
2001-08-15 12:07       ` Jens Axboe
2001-08-15 12:35       ` David S. Miller
2001-08-15 13:10         ` Jens Axboe
2001-08-15 14:25           ` David S. Miller
2001-08-16 11:51             ` Jens Axboe
2001-08-16 11:56             ` David S. Miller
2001-08-16 12:03               ` Jens Axboe
2001-08-16 12:14               ` Gerd Knorr
2001-08-16 12:27               ` David S. Miller
2001-08-16 12:48                 ` Jens Axboe
2001-08-16 12:56                 ` Jens Axboe
2001-08-16 13:08                 ` David S. Miller
2001-08-16 12:34               ` David S. Miller [this message]
2001-08-16 13:35                 ` Gerd Knorr
2001-08-16 14:15                 ` David S. Miller
2001-08-16 12:28             ` kill alt_address (Re: [patch] zero-bounce highmem I/O) David S. Miller
2001-08-15 14:02         ` [patch] zero-bounce highmem I/O David S. Miller
2001-08-16  5:52           ` Jens Axboe
2001-08-15 19:20     ` Gérard Roudier
2001-08-16  8:12     ` David S. Miller
     [not found] <no.id>
2001-08-16 14:56 ` Alan Cox
2001-08-17 10:18   ` Gerd Knorr

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=20010816.053415.10296707.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=kraxel@bytesex.org \
    --cc=linux-kernel@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).