Re: [PATCH] swiotlb: Fix unexpected swiotlb_alloc_coherent() failures
From: Takashi Iwai
Date: Wed Apr 11 2018 - 03:29:01 EST
On Tue, 10 Apr 2018 20:10:20 +0200,
Christoph Hellwig wrote:
>
> On Tue, Apr 10, 2018 at 06:50:04PM +0100, Robin Murphy wrote:
> > In the first one, the machine appears to have enough RAM that most of it is
> > beyond the device's 36-bit DMA mask, thus it's fairly likely for the
> > initial direct alloc to come back with something unsuitable.
>
> But we should try a GFP_DMA32 allocation first, so this is a bit
> surprising.
Hm, do we really try that?
Through a quick glance, dma_alloc_coherent_gfp_flags() gives GFP_DMA32
only when coherent mask <= DMA_BIT_MASK(32); in the case of iwlwifi,
it's 36bit, so GFP_DMA isn't set.
We had a fallback allocation with GFP_DMA32 in the past, but this
seems gone long time ago along with cleanups (commit c647c3bb2d16).
But I haven't followed about this topic for long time, so I might have
missed obviously...
thanks,
Takashi