[Linaro-mm-sig] [PATCH 11/15] mm: trigger page reclaim in alloc_contig_range() to stabilize watermarks

sandeep patil psandeep.s at gmail.com
Wed Feb 8 14:26:40 EST 2012

2012/2/8 Michal Nazarewicz <mina86 at mina86.com>:
> On Wed, 08 Feb 2012 03:04:18 +0100, sandeep patil <psandeep.s at gmail.com>
> wrote:
>> There's another problem I am facing with zone watermarks and CMA.
>> Test details:
>> Memory  : 480 MB of total memory, 128 MB CMA region
>> Test case : around 600 MB of file transfer over USB RNDIS onto target
>> System Load : ftpd with console running on target.
>> No one is doing CMA allocations except for the DMA allocations done by the
>> drivers.
>> Result : After about 300MB transfer, I start getting GFP_ATOMIC
>> allocation failures.  This only happens if CMA region is reserved.
>> Total memory available is way above the zone watermarks. So, we ended
>> up starving
>> UNMOVABLE/RECLAIMABLE atomic allocations that cannot fallback on CMA
>> region.
> This looks like something Mel warned me about.  I don't really have a good
> solution for that yet. ;/

What if we have NR_FREE_CMA_PAGES in vmstat and use them to calculate
However, it still doesn't solve the problem when we DON'T want to use
NR_FREE_CMA_PAGES in case of MOVABLE allocations.


More information about the linux-arm-kernel mailing list