[PATCH/RFCv3 0/6] The Contiguous Memory Allocator framework

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Thu Aug 19 23:12:50 EDT 2010


> >> We hope this method included at mainline kernel if possible.
> >> It's really needed feature for our multimedia frameworks.
> >
> > You got any comments from mm people?
> >
> > Virtually, this adds a new memory allocator implementation that steals
> > some memory from memory allocator during boot process. Its API looks
> > completely different from the API for memory allocator. That doesn't
> > sound appealing to me much. This stuff couldn't be integrated well
> > into memory allocator?
> 
> What kind of integration do you mean?  I see three levels:
> 
> 1. Integration on API level meaning that some kind of existing API is used
>     instead of new cma_*() calls.  CMA adds notion of devices and memory
>     types which is new to all the other APIs (coherent has notion of devices
>     but that's not enough).  This basically means that no existing API can be
>     used for CMA.  On the other hand, removing notion of devices and memory
>     types would defeat the whole purpose of CMA thus destroying the solution
>     that CMA provides.

You can create something similar to the existing API for memory
allocator.

For example, blk_kmalloc/blk_alloc_pages was proposed as memory
allocator API with notion of an address range for allocated memory. It
wasn't merged for other reasons though.

I don't mean that this is necessary for the inclusion (I'm not the
person to ack or nack this). I just expect the similarity of memory
allocator API.


> 2. Reuse of memory pools meaning that memory reserved by CMA can then be
>     used by other allocation mechanisms.  This is of course possible.  For
>     instance coherent could easily be implemented as a wrapper to CMA.
>     This is doable and can be done in the future after CMA gets more
>     recognition.
> 
> 3. Reuse of algorithms meaning that allocation algorithms used by other
>     allocators will be used with CMA regions.  This is doable as well and
>     can be done in the future.

Well, why can't we do the above before the inclusion?

Anyway, I think that comments from mm people would be helpful to merge
this.



More information about the linux-arm-kernel mailing list