[PATCH 12/15] drivers: add Contiguous Memory Allocator

Michal Nazarewicz mina86 at mina86.com
Sun Feb 5 09:33:08 EST 2012


On Sun, 05 Feb 2012 05:25:40 +0100, Hillf Danton <dhillf at gmail.com> wrote:
> Without boot mem reservation, what is the successful rate of CMA to
> serve requests of 1MiB, 2MiB, 4MiB and 8MiB chunks?

CMA will work as long as you manage to get some pageblocks marked as
MIGRATE_CMA and move all non-movable pages away.  You might try and get it
done after system has booted but we have not tried nor tested it.
Reservation at boot time lets us make sure that the portion of memory we
are grabbing has no unmovable pages.

You might still and use alloc_contig_pages() on its own (even without
MIGRATE_CMA) but that would require additional code which would look for
a region of memory that could be used (ie. that does not have unmovable
pages in it).  That in fact was what Kamezawa's code was doing.

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +----<email/xmpp: mpn at google.com>--------------ooO--(_)--Ooo--



More information about the linux-arm-kernel mailing list