On Fri, Mar 18, 2005 at 03:23:44PM -0600, Matt Domsch wrote: > For review and comment. > > On x86_64 systems with no IOMMU and with >4GB RAM (in fact, whenever > there are any pages mapped above 4GB), pci_alloc_consistent() falls > back to using ZONE_DMA for all allocations, even if the device's > dma_mask could have supported using memory from other zones. Problems > can be seen when other ZONE_DMA users (SWIOTLB, scsi_malloc()) consume > all of ZONE_DMA, leaving none left for pci_alloc_consistent() use. > > Patch below makes pci_alloc_consistent() for the nommu case (EM64T > processors) match the 2.6 implementation of dma_alloc_coherent(), with > the exception that this continues to use GFP_ATOMIC.
You fixed the wrong code. The pci-nommu code is only used when IOMMU is disabled in the Kconfig. But most kernels have it enabled. You would need to change it in pci-gart.c too. The reason it is like this that nommu was always intended as a hackish kludge that would be only used for debugging - little did we know that it would become standard later. -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/