Re: CMA and zone watermarks

Marek Szyprowski
2012-10-09T03:11:55Z

Hello,

On 10/9/2012 5:10 AM, Minchan Kim wrote:

> On Mon, Oct 08, 2012 at 05:41:14PM +0200, Rabin Vincent wrote:
>> It appears that when CMA is enabled, the zone watermarks are not properly
>> respected, leading to for example GFP_NOWAIT allocations getting access to the
>> high pools.
>>
>> I ran the following test code which simply allocates pages with GFP_NOWAIT
>> until it fails, and then tries GFP_ATOMIC. Without CMA, the GFP_ATOMIC
>> allocation succeeds, with CMA, it fails too.
>
> Good spot. By wrong zone_watermark_check, it can consume reserved memory pool.

That was the main reason for the Bartek's research.

>> Logs attached (includes my patch which prints the migration type in the failure
>> message http://marc.info/?l=linux-mm&m=134971041701306&w=2), taken on 3.6
>> kernel.
>>
>
> Fortunately, recently, Bart sent a patch about that.
> http://marc.info/?l=linux-mm&m=134763299016693&w=2
>
> Could you test above patches in your kernel?
> You have to apply [2/4], [3/4], [4/4] and don't need [1/4].

AFAIR without patch [1/4], free cma page counter will go below zero and
weird thing will happen, so better apply the complete patchset.

Best regards
--
Marek Szyprowski
Samsung Poland R&D Center