Messages in this thread | | | Date | Sat, 19 Mar 2005 20:26:45 +0100 | From | Andi Kleen <> | Subject | Re: [PATCH 2.4.30-pre3] x86_64: pci_alloc_consistent() match 2.6 implementation |
| |
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 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/
| |