DMA consistent allocation is limited to 2MB on 2.6.11 for ppc440?

Shawn Jin shawnxjin at gmail.com
Thu May 19 11:52:52 EST 2005


> No, _all_ physical memory is available for DMA. "consistent" pool is
> used for small non-cached allocations, e.g. buffer descriptors, etc.
> Don't use it for actual data buffers.

We used to pci_alloc_consistent() to allocate DMA buffers on 2.4.
There was no problem to allocate more than 2MB buffer. The
implementation of pci_alloc_consistent() on 2.6 differs from that on
2.4, which calls dma_alloc_coherent(). Following this, I traced down
to 'consistent_pte', which is the root cause of 2MB limitation.

Then what's your recommendation to allocate a big chunk of memory for
pci device? From this perspective, 2.6 is not compatible with 2.4,
which I think, is pretty bad.

Thanks,
-Shawn.



More information about the Linuxppc-embedded mailing list