Re: [PATCHv8 00/12] Contiguous Memory Allocator

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Tomasz Fujak
Date: Thursday, December 23, 2010 - 6:35 am

Dear Mr. King,

AFAIK the CMA is the fourth attempt since 2008 taken to solve the
multimedia memory allocation issue on some embedded devices. Most
notably on ARM, that happens to be present in the SoCs we care about
along the IOMMU-incapable multimedia IPs.

I understand that you have your guidelines taken from the ARM
specification, but this approach is not helping us. The mainline kernel
is server- and desktop-centric for various reasons I am not going to
dwell into. We're trying hard to solve the physical memory fragmentation
issue for some time now, only to hear "this is not acceptable, go
somewhere else". So we did - the CMA is targeted towards mm, NOT the
ARM. While I do not exactly know how you see your role in ARM kernel
development, we have shown a few times that this issue is important for
us, and we'd like to solve it. So if you could give a glimpse of what is
acceptable, given the existing circumstances, we could possibly help
developing that solution. Namely:
1. ARM-compatible SoC
2. Multimedia IP blocks requiring large amounts of contiguous memory
2. No IOMMU or SG in said blocks
4. Unused memory reserved for said multimedia drivers should  be used by
the kernel
5. Multimedia allocation scenarios must always be working (under some
constraints of course), within sane time limit
6. The solution shall have minimal delta to upstream linux (none?)

While the obvious CMA uses are the ones you'd mostly like to avoid, we
haven't tried to post anything like that along.
This way no obvious spec abuse is made, and we minimize the delta to the
upstream - it's even better than current state, when you have dma
coherent memory doing exactly what you claim is forbidden (unpredictable
results could possibly happen).

As the feedback from the first CMA patches confirm, the issue we're
trying to solve here is real. Yet no real solution exists to my
knowledge. I understand the ARM holding my try to just wait till all the
relevant chips do have an IOMMU, but here and now there is a SOC we are
going to use. No IMOMMU, no SG. So would you please help us - or if for
some reason you can't, just not make our work any harder?

BTW why is the lowmem unmap not feasible? Is it the section entries in
the page tables scattered throughout the system? I was unable to find
the answer so far.

Best regards
-- 
Tomasz Fujak
Samsung Electronics Poland R&D

On 2010-12-23 13:19, Russell King - ARM Linux wrote:

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

Messages in current thread:
[PATCHv8 00/12] Contiguous Memory Allocator, Michal Nazarewicz, (Wed Dec 15, 1:34 pm)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Kyungmin Park, (Thu Dec 23, 2:30 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 3:06 am)
RE: [PATCHv8 00/12] Contiguous Memory Allocator, Marek Szyprowski, (Thu Dec 23, 3:58 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 5:19 am)
RE: [PATCHv8 00/12] Contiguous Memory Allocator, Marek Szyprowski, (Thu Dec 23, 6:09 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Tomasz Fujak, (Thu Dec 23, 6:35 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Michal Nazarewicz, (Thu Dec 23, 6:41 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 6:44 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 6:48 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 6:51 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Tomasz Fujak, (Thu Dec 23, 7:04 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Tomasz Fujak, (Thu Dec 23, 7:08 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 7:16 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Thu Dec 23, 7:20 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Felipe Contreras, (Thu Dec 23, 7:42 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Michal Nazarewicz, (Thu Dec 23, 8:02 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Tomasz Fujak, (Thu Dec 23, 8:35 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, David Brown, (Thu Dec 23, 11:04 am)
RE: [PATCHv8 00/12] Contiguous Memory Allocator, Johan MOSSBERG, (Tue Jan 4, 9:23 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Michał Nazarewicz, (Tue Jan 4, 9:59 am)
Re: [PATCHv8 00/12] Contiguous Memory Allocator, Russell King - ARM Linux, (Tue Jan 4, 10:19 am)
RE: [PATCHv8 00/12] Contiguous Memory Allocator, Santosh Shilimkar, (Tue Jan 4, 10:31 am)