Re: [RFC] block layer support for DMA IOMMU bypass mode II

Alan Cox (alan@lxorguk.ukuu.org.uk)
02 Jul 2003 22:16:39 +0100


On Mer, 2003-07-02 at 17:55, Grant Grundler wrote:
> On Wed, Jul 02, 2003 at 01:57:01AM +0200, Andi Kleen wrote:
> > The K8 IOMMU cannot support this virtually contiguous thing. The reason
> > is that there is no guarantee that an entry in a sglist is a multiple
> > of page size. And the aperture can only map 4K sized chunks, like
> > a CPU MMU. So e.g. when you have an sglist with multiple 1K entries there is
> > no way to get them continuous in IOMMU space (short of copying)
>
> Can two adjacent IOMMU entries be used to map two 1K buffers?
> Assume the 1st buffer ends on a 4k alignment and the next one
> starts on a 4k alignment.

When I played with optimising merging on some 2.4 I2O and aacraid
controller stuff I found two things

1. We allocate pages in reverse order so most merges cant occur
2. If you use a 4K fs as most people do now the issue is irrelevant
3. Almost every 1K mergable was part of the same 4K page anyway

-
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/