Hello,
On Thu, Aug 21, 2014 at 10:45:12AM +0200, Marek Szyprowski wrote:
Hello,
Russell King recently noticed that limiting default CMA region only to low memory on ARM architecture causes serious memory management issues with machines having a lot of memory (which is mainly available as high memory). More information can be found the following thread: http://thread.gmane.org/gmane.linux.ports.arm.kernel/348441/
Those two patches removes this limit letting kernel to put default CMA region into high memory when this is possible (there is enough high memory available and architecture specific DMA limit fits).
Agreed. It should be from the beginning because CMA page is effectly pinned if it is anonymous page and system has no swap.
This should solve strange OOM issues on systems with lots of RAM (i.e. >1GiB) and large (>256M) CMA area.
I totally agree with the patchset although I didn't review code at all.
Another topic: It means it should be a problem still if system has CMA in lowmem by some reason(ex, hardware limit or other purpose of CMA rather than DMA subsystem)?
In that case, an idea that just popped in my head is to migrate pages from cma area to highest zone because they are all userspace pages which should be in there but not sure it's worth to implement at this point because how many such cripple platform are.
Just for the recording.
Best regards Marek Szyprowski Samsung R&D Institute Poland
Marek Szyprowski (2): mm: cma: adjust address limit to avoid hitting low/high memory boundary ARM: mm: don't limit default CMA region only to low memory
arch/arm/mm/init.c | 2 +- mm/cma.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-)
-- 1.9.2
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>