Re: [discuss] Re: [1/3] Add 4GB DMA32 zone

Andi Kleen
2005-09-12T12:28:46Z

On Monday 12 September 2005 14:34, Alan Cox wrote:
> On Llu, 2005-09-12 at 13:22 +0200, Andi Kleen wrote:
> > And with the mempool sleep approach they will just get small queues. Yes
> > that will be slower, but if you want performance on boxes with a lot of
> > memory you should not buy broken hardware.
>
> Ironically its broken hardware it works best with. AMD64 is problematic
> but Intel with the swiotlb works ;)

Actually the swiotlb code currently doesn't attempt to handle dma masks
<4GB even when the bounce pool happens to be located lower - it will just fail
or use GFP_DMA. It could be fixed in theory, but it would be pretty
unreliable and sometimes work on one system and sometimes not, so I would be
reluctant to go down that path.

Also BTW on many systems which don't allocate the IOMMU aperture in BIOS and
Linux has to allocate it over memory it tends to be as low (or high) as the
swiotlb pool - it is bootmem allocated at roughly the same place in boot.
But again the code doesn't attempt to handle that, it just uses hardcoded
0xffffffff masks.

-Andi