[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1279733750.31376.14.camel@c-dwalke-linux.qualcomm.com>
Date: Wed, 21 Jul 2010 10:35:50 -0700
From: Daniel Walker <dwalker@...eaurora.org>
To: Michał Nazarewicz <m.nazarewicz@...sung.com>
Cc: linux-mm@...ck.org, Marek Szyprowski <m.szyprowski@...sung.com>,
Pawel Osciak <p.osciak@...sung.com>,
Xiaolin Zhang <xiaolin.zhang@...el.com>,
Hiremath Vaibhav <hvaibhav@...com>,
Robert Fekete <robert.fekete@...ricsson.com>,
Marcus Lorentzon <marcus.xm.lorentzon@...ricsson.com>,
linux-kernel@...r.kernel.org,
Kyungmin Park <kyungmin.park@...sung.com>,
linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH 2/4] mm: cma: Contiguous Memory Allocator added
On Wed, 2010-07-21 at 14:01 +0200, Michał Nazarewicz wrote:
> What you are asking for is:
>
> cma=a=100M cma_map=*/*=a
>
> All devices will share the same region so that "if the video driver isn't
> using the memory" then "something else can use it". (please excuse me quoting
> you, it was stronger then me ;) ).
Ok ..
> Driver has to little information to say whether it really stopped using
> memory. Maybe the next call will be to allocate buffers for frames and
> initialise the chip? Sure, some “good enough” defaults can be provided
> (and the framework allows that) but still platform architect might need
> more power.
I think your talking more about optimization .. You can take that into
account ..
> > (btw, these strings your creating yikes, talk about confusing ..)
>
> They are not that scary really. Let's look at cma:
>
> a=10M;b=10M
>
> Split it on semicolon:
>
> a=10M
> b=10M
>
> and you see that it defines two regions (a and b) 10M each.
I think your assuming a lot .. I've never seen the notation before I
wouldn't assuming there's regions or whatever ..
> As of cma_map:
>
> camera,video=a;jpeg,scaler=b
>
> Again split it on semicolon:
>
> camera,video=a
> jpeg,scaler=b
>
> Now, substitute equal sign by "use(s) region(s)":
>
> camera,video use(s) region(s): a
> jpeg,scaler use(s) region(s): b
>
> No black magic here. ;)
It way too complicated .. Users (i.e. not programmers) has to use
this ..
> >> One of the purposes of the CMA framework is to make it let device
> >> drivers completely forget about the memory management and enjoy
> >> a simple API.
> >
> > The driver, and it's maintainer, are really the best people to know how
> > much memory they need and when it's used/unused. You don't really want
> > to architect them out.
>
> This might be true if there is only one device but even then it's not
> always the case. If many devices need physically-contiguous memory
> there is no way for them to communicate and share memory. For best
> performance someone must look at them and say who gets what.
How do you think regular memory allocation work? I mean there's many
devices that all need different amounts of memory and they get along.
Yet your saying it's not possible .
Daniel
--
Sent by an consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists