Re: [LSF/MM TOPIC NOTES] x86 ZONE_DMA love
From: Christoph Hellwig
Date: Fri Apr 27 2018 - 01:36:13 EST
On Thu, Apr 26, 2018 at 09:54:06PM +0000, Luis R. Rodriguez wrote:
> In practice if you don't have a floppy device on x86, you don't need ZONE_DMA,
I call BS on that, and you actually explain later why it it BS due
to some drivers using it more explicitly. But even more importantly
we have plenty driver using it through dma_alloc_* and a small DMA
mask, and they are in use - we actually had a 4.16 regression due to
them.
> SCSI is *severely* affected:
Not really. We have unchecked_isa_dma to support about 4 drivers,
and less than a hand ful of drivers doing stupid things, which can
be fixed easily, and just need a volunteer.
> That's the end of the review of all current explicit callers on x86.
>
> # dma_alloc_coherent_gfp_flags() and dma_generic_alloc_coherent()
>
> dma_alloc_coherent_gfp_flags() and dma_generic_alloc_coherent() set
> GFP_DMA if if (dma_mask <= DMA_BIT_MASK(24))
All that code is long gone and replaced with dma-direct. Which still
uses GFP_DMA based on the dma mask, though - see above.