[Linaro-mm-sig] [PATCHv16 0/9] Contiguous Memory Allocator
From: m.szyprowski@samsung.com (Marek Szyprowski)
Date: 2011-10-11 13:06:03
Also in:
linux-media, linux-mm, lkml
Hello, On Tuesday, October 11, 2011 1:26 PM Maxime Coquelin wrote:
On 10/11/2011 12:50 PM, Marek Szyprowski wrote:quoted
Hello, On Tuesday, October 11, 2011 9:30 AM Maxime Coquelin wrote:quoted
On 10/11/2011 09:17 AM, Marek Szyprowski wrote:quoted
On Monday, October 10, 2011 2:08 PM Maxime Coquelin wrote: During our stress tests, we encountered some problems : 1) Contiguous allocation lockup: When system RAM is full of Anon pages, if we try to allocate a contiguous buffer greater than the min_free value, we face a dma_alloc_from_contiguous lockup. The expected result would be dma_alloc_from_contiguous() to fail. The problem is reproduced systematically on our side. Thanks for the report. Do you use Android's lowmemorykiller? I haven't tested CMA on Android kernel yet. I have no idea how it will interfere with Android patches.The software used for this test (v16) is a generic 3.0 Kernel and a minimal filesystem using Busybox.I'm really surprised. Could you elaborate a bit how to trigger this issue?At system startup, I drop caches (sync && echo 3 > /proc/sys/vm/drop_caches) and check how much memory is free. For example, in my case, only 15MB is used on the 270MB available on the system, so I got 255MB of free memory. Note that the min_free is 4MB in my case. In userspace, I allocate 230MB using malloc(), the free memory is now 25MB. Finaly, I ask for a contiguous allocation of 64MB using CMA, the result is a lockup in dma_alloc_from_contiguous().
Thanks for hint. I've managed to reproduce this issue. I will post fix asap.
quoted
I've did several tests and I never get a lockup. Allocation failed from time to time though.When it succeed, what is the behaviour on your side? Is the OOM triggered?
OOM was never triggered. Best regards -- Marek Szyprowski Samsung Poland R&D Center