Re: [PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator added

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Michał Nazarewicz
Date: Wednesday, August 25, 2010 - 6:22 pm

On Wed, 25 Aug 2010 22:32:37 +0200, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:


No.  CMA's designed for systems without IOMMU.  If system has IOMMU then
there is no need for contiguous memory blocks since all discontiguousnesses
can be hidden by the IOMMU.


Dunno if the plugin system is "fancy" but essentially the above is true. ;)


Essentially that's the idea.  Platform init code adds early regions and later
on reserves memory for all of the early regions.  For the former some
additional helper functions are provided which can be used.


In the first version I've used unsigned long as return type but then it
was suggested that maybe dma_addr_t would be better.  This is easily
changed at this stage so I'd be more then happy to hear any comments.


If I understood you correctly this is something I'm thinking about.  I'm
actually thinking of ways to integrate CMA with Zach's IOMMU proposal posted
some time ago.  The idea would be to define a subset of functionalities
of the IOMMU API that would work on systems with and without hardware IOMMU.
If platform had no IOMMU CMA would be used.

I'm currently trying to fully understand Zach's proposal to see how such an
approach could be pursued.


Thanks!  Greatly appreciated.


No, a NUL byte, ie. '\0'.


This is a consequence of how map is stored.  It's stored as a single string
with entries separated by semicolons.


Well, I'm unaware of a C way to reference "methods" so I just borrowed C++ style.

[...]
[...]
[...]


I wanted the function to try all possible allocators.  As a matter of fact,
both APIs (memblock and bootmem) can be supported at the same time.


Actually, I would prefer to leave it.  It may be useful for platform
initialisation code.  Especially if platform has some special regions
which are allocated in a different but for the rest wants to use the
default CMA's reserve call.

-- 
Best regards,                                        _     _
| Humble Liege of Serenely Enlightened Majesty of  o' \,=./ `o
| Computer Science,  Michał "mina86" Nazarewicz       (o o)
+----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo--

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH/RFCv4 0/6] The Contiguous Memory Allocator framework, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 1/6] lib: rbtree: rb_root_init() function added, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator added, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 3/6] mm: cma: Added SysFS support, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 4/6] mm: cma: Added command line parameters s ..., Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 5/6] mm: cma: Test device and application added, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
[PATCH/RFCv4 6/6] arm: Added CMA to Aquila and Goni, Michal Nazarewicz, (Fri Aug 20, 2:50 am)
Re: [PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator ..., Konrad Rzeszutek Wilk, (Wed Aug 25, 1:32 pm)
Re: [PATCH/RFCv4 3/6] mm: cma: Added SysFS support, Konrad Rzeszutek Wilk, (Wed Aug 25, 1:37 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Wed Aug 25, 5:58 pm)
Re: [PATCH/RFCv4 3/6] mm: cma: Added SysFS support, Michał Nazarewicz, (Wed Aug 25, 6:20 pm)
Re: [PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator ..., Michał Nazarewicz, (Wed Aug 25, 6:22 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 6:28 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 6:38 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 6:49 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 7:12 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 7:40 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Wed Aug 25, 7:50 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Wed Aug 25, 8:44 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Wed Aug 25, 9:01 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Wed Aug 25, 9:30 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Wed Aug 25, 9:39 pm)
[PATCH/RFCv4.1 2/6] mm: cma: Contiguous Memory Allocator added, Michal Nazarewicz, (Wed Aug 25, 11:25 pm)
Re: [PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator ..., Michał Nazarewicz, (Thu Aug 26, 7:09 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., Michał Nazarewicz, (Thu Aug 26, 7:41 pm)
Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator fram ..., KAMEZAWA Hiroyuki, (Fri Aug 27, 1:16 am)
Re: [PATCH/RFCv4 2/6] mm: cma: Contiguous Memory Allocator ..., Michał Nazarewicz, (Sat Aug 28, 6:48 pm)