Re: [Linaro-mm-sig] [PATCHv23 13/16] drivers: add Contiguous Memory Allocator

From: Barry Song
Date: Wed Feb 29 2012 - 04:53:55 EST


2012/2/23 Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>:
> The Contiguous Memory Allocator is a set of helper functions for DMA
> mapping framework that improves allocations of contiguous memory chunks.
>
> CMA grabs memory on system boot, marks it with MIGRATE_CMA migrate type
> and gives back to the system. Kernel is allowed to allocate only movable
> pages within CMA's managed memory so that it can be used for example for
> page cache when DMA mapping do not use it. On
> dma_alloc_from_contiguous() request such pages are migrated out of CMA
> area to free required contiguous block and fulfill the request. This
> allows to allocate large contiguous chunks of memory at any time
> assuming that there is enough free memory available in the system.
>
> This code is heavily based on earlier works by Michal Nazarewicz.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> Tested-by: Rob Clark <rob.clark@xxxxxxxxxx>
> Tested-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
> Tested-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>
> Tested-by: Robert Nelson <robertcnelson@xxxxxxxxx>

if there is a /proc/cmainfo like /proc/slabinfo, it might be helpful
to people as we can see the usage of CMA clearly.

Thanks
barry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/