[PATCH 08/10] mm: cma: Contiguous Memory Allocator added

Subash Patel subashrp at gmail.com
Wed Jun 15 02:01:10 EDT 2011

Hi Arnd,

On 06/14/2011 09:33 PM, Arnd Bergmann wrote:
> On Tuesday 14 June 2011, Michal Nazarewicz wrote:
>> On Tue, 14 Jun 2011 15:49:29 +0200, Arnd Bergmann<arnd at arndb.de>  wrote:
>>> Please explain the exact requirements that lead you to defining multiple
>>> contexts.
>> Some devices may have access only to some banks of memory.  Some devices
>> may use different banks of memory for different purposes.
> For all I know, that is something that is only true for a few very special
> Samsung devices, and is completely unrelated of the need for contiguous
> allocations, so this approach becomes pointless as soon as the next
> generation of that chip grows an IOMMU, where we don't handle the special
> bank attributes. Also, the way I understood the situation for the Samsung
> SoC during the Budapest discussion, it's only a performance hack, not a
> functional requirement, unless you count '1080p playback' as a functional
> requirement.
1080p at 30fps is indeed a functional requirement, as the IP has the 
capability to achieve it. This IP itself can act as more than one AXI 
master, and control more than one memory port(bank). So this is not a 
*performance hack*

Also, if I recall, during the Budapest discussion (I was on irc), I 
recall that this requirement can become the information available to the 
actual allocator. Below is the summary point I could collect from summit 

     * May also need to specify more attributes (specific physical 
memory region)

As per this point, the requirement (as above) must be attribute to the 
allocator, which is CMA in this case.

> Supporting contiguous allocation is a very useful goal and many people want
> this, but supporting a crazy one-off hardware design with lots of generic
> infrastructure is going a bit too far. If you can't be more specific than
> 'some devices may need this', I would suggest going forward without having
> multiple regions:
> * Remove the registration of specific addresses from the initial patch
>    set (but keep the patch).
> * Add a heuristic plus command-line override to automatically come up
>    with a reasonable location+size for *one* CMA area in the system.
> * Ship the patch to add support for multiple CMA areas with the BSP
>    for the boards that need it (if any).
> * Wait for someone on a non-Samsung SoC to run into the same problem,
>    then have /them/ get the final patch in.
> Even if you think you can convince enough people that having support
> for distinct predefined regions is a good idea, I would recommend
> splitting that out of the initial merge so we can have that discussion
> separately from the other issues.
> 	Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


More information about the linux-arm-kernel mailing list