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
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>