Re: [PATCH] MIPS: Fix DMA contiguous allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/09/2015 11:36 AM, Mel Gorman wrote:
On Tue, Dec 08, 2015 at 02:19:39PM -0800, Andrew Morton wrote:
On Tue, 8 Dec 2015 10:18:50 +0000 Qais Yousef <qais.yousef@xxxxxxxxxx> wrote:

--- a/arch/mips/mm/dma-default.c
+++ b/arch/mips/mm/dma-default.c
@@ -145,7 +145,7 @@ static void *mips_dma_alloc_coherent(struct device *dev, size_t size,
gfp = massage_gfp_flags(dev, gfp); - if (IS_ENABLED(CONFIG_DMA_CMA) && !(gfp & GFP_ATOMIC))
+	if (IS_ENABLED(CONFIG_DMA_CMA) && ((gfp & GFP_ATOMIC) != GFP_ATOMIC))
  		page = dma_alloc_from_contiguous(dev,
  					count, get_order(size));
  	if (!page)
hm.  It seems that the code is asking "can I do a potentially-sleeping
memory allocation"?

The way to do that under the new regime is

	if (IS_ENABLED(CONFIG_DMA_CMA) && gfpflags_allow_blocking(gfp))

Mel, can you please confirm?
Yes, this is the correct way it should be checked. The full flags cover
watermark and kswapd treatment which potentially could be altered by
the caller.


OK thanks both. I'll send a revised version with this change.

Thanks,
Qais




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux