From: "Justin T. Gibbs" <gibbs@scsiguy.com>
To: "David S. Miller" <davem@redhat.com>
Cc: axboe@suse.de, skraw@ithnet.com, phillips@bonn-fries.net,
linux-kernel@vger.kernel.org
Subject: Re: With Daniel Phillips Patch
Date: Wed, 22 Aug 2001 13:41:16 -0600 [thread overview]
Message-ID: <200108221941.f7MJfGY14365@aslan.scsiguy.com> (raw)
In-Reply-To: Your message of "Wed, 22 Aug 2001 11:46:20 PDT." <20010822.114620.77339267.davem@redhat.com>
> From: "Justin T. Gibbs" <gibbs@scsiguy.com>
> Date: Wed, 22 Aug 2001 12:32:17 -0600
>
> I would like the change much better if the size of dma_addr_t
> simply changed to be 64bits wide if high mem support is enabled
> in your kernel config.
>
>Drivers for SAC only PCI devices shall not be bloated by 64-bit type,
>not in any case whatsoever.
Where's the bloat? The driver's S/G list is in the driver's native format.
Are saying that there will be two different mapping implementation back
ends with the 32bit one possibly saving space by using 32bit only address
in whatever storage is required to record the mapping? Since you have to
use an API call to fetch these values on a per-element basis, the 32bit back
end need only promote its 32bit values to 64bit values upon return. On most
architectures I've seen, a load of a 32bit value from a 64bit value is still
just a 32bit move, so the fact that the returned value is a 64bit quantity
makes no difference code wise inside the driver.
> Sure, you need the other API changes to more finely set dma characteristics
>,
> but having two APIs just complicates life for the device driver.
>
>Either your device is 64-bit capable or not, what is so complicated?
The complication arrises when there is a performance impact associated
with 64bit support. You may want to completely compile out 64bit support.
If I can use the exact same API if the user decides to configure my
device to not enable large address support, then my complaint is only
that it seems supurfluous to have two different APIs and types.
> From the device driver's point of view, this wasn't the case.
> The driver asks to have the data mapped into an address that
> its dma engine can understand and the system is supposed to do that
> mapping.
>
>What is the virtual address of physical address 0x100000000
>on a 32-bit cpu system if the page is not currently kmap()'d?
Why does the driver care? The driver asked to have some virtual address
mapped into a bus address. Are you saying the system can't understand
figure out what physical page this is and from that the necessary
IOMMU magic to make it visible to the device?
>The only portable way is to use pages. That is what Jens's and
>my work aims to do. The ia64 API is nonportable and works only
>on 64-bit systems.
This doesn't follow from your explanation. Sure, you need to use
pages, but the basic information provided to the mapping calls allows
you to figure out the pages and that basic information is the same in
the new API.
It seems to me that you are complaining that the "backend" implementation
for IA64 sucked. Okay. Fine. But the drivers were never exposed to
that suckage.
--
Justin
next prev parent reply other threads:[~2001-08-22 19:41 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-20 8:36 aic7xxx errors with 2.4.8-ac7 on 440gx mobo Yusuf Goolamabbas
2001-08-20 8:55 ` Cliff Albert
2001-08-20 10:37 ` Alan Cox
2001-08-20 10:56 ` Yusuf Goolamabbas
2001-08-20 10:56 ` Alan Cox
2001-08-20 11:13 ` Yusuf Goolamabbas
2001-08-20 11:09 ` Alan Cox
2001-08-20 16:43 ` Doug Ledford
2001-08-20 12:46 ` Stefan Fleiter
2001-08-20 15:19 ` Ville Herva
2001-08-20 20:33 ` Justin T. Gibbs
2001-08-20 16:45 ` Doug Ledford
2001-08-20 17:23 ` Stefan Fleiter
2001-08-20 20:28 ` Justin T. Gibbs
2001-08-21 20:24 ` Stefan Fleiter
2001-08-20 16:21 ` Cliff Albert
2001-08-20 17:23 ` Peter T. Breuer
2001-08-20 17:28 ` Cliff Albert
2001-08-20 20:27 ` Justin T. Gibbs
2001-08-20 20:45 ` Cliff Albert
2001-08-20 21:04 ` Cliff Albert
2001-08-20 21:09 ` Cliff Albert
2001-08-20 21:45 ` Justin T. Gibbs
2001-08-20 22:55 ` Cliff Albert
2001-08-21 0:36 ` Justin T. Gibbs
2001-08-21 15:34 ` Gérard Roudier
2001-08-21 14:42 ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-21 15:08 ` Daniel Phillips
2001-08-21 16:48 ` Sven Heinicke
2001-08-21 17:18 ` Justin T. Gibbs
2001-08-21 17:26 ` Daniel Phillips
2001-08-21 17:55 ` Stephan von Krawczynski
2001-08-21 18:33 ` Justin T. Gibbs
2001-08-22 6:46 ` Jens Axboe
2001-08-22 13:24 ` Justin T. Gibbs
2001-08-22 15:05 ` With Daniel Phillips Patch David S. Miller
2001-08-22 18:21 ` Gérard Roudier
2001-08-22 18:32 ` Justin T. Gibbs
2001-08-22 18:32 ` David S. Miller
2001-08-22 18:46 ` David S. Miller
2001-08-22 19:41 ` Justin T. Gibbs [this message]
2001-08-22 20:19 ` David S. Miller
2001-08-22 21:07 ` Gérard Roudier
2001-08-22 21:40 ` Justin T. Gibbs
2001-08-22 23:09 ` David S. Miller
2001-08-23 0:01 ` Justin T. Gibbs
2001-08-23 0:40 ` David S. Miller
2001-08-23 0:55 ` Justin T. Gibbs
2001-08-23 1:03 ` Matthew Jacob
2001-08-23 1:08 ` David S. Miller
2001-08-23 1:32 ` Justin T. Gibbs
2001-08-23 1:39 ` David S. Miller
2001-08-23 1:49 ` Justin T. Gibbs
2001-08-22 21:14 ` David S. Miller
2001-08-22 21:14 ` David S. Miller
2001-08-21 22:44 ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-22 0:58 ` Daniel Phillips
2001-08-21 22:49 ` Sven Heinicke
2001-08-22 13:06 ` Gérard Roudier
2001-08-22 10:25 ` Marcelo Tosatti
2001-08-22 16:09 ` Sven Heinicke
2001-08-22 15:42 ` Marcelo Tosatti
2001-08-29 7:30 ` Andrey Nekrasov
2001-09-03 14:58 ` Marcelo Tosatti
2001-08-22 20:25 ` Sven Heinicke
2001-08-20 22:36 ` aic7xxx with 2.4.9 on 7899P Sven Heinicke
2001-08-20 21:44 ` aic7xxx errors with 2.4.8-ac7 on 440gx mobo Justin T. Gibbs
2001-08-20 21:48 ` Cliff Albert
2001-08-25 7:15 ` Cliff Albert
2001-08-23 1:06 With Daniel Phillips Patch Van Maren, Kevin
2001-08-23 1:31 ` David S. Miller
2001-08-23 1:40 ` Justin T. Gibbs
2001-08-23 1:45 ` David S. Miller
2001-08-23 2:22 Van Maren, Kevin
2001-08-23 2:26 ` David S. Miller
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=200108221941.f7MJfGY14365@aslan.scsiguy.com \
--to=gibbs@scsiguy.com \
--cc=axboe@suse.de \
--cc=davem@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=phillips@bonn-fries.net \
--cc=skraw@ithnet.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
all inboxes | Powered by JetHome®