Benjamin Herrenschmidt wrote: > No, but dma_alloc_coherent would under the hood.
Which is what Shaohui's patch does. Well, it does it for GFP_DMA instead of GFP_DMA32, but still. When you said, "Drivers who know about a 32-bit limitations use GFP_DMA32", I thought you meant that drivers should *set* GFP_DMA32. >> I don't understand why a driver would set GFP_DMA32 if it has already set >> the mask. > > The layers in between, not the well behaved drivers. Again, we have > ZONE_DMA32 specifically for the purpose, why use something else ? > > In any case, make the whole thing at the very least a config option, I > don't want sane HW to have to deal with split zones. The DMA zone only kicks in if the DMA mask is set to a size smaller that available physical memory. Sane HW should set the DMA mask to DMA_BIT_MASK(36). And we have plenty of sane HW on our SOCs, but not every device is like that. The whole point behind this patch is that some drivers are setting a DMA mask of 32, but still getting memory above 4GB. -- Timur Tabi Linux kernel developer at Freescale _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev