lkml.org 
[lkml]   [2001]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: alpha iommu fixes

    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/

    \
     
     \ /
      Last update: 2005-03-22 13:17    [W:0.178 / U:0.944 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site