Mmap() fails to allocate large chunks of contiguos memory due to limitations in the allocation strategy.
Testcase:
See mmap-test.c and mmap-test-slices.c attached to the LP bug.
Fix:
The patches are not mainline yet but entered rmk patch system (and thus should be in the 3.3 merge window).
(http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7169/1)
Natty and Oneiric applied as-is, while Maverick needed some mechanical modifications.
Lucid required some backporting (no address randomization there) and some helper functions.
Kernels with the aforementioned patches were tested and confirmed to fix the problem.
Rob Herring (2):
use cache type functions for arch_get_unmapped_area
topdown mmap support