Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1600514 > unrolled thread

Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging

Started byBenjamin Gaignard <benjamin.gaignard@linaro.org>
First post2017-03-14 15:50 +0100
Last post2017-03-14 21:30 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-03-14 15:50 +0100
    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-14 20:50 +0100
    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Nicolas Dufresne <nicolas@ndufresne.ca> - 2017-03-14 21:30 +0100

#1600514 — Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-03-14 15:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tkVVU-1uM-21@gated-at.bofh.it>
2017-03-13 22:09 GMT+01:00 Laura Abbott <labbott@redhat.com>:
> On 03/12/2017 12:05 PM, Daniel Vetter wrote:
>> On Sun, Mar 12, 2017 at 2:34 PM, Benjamin Gaignard
>> <benjamin.gaignard@linaro.org> wrote:
>>> 2017-03-09 18:38 GMT+01:00 Laura Abbott <labbott@redhat.com>:
>>>> On 03/09/2017 02:00 AM, Benjamin Gaignard wrote:
>>>>> 2017-03-06 17:04 GMT+01:00 Daniel Vetter <daniel@ffwll.ch>:
>>>>>> On Mon, Mar 06, 2017 at 11:58:05AM +0100, Mark Brown wrote:
>>>>>>> On Mon, Mar 06, 2017 at 11:40:41AM +0100, Daniel Vetter wrote:
>>>>>>>
>>>>>>>> No one gave a thing about android in upstream, so Greg KH just dumped it
>>>>>>>> all into staging/android/. We've discussed ION a bunch of times, recorded
>>>>>>>> anything we'd like to fix in staging/android/TODO, and Laura's patch
>>>>>>>> series here addresses a big chunk of that.
>>>>>>>
>>>>>>>> This is pretty much the same approach we (gpu folks) used to de-stage the
>>>>>>>> syncpt stuff.
>>>>>>>
>>>>>>> Well, there's also the fact that quite a few people have issues with the
>>>>>>> design (like Laurent).  It seems like a lot of them have either got more
>>>>>>> comfortable with it over time, or at least not managed to come up with
>>>>>>> any better ideas in the meantime.
>>>>>>
>>>>>> See the TODO, it has everything a really big group (look at the patch for
>>>>>> the full Cc: list) figured needs to be improved at LPC 2015. We don't just
>>>>>> merge stuff because merging stuff is fun :-)
>>>>>>
>>>>>> Laurent was even in that group ...
>>>>>> -Daniel
>>>>>
>>>>> 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.
>>>>
>>>>> - can you we ride off ion_handle (at least in userland) and only
>>>>> export a dma-buf descriptor ?
>>>>
>>>> Yes, I think this is the right direction given we're breaking
>>>> everything anyway. I was debating trying to keep the two but
>>>> moving to only dma bufs is probably cleaner. The only reason
>>>> I could see for keeping the handles is running out of file
>>>> descriptors for dma-bufs but that seems unlikely.
>>>>>
>>>>> In the future how can we add new heaps ?
>>>>> Some platforms have very specific memory allocation
>>>>> requirements (just have a look in the number of gem custom allocator in drm)
>>>>> Do you plan to add heap type/mask for each ?
>>>>
>>>> Yes, that was my thinking.
>>>
>>> My concern is about the policy to adding heaps, will you accept
>>> "customs" heap per
>>> platforms ? per devices ? or only generic ones ?
>>> If you are too strict, we will have lot of out-of-tree heaps and if
>>> you accept of of them
>>> it will be a nightmare to maintain....
>>
>> I think ion should expose any heap that's also directly accessible to
>> devices using dma_alloc(_coherent). That should leave very few things
>> left, like your SMA heap.
>>
>>> Another point is how can we put secure rules (like selinux policy) on
>>> heaps since all the allocations
>>> go to the same device (/dev/ion) ? For example, until now, in Android
>>> we have to give the same
>>> access rights to all the process that use ION.
>>> It will become problem when we will add secure heaps because we won't
>>> be able to distinguish secure
>>> processes to standard ones or set specific policy per heaps.
>>> Maybe I'm wrong here but I have never see selinux policy checking an
>>> ioctl field but if that
>>> exist it could be a solution.
>>
>> Hm, we might want to expose all the heaps as individual
>> /dev/ion_$heapname nodes? Should we do this from the start, since
>> we're massively revamping the uapi anyway (imo not needed, current
>> state seems to work too)?
>> -Daniel
>>
>
> I thought about that. One advantage with separate /dev/ion_$heap

Should we use /devi/ion/$heap instead of /dev/ion_$heap ?
I think it would be easier for user to look into one directory rather
then in whole /dev to find the heaps

> is that we don't have to worry about a limit of 32 possible
> heaps per system (32-bit heap id allocation field). But dealing
> with an ioctl seems easier than names. Userspace might be less
> likely to hardcode random id numbers vs. names as well.

In the futur I think that heap type will be replaced by a "get caps"
ioctl which will
describe heap capabilities. At least that is my understanding of kernel part
of "unix memory allocator" project

>
> Thanks,
> Laura

[toc] | [next] | [standalone]


#1600857 — Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging

FromLaura Abbott <labbott@redhat.com>
Date2017-03-14 20:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tl0Ce-4V8-9@gated-at.bofh.it>
In reply to#1600514
On 03/14/2017 07:47 AM, Benjamin Gaignard wrote:
> 2017-03-13 22:09 GMT+01:00 Laura Abbott <labbott@redhat.com>:
>> On 03/12/2017 12:05 PM, Daniel Vetter wrote:
>>> On Sun, Mar 12, 2017 at 2:34 PM, Benjamin Gaignard
>>> <benjamin.gaignard@linaro.org> wrote:
>>>> 2017-03-09 18:38 GMT+01:00 Laura Abbott <labbott@redhat.com>:
>>>>> On 03/09/2017 02:00 AM, Benjamin Gaignard wrote:
>>>>>> 2017-03-06 17:04 GMT+01:00 Daniel Vetter <daniel@ffwll.ch>:
>>>>>>> On Mon, Mar 06, 2017 at 11:58:05AM +0100, Mark Brown wrote:
>>>>>>>> On Mon, Mar 06, 2017 at 11:40:41AM +0100, Daniel Vetter wrote:
>>>>>>>>
>>>>>>>>> No one gave a thing about android in upstream, so Greg KH just dumped it
>>>>>>>>> all into staging/android/. We've discussed ION a bunch of times, recorded
>>>>>>>>> anything we'd like to fix in staging/android/TODO, and Laura's patch
>>>>>>>>> series here addresses a big chunk of that.
>>>>>>>>
>>>>>>>>> This is pretty much the same approach we (gpu folks) used to de-stage the
>>>>>>>>> syncpt stuff.
>>>>>>>>
>>>>>>>> Well, there's also the fact that quite a few people have issues with the
>>>>>>>> design (like Laurent).  It seems like a lot of them have either got more
>>>>>>>> comfortable with it over time, or at least not managed to come up with
>>>>>>>> any better ideas in the meantime.
>>>>>>>
>>>>>>> See the TODO, it has everything a really big group (look at the patch for
>>>>>>> the full Cc: list) figured needs to be improved at LPC 2015. We don't just
>>>>>>> merge stuff because merging stuff is fun :-)
>>>>>>>
>>>>>>> Laurent was even in that group ...
>>>>>>> -Daniel
>>>>>>
>>>>>> 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.
>>>>>
>>>>>> - can you we ride off ion_handle (at least in userland) and only
>>>>>> export a dma-buf descriptor ?
>>>>>
>>>>> Yes, I think this is the right direction given we're breaking
>>>>> everything anyway. I was debating trying to keep the two but
>>>>> moving to only dma bufs is probably cleaner. The only reason
>>>>> I could see for keeping the handles is running out of file
>>>>> descriptors for dma-bufs but that seems unlikely.
>>>>>>
>>>>>> In the future how can we add new heaps ?
>>>>>> Some platforms have very specific memory allocation
>>>>>> requirements (just have a look in the number of gem custom allocator in drm)
>>>>>> Do you plan to add heap type/mask for each ?
>>>>>
>>>>> Yes, that was my thinking.
>>>>
>>>> My concern is about the policy to adding heaps, will you accept
>>>> "customs" heap per
>>>> platforms ? per devices ? or only generic ones ?
>>>> If you are too strict, we will have lot of out-of-tree heaps and if
>>>> you accept of of them
>>>> it will be a nightmare to maintain....
>>>
>>> I think ion should expose any heap that's also directly accessible to
>>> devices using dma_alloc(_coherent). That should leave very few things
>>> left, like your SMA heap.
>>>
>>>> Another point is how can we put secure rules (like selinux policy) on
>>>> heaps since all the allocations
>>>> go to the same device (/dev/ion) ? For example, until now, in Android
>>>> we have to give the same
>>>> access rights to all the process that use ION.
>>>> It will become problem when we will add secure heaps because we won't
>>>> be able to distinguish secure
>>>> processes to standard ones or set specific policy per heaps.
>>>> Maybe I'm wrong here but I have never see selinux policy checking an
>>>> ioctl field but if that
>>>> exist it could be a solution.
>>>
>>> Hm, we might want to expose all the heaps as individual
>>> /dev/ion_$heapname nodes? Should we do this from the start, since
>>> we're massively revamping the uapi anyway (imo not needed, current
>>> state seems to work too)?
>>> -Daniel
>>>
>>
>> I thought about that. One advantage with separate /dev/ion_$heap
> 
> Should we use /devi/ion/$heap instead of /dev/ion_$heap ?
> I think it would be easier for user to look into one directory rather
> then in whole /dev to find the heaps
> 

If we decide to move away from /dev/ion we can consider it.

>> is that we don't have to worry about a limit of 32 possible
>> heaps per system (32-bit heap id allocation field). But dealing
>> with an ioctl seems easier than names. Userspace might be less
>> likely to hardcode random id numbers vs. names as well.
> 
> In the futur I think that heap type will be replaced by a "get caps"
> ioctl which will
> describe heap capabilities. At least that is my understanding of kernel part
> of "unix memory allocator" project
> 

I don't think it will be completely replaced. A heap can have multiple
capabilities so I suspect there will need to be some cap -> allocation
instance translation. Of course all this is wild speculation since
much of the unix memory allocator isn't well defined yet.

Thanks,
Laura

[toc] | [prev] | [next] | [standalone]


#1600876 — Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging

FromNicolas Dufresne <nicolas@ndufresne.ca>
Date2017-03-14 21:30 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tl1eW-5s2-27@gated-at.bofh.it>
In reply to#1600514

[Multipart message — attachments visible in raw view] — view raw

Le mardi 14 mars 2017 à 15:47 +0100, Benjamin Gaignard a écrit :
> Should we use /devi/ion/$heap instead of /dev/ion_$heap ?
> I think it would be easier for user to look into one directory rather
> then in whole /dev to find the heaps
> 
> > is that we don't have to worry about a limit of 32 possible
> > heaps per system (32-bit heap id allocation field). But dealing
> > with an ioctl seems easier than names. Userspace might be less
> > likely to hardcode random id numbers vs. names as well.
> 
> In the futur I think that heap type will be replaced by a "get caps"
> ioctl which will
> describe heap capabilities. At least that is my understanding of
> kernel part
> of "unix memory allocator" project

I think what we really need from userspace point of view, is the
ability to find a compatible heap for a set of drivers. And this
without specific knowledge of the drivers.

Nicolas

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web