Hi Nishant, I am facing the same problem to allocate a chunk of 4MB on omap3evm using dma_alloc_coherent. I used the test driver mentioned here http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg11074.html I applied the patch for ioremap(24f11ec001920f1cfaeeed8e8b55725d900bbb56) suggested by Russell, but stiill seeing the error saying coherent allocation too big (requested 0x400000 mask 0xffffffff) alloc[0] - virt=0x00000000 phy=0xFFFFFFFF size=0x00400000 Allocation failed idx=0 insmod: cannot insert `dummy.ko': Cannot allocate memory (-1): Cannot allocate memory I changed the GFP_KERNEL to GFP_TEMPORARY and also to (GFP_KERNEL | __GFP_RECLAIMABLE), but failed to insmod the module. I am working on linux-omap 2.6.28 kernel. Even I could not allocate memory size greater than 1MB. Has this been fixed? Are there any patches to fix this issue? On Thu, Mar 19, 2009 at 2:36 PM, Menon, Nishanth <nm@xxxxxx> wrote: > Hi Hiroshi, >> -----Original Message----- >> From: Hiroshi DOYU [mailto:Hiroshi.DOYU@xxxxxxxxx] >> Sent: Thursday, March 19, 2009 8:43 AM > >> >> >> What would happen with __GFP_RECLAIMABLE for dma_alloc_coherent()? > As per [1], GFP_TEMPORARY might be the right approach.. but yes, > Changing dummy to do: > dma_alloc_coherent(NULL, b[i].size, &b[i].phy, GFP_TEMPORARY); > > Seems to resolve the issue with the dummy driver. > > The question however still remains: For a driver to allocate a memory which is not temporary in nature we'd recommend GFP_KERNEL. But as part of the exit sequence the driver will deallocate that memory and as part of init sequence, reallocate. Given that the memory is not reclaimed immediately, it looks like the only way to ensure that would be to do GFP_KERNEL | __GFP_RECLAIMABLE (which essentially is the definition of GFP_TEMPORARY). > > Regards, > Nishanth Menon > Ref: > [1] http://lkml.indiana.edu/hypermail/linux/kernel/0705.2/0638.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Best Regards Pramod -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html