Re: [PATCH 21/22] arm64: replace ZONE_DMA with ZONE_DMA32

From: Robin Murphy
Date: Wed Jan 10 2018 - 12:10:12 EST


On 10/01/18 15:55, Christoph Hellwig wrote:
On Wed, Jan 10, 2018 at 04:55:17PM +0100, Christoph Hellwig wrote:
On Wed, Jan 10, 2018 at 12:58:14PM +0000, Robin Murphy wrote:
On 10/01/18 08:09, Christoph Hellwig wrote:
arm64 uses ZONE_DMA for allocations below 32-bits. These days we
name the zone for that ZONE_DMA32, which will allow to use the
dma-direct and generic swiotlb code as-is, so rename it.

I do wonder if we could also "upgrade" GFP_DMA to GFP_DMA32 somehow when
!ZONE_DMA - there are almost certainly arm64 drivers out there using a
combination of GFP_DMA and streaming mappings which will no longer get the
guaranteed 32-bit addresses they expect after this. I'm not sure quite how
feasible that is, though :/

I can't find anything obvious in the tree. The alternative would be
to keep ZONE_DMA and set ARCH_ZONE_DMA_BITS.

That said, I do agree that this is an appropriate change (the legacy of
GFP_DMA is obviously horrible), so, provided we get plenty of time to find
and fix the fallout when it lands:

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

I was hoping to get this into 4.15. What would be proper time to
fix the fallout?

Err, 4.16 of course.

Hee hee - cramming it into 4.15 is exactly what I wouldn't want to do, even if Linus would accept it :)

Landing it this merge window for 4.16-rc1 sounds good if we can manage that.

Robin.