On Wed, Dec 09, 2015 at 02:54:05PM +0000, Qais Yousef wrote: > Recent changes to how GFP_ATOMIC is defined seems to have broken the condition > to use mips_alloc_from_contiguous() in mips_dma_alloc_coherent(). > > I couldn't bottom out the exact change but I think it's this one > > d0164adc89f6 (mm, page_alloc: distinguish between being unable to sleep, > unwilling to sleep and avoiding waking kswapd) > > From what I see GFP_ATOMIC has multiple bits set and the check for !(gfp > & GFP_ATOMIC) isn't enough. > > The reason behind this condition is to check whether we can potentially do > a sleeping memory allocation. Use gfpflags_allow_blocking() instead which > should be more robust. > > Signed-off-by: Qais Yousef <qais.yousef@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> -- Mel Gorman SUSE Labs