Re: (reposting) how to get DMA'able memory within 4GB on 64-bit m achi ne

David S. Miller
2001-06-28T22:38:51Z

Ben LaHaise writes:
> Sorry, but that's not a good enough answer if 2.5 takes the same 2 years
> that 2.3 took. Define the API so that people can at least write their
> drivers to the spec, or else suffer the consequences of people doing their
> own thing.

Shit happens Ben. One has to draw the line somewhere.

Sure, once 2.5.x has the interfaces, we'll add the "dummy" ones
to 2.4.x, but only then. I don't even know %100 how I want the
damn thing to look yet.

There are so many issues with 64-bit DAC support, that many of
the people whining in this thread have not even considered, and
these very issues will be what shapes the eventual API to use.

For example. I have IOMMU's on my machine, there is no real need to
use 64-bit DAC in %99 of cases. In fact, DAC transfers run slower
because they cannot use the DMA caching in the PCI controller.

How do you represent this with the undocumented API ia64 has decided
to use? You can't convey this information to the driver, because the
driver may say "I don't care if it's slower, I want the large
addressing because otherwise I'd consume or overflow the IOMMU
resources". How do you say "SAC is preferred for performance" with
ia64's API? You can't.

This, almost with several other issues, need to be considered and
handled by whatever API you come up with. If it does not address
all of these issues somehow, it is unacceptable.

Later,
David S. Miller
davem@redhat.com