Re: alpha iommu fixes

From: David S. Miller (davem@redhat.com)
Date: Mon May 21 2001 - 05:00:24 EST


Andi Kleen writes:
> > Certainly, when this changes, we can make the interfaces adapt to
> > this.
>
> I am just curious why you didn't consider that case when designing the
> interfaces. Was that a deliberate decision or just an oversight?
> [I guess the first, but why?]

I didn't want the API to do exactly what we needed it to do
but not one bit more. I tried very hard to keep it as minimal
as possible, and I even fought many additions to the API (a few
of which turned out to be reasonable, see pci_pool threads).

To this end, since HIGHMEM is needed anyways on such machines
(ie. the "sizeof(void *)" issue), I decided to not consider that
case.

Working on pages is useful even _ignoring_ the specific issues we are
talking about. It really is the one generic way to represent all
pieces of memory inside the kernel (regardless of HIGHMEM and similar
issues).

But I simply did not see anyone who would really make use of it in
the 2.4.x timeframe. (and I made this estimate in the middle of
2.3.x, so I didn't even see zerocopy coming along so clearly, shrug)

> That's currently the case, but at least on IA32 the block layer
> must be fixed soon because it's a serious performance problem in
> some cases (and fixing it is not very hard).

If such a far reaching change goes into 2.4.x, I would probably
begin looking at enhancing the PCI dma interfaces as needed ;-)

> Now that will probably first use DAC
> and not a IO-MMU, and thus not use the pci mapping API, but I would not be
> surprised if people came up with IO-MMU schemes for it too.
> [actually most IA32 boxes already have one in form of the AGP GART, it's just
> not commonly used for serious things yet]

DAC usage should go through a portable PCI dma API as well,
for the reasons you mention as well as others. If we do this
from the beginning, there will be no chance for things like
virt_to_bus64() et al. to start sneaking into the PCI drivers :-)

Later,
David S. Miller
davem@redhat.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 23 2001 - 21:00:40 EST