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

From: FUJITA Tomonori
Date: Thu Aug 19 2010 - 23:13:55 EST


> >> 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.
--
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/