[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