Thread (18 messages) 18 messages, 4 authors, 2010-08-20

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

From: fujita.tomonori@lab.ntt.co.jp (FUJITA Tomonori)
Date: 2010-08-20 03:13:52
Also in: linux-media, linux-mm, lkml

quoted
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help