[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170310142709.GB15945@e106950-lin.cambridge.arm.com>
Date: Fri, 10 Mar 2017 14:27:09 +0000
From: Brian Starkey <brian.starkey@....com>
To: Robin Murphy <robin.murphy@....com>
Cc: Laura Abbott <labbott@...hat.com>, devel@...verdev.osuosl.org,
Rom Lemarchand <romlem@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Riley Andrews <riandrews@...roid.com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
Michal Hocko <mhocko@...nel.org>,
"linaro-mm-sig@...ts.linaro.org" <linaro-mm-sig@...ts.linaro.org>,
linux-mm@...ck.org,
Arve Hjønnevåg <arve@...roid.com>,
Mark Brown <broonie@...nel.org>,
Benjamin Gaignard <benjamin.gaignard@...aro.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Daniel Vetter <daniel.vetter@...el.com>,
Sumit Semwal <sumit.semwal@...aro.org>,
linux-arm-kernel@...ts.infradead.org,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>
Subject: Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of
staging
On Fri, Mar 10, 2017 at 11:46:42AM +0000, Robin Murphy wrote:
>On 10/03/17 10:31, Brian Starkey wrote:
>> Hi,
>>
>> On Thu, Mar 09, 2017 at 09:38:49AM -0800, Laura Abbott wrote:
>>> On 03/09/2017 02:00 AM, Benjamin Gaignard wrote:
>>
>> [snip]
>>
>>>>
>>>> For me those patches are going in the right direction.
>>>>
>>>> I still have few questions:
>>>> - since alignment management has been remove from ion-core, should it
>>>> be also removed from ioctl structure ?
>>>
>>> Yes, I think I'm going to go with the suggestion to fixup the ABI
>>> so we don't need the compat layer and as part of that I'm also
>>> dropping the align argument.
>>>
>>
>> Is the only motivation for removing the alignment parameter that
>> no-one got around to using it for something useful yet?
>> The original comment was true - different devices do have different
>> alignment requirements.
>>
>> Better alignment can help SMMUs use larger blocks when mapping,
>> reducing TLB pressure and the chance of a page table walk causing
>> display underruns.
>
>For that use-case, though, alignment alone doesn't necessarily help -
>you need the whole allocation granularity to match your block size (i.e.
>given a 1MB block size, asking for 17KB and getting back 17KB starting
>at a 1MB boundary doesn't help much - that whole 1MB needs to be
>allocated and everyone needs to know it to ensure that the whole lot can
>be mapped safely). Now, whether it's down to the callers or the heap
>implementations to decide and enforce that granularity is another
>question, but provided allocations are at least naturally aligned to
>whatever the granularity is (which is a reasonable assumption to bake
>in) then it's all good.
>
>Robin.
Agreed, alignment alone isn't enough. But lets assume that an app
knows what a "good" granularity is, and always asks for allocation
sizes which are suitably rounded to allow blocks to be used. Currently
it looks like a "standard" ION_HEAP_TYPE_CARVEOUT heap would give me
back just a PAGE_SIZE aligned buffer. So even *if* the caller knows
its desired block size, there's no way for it to get guaranteed better
alignment, which wouldn't be a bad feature to have.
Anyway as Daniel and Rob say, if the interface is designed properly
this kind of extension would be possible later, or you can have a
special heap with a larger granule.
I suppose it makes sense to remove it while there's no-one actually
implementing it, in case an alternate method proves more usable.
-Brian
>
>>
>> -Brian
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@...ts.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Powered by blists - more mailing lists