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