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


Groups > linux.kernel > #1591485 > unrolled thread

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

Started byLaura Abbott <labbott@redhat.com>
First post2017-03-02 22:50 +0100
Last post2017-03-03 20:20 +0100
Articles 20 on this page of 69 — 15 participants

Back to article view | Back to linux.kernel


Contents

  [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
    [RFC PATCH 01/12] staging: android: ion: Remove dmap_cnt Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
    [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-03 17:50 +0100
        Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Laura Abbott <labbott@redhat.com> - 2017-03-03 20:00 +0100
          Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 11:50 +0100
            Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-06 14:50 +0100
              Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 17:00 +0100
                Re: [RFC PATCH 10/12] staging: android: ion: Use CMA APIs directly Laura Abbott <labbott@redhat.com> - 2017-03-06 20:30 +0100
    [RFC PATCH 09/12] cma: Introduce cma_for_each_area Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
    [RFC PATCH 03/12] staging: android: ion: Duplicate sg_table Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 03/12] staging: android: ion: Duplicate sg_table "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-03 09:40 +0100
        Re: [RFC PATCH 03/12] staging: android: ion: Duplicate sg_table Laura Abbott <labbott@redhat.com> - 2017-03-03 19:50 +0100
    [RFC PATCH 11/12] staging: android: ion: Make Ion heaps selectable Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 11/12] staging: android: ion: Make Ion heaps  selectable Daniel Vetter <daniel@ffwll.ch> - 2017-03-03 16:10 +0100
        Re: [RFC PATCH 11/12] staging: android: ion: Make Ion heaps  selectable Laura Abbott <labbott@redhat.com> - 2017-03-03 20:50 +0100
    [RFC PATCH 05/12] staging: android: ion: Remove page faulting support Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
    [RFC PATCH 02/12] staging: android: ion: Remove alignment from allocation field Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
    [RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for syncing and mapping Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for  syncing and mapping Dan Carpenter <dan.carpenter@oracle.com> - 2017-03-03 12:10 +0100
        Re: [RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for  syncing and mapping Eric Engestrom <eric.engestrom@imgtec.com> - 2017-03-03 13:00 +0100
      Re: [RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for syncing and mapping Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-03 17:40 +0100
        Re: [RFC PATCH 04/12] staging: android: ion: Call dma_map_sg for  syncing and mapping Laura Abbott <labbott@redhat.com> - 2017-03-03 19:50 +0100
    [RFC PATCH 07/12] staging: android: ion: Remove old platform support Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 07/12] staging: android: ion: Remove old platform  support Daniel Vetter <daniel@ffwll.ch> - 2017-03-03 11:40 +0100
    [RFC PATCH 06/12] staging: android: ion: Remove crufty cache support Laura Abbott <labbott@redhat.com> - 2017-03-02 22:50 +0100
      Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache  support Daniel Vetter <daniel@ffwll.ch> - 2017-03-03 11:00 +0100
        Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache support Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-03 18:00 +0100
          Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache  support Laura Abbott <labbott@redhat.com> - 2017-03-03 19:50 +0100
            Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache  support Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 11:50 +0100
              Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache support Emil Velikov <emil.l.velikov@gmail.com> - 2017-03-06 18:40 +0100
                Re: [RFC PATCH 06/12] staging: android: ion: Remove crufty cache  support Laura Abbott <labbott@redhat.com> - 2017-03-06 20:30 +0100
    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-03 11:40 +0100
      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-03 11:40 +0100
        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-03-03 15:50 +0100
      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-03 17:50 +0100
        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-03 20:20 +0100
        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 11:50 +0100
          Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-06 16:10 +0100
            Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 17:40 +0100
    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Michal Hocko <mhocko@kernel.org> - 2017-03-03 14:40 +0100
      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-03 18:50 +0100
        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Michal Hocko <mhocko@kernel.org> - 2017-03-06 09:10 +0100
          Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 12:00 +0100
            Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Mark Brown <broonie@kernel.org> - 2017-03-06 12:00 +0100
              Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-06 17:20 +0100
                Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-03-09 11:10 +0100
                  Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-09 19:10 +0100
                    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Brian Starkey <brian.starkey@arm.com> - 2017-03-10 11:40 +0100
                      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Robin Murphy <robin.murphy@arm.com> - 2017-03-10 12:50 +0100
                        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Brian Starkey <brian.starkey@arm.com> - 2017-03-10 15:30 +0100
                          Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-10 17:50 +0100
                      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Daniel Vetter <daniel@ffwll.ch> - 2017-03-10 13:50 +0100
                        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Rob Clark <robdclark@gmail.com> - 2017-03-10 15:00 +0100
                    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-03-12 14:40 +0100
                      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Daniel Vetter <daniel.vetter@ffwll.ch> - 2017-03-12 20:10 +0100
                        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-13 22:20 +0100
                          Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Rob Clark <robdclark@gmail.com> - 2017-03-13 22:30 +0100
                            Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-13 23:00 +0100
                          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
                      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Brian Starkey <brian.starkey@arm.com> - 2017-03-13 12:00 +0100
                        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Mark Brown <broonie@kernel.org> - 2017-03-13 14:30 +0100
                          Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-13 22:50 +0100
                        Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-13 22:30 +0100
            Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Michal Hocko <mhocko@kernel.org> - 2017-03-06 14:40 +0100
    Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-03-03 17:30 +0100
      Re: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of  staging Laura Abbott <labbott@redhat.com> - 2017-03-03 20:20 +0100

Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →


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

FromMichal Hocko <mhocko@kernel.org>
Date2017-03-03 14:40 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tgVB7-1Rv-19@gated-at.bofh.it>
In reply to#1591485
On Thu 02-03-17 13:44:32, Laura Abbott wrote:
> Hi,
> 
> There's been some recent discussions[1] about Ion-like frameworks. There's
> apparently interest in just keeping Ion since it works reasonablly well.
> This series does what should be the final clean ups for it to possibly be
> moved out of staging.
> 
> This includes the following:
> - Some general clean up and removal of features that never got a lot of use
>   as far as I can tell.
> - Fixing up the caching. This is the series I proposed back in December[2]
>   but never heard any feedback on. It will certainly break existing
>   applications that rely on the implicit caching. I'd rather make an effort
>   to move to a model that isn't going directly against the establishement
>   though.
> - Fixing up the platform support. The devicetree approach was never well
>   recieved by DT maintainers. The proposal here is to think of Ion less as
>   specifying requirements and more of a framework for exposing memory to
>   userspace.
> - CMA allocations now happen without the need of a dummy device structure.
>   This fixes a bunch of the reasons why I attempted to add devicetree
>   support before.
> 
> I've had problems getting feedback in the past so if I don't hear any major
> objections I'm going to send out with the RFC dropped to be picked up.
> The only reason there isn't a patch to come out of staging is to discuss any
> other changes to the ABI people might want. Once this comes out of staging,
> I really don't want to mess with the ABI.

Could you recapitulate concerns preventing the code being merged
normally rather than through the staging tree and how they were
addressed?
-- 
Michal Hocko
SUSE Labs

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


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

FromLaura Abbott <labbott@redhat.com>
Date2017-03-03 18:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tgZv4-4xS-21@gated-at.bofh.it>
In reply to#1591952
On 03/03/2017 05:29 AM, Michal Hocko wrote:
> On Thu 02-03-17 13:44:32, Laura Abbott wrote:
>> Hi,
>>
>> There's been some recent discussions[1] about Ion-like frameworks. There's
>> apparently interest in just keeping Ion since it works reasonablly well.
>> This series does what should be the final clean ups for it to possibly be
>> moved out of staging.
>>
>> This includes the following:
>> - Some general clean up and removal of features that never got a lot of use
>>   as far as I can tell.
>> - Fixing up the caching. This is the series I proposed back in December[2]
>>   but never heard any feedback on. It will certainly break existing
>>   applications that rely on the implicit caching. I'd rather make an effort
>>   to move to a model that isn't going directly against the establishement
>>   though.
>> - Fixing up the platform support. The devicetree approach was never well
>>   recieved by DT maintainers. The proposal here is to think of Ion less as
>>   specifying requirements and more of a framework for exposing memory to
>>   userspace.
>> - CMA allocations now happen without the need of a dummy device structure.
>>   This fixes a bunch of the reasons why I attempted to add devicetree
>>   support before.
>>
>> I've had problems getting feedback in the past so if I don't hear any major
>> objections I'm going to send out with the RFC dropped to be picked up.
>> The only reason there isn't a patch to come out of staging is to discuss any
>> other changes to the ABI people might want. Once this comes out of staging,
>> I really don't want to mess with the ABI.
> 
> Could you recapitulate concerns preventing the code being merged
> normally rather than through the staging tree and how they were
> addressed?
> 

Sorry, I'm really not understanding your question here, can you
clarify?

Thanks,
Laura

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


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

FromMichal Hocko <mhocko@kernel.org>
Date2017-03-06 09:10 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<thVSp-5je-1@gated-at.bofh.it>
In reply to#1592171
On Fri 03-03-17 09:37:55, Laura Abbott wrote:
> On 03/03/2017 05:29 AM, Michal Hocko wrote:
> > On Thu 02-03-17 13:44:32, Laura Abbott wrote:
> >> Hi,
> >>
> >> There's been some recent discussions[1] about Ion-like frameworks. There's
> >> apparently interest in just keeping Ion since it works reasonablly well.
> >> This series does what should be the final clean ups for it to possibly be
> >> moved out of staging.
> >>
> >> This includes the following:
> >> - Some general clean up and removal of features that never got a lot of use
> >>   as far as I can tell.
> >> - Fixing up the caching. This is the series I proposed back in December[2]
> >>   but never heard any feedback on. It will certainly break existing
> >>   applications that rely on the implicit caching. I'd rather make an effort
> >>   to move to a model that isn't going directly against the establishement
> >>   though.
> >> - Fixing up the platform support. The devicetree approach was never well
> >>   recieved by DT maintainers. The proposal here is to think of Ion less as
> >>   specifying requirements and more of a framework for exposing memory to
> >>   userspace.
> >> - CMA allocations now happen without the need of a dummy device structure.
> >>   This fixes a bunch of the reasons why I attempted to add devicetree
> >>   support before.
> >>
> >> I've had problems getting feedback in the past so if I don't hear any major
> >> objections I'm going to send out with the RFC dropped to be picked up.
> >> The only reason there isn't a patch to come out of staging is to discuss any
> >> other changes to the ABI people might want. Once this comes out of staging,
> >> I really don't want to mess with the ABI.
> > 
> > Could you recapitulate concerns preventing the code being merged
> > normally rather than through the staging tree and how they were
> > addressed?
> > 
> 
> Sorry, I'm really not understanding your question here, can you
> clarify?

There must have been a reason why this code ended up in the staging
tree, right? So my question is what those reasons were and how they were
handled in order to move the code from the staging subtree.
-- 
Michal Hocko
SUSE Labs

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


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

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-03-06 12:00 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<thYwV-6Yd-1@gated-at.bofh.it>
In reply to#1592981
On Mon, Mar 06, 2017 at 08:42:59AM +0100, Michal Hocko wrote:
> On Fri 03-03-17 09:37:55, Laura Abbott wrote:
> > On 03/03/2017 05:29 AM, Michal Hocko wrote:
> > > On Thu 02-03-17 13:44:32, Laura Abbott wrote:
> > >> Hi,
> > >>
> > >> There's been some recent discussions[1] about Ion-like frameworks. There's
> > >> apparently interest in just keeping Ion since it works reasonablly well.
> > >> This series does what should be the final clean ups for it to possibly be
> > >> moved out of staging.
> > >>
> > >> This includes the following:
> > >> - Some general clean up and removal of features that never got a lot of use
> > >>   as far as I can tell.
> > >> - Fixing up the caching. This is the series I proposed back in December[2]
> > >>   but never heard any feedback on. It will certainly break existing
> > >>   applications that rely on the implicit caching. I'd rather make an effort
> > >>   to move to a model that isn't going directly against the establishement
> > >>   though.
> > >> - Fixing up the platform support. The devicetree approach was never well
> > >>   recieved by DT maintainers. The proposal here is to think of Ion less as
> > >>   specifying requirements and more of a framework for exposing memory to
> > >>   userspace.
> > >> - CMA allocations now happen without the need of a dummy device structure.
> > >>   This fixes a bunch of the reasons why I attempted to add devicetree
> > >>   support before.
> > >>
> > >> I've had problems getting feedback in the past so if I don't hear any major
> > >> objections I'm going to send out with the RFC dropped to be picked up.
> > >> The only reason there isn't a patch to come out of staging is to discuss any
> > >> other changes to the ABI people might want. Once this comes out of staging,
> > >> I really don't want to mess with the ABI.
> > > 
> > > Could you recapitulate concerns preventing the code being merged
> > > normally rather than through the staging tree and how they were
> > > addressed?
> > > 
> > 
> > Sorry, I'm really not understanding your question here, can you
> > clarify?
> 
> There must have been a reason why this code ended up in the staging
> tree, right? So my question is what those reasons were and how they were
> handled in order to move the code from the staging subtree.

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.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

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


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

FromMark Brown <broonie@kernel.org>
Date2017-03-06 12:00 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<thYwW-6Yd-17@gated-at.bofh.it>
In reply to#1593193

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

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.

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


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

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-03-06 17:20 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<ti3wC-2gf-5@gated-at.bofh.it>
In reply to#1593195
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
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

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


#1595873

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-03-09 11:10 +0100
Message-ID<tj3bc-3I3-29@gated-at.bofh.it>
In reply to#1593506
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 ?
- can you we ride off ion_handle (at least in userland) and only
export a dma-buf descriptor ?

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 ?

Benjamin

> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch


Follow Linaro: Facebook | Twitter | Blog

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


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

FromLaura Abbott <labbott@redhat.com>
Date2017-03-09 19:10 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjaFH-ma-17@gated-at.bofh.it>
In reply to#1595873
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. 

> 
> Benjamin
> 

Thanks,
Laura

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


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

FromBrian Starkey <brian.starkey@arm.com>
Date2017-03-10 11:40 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjq7M-2G5-17@gated-at.bofh.it>
In reply to#1596277
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.

-Brian

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


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

FromRobin Murphy <robin.murphy@arm.com>
Date2017-03-10 12:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjrdw-3oE-23@gated-at.bofh.it>
In reply to#1597035
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.

> 
> -Brian
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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


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

FromBrian Starkey <brian.starkey@arm.com>
Date2017-03-10 15:30 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjtIm-5ge-15@gated-at.bofh.it>
In reply to#1597182
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@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

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


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

FromLaura Abbott <labbott@redhat.com>
Date2017-03-10 17:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjvTQ-6Ev-9@gated-at.bofh.it>
In reply to#1597810
On 03/10/2017 06:27 AM, Brian Starkey wrote:
> 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

Part of the reason I want to remove it is to avoid confusion over
callers thinking it will do anything on most heaps. I agree being
able to specify a larger granularity would be beneficial but I
don't think a dedicated field in the ABI is the right approach.

Thanks,
Laura

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


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

FromDaniel Vetter <daniel@ffwll.ch>
Date2017-03-10 13:50 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tjs9A-43z-15@gated-at.bofh.it>
In reply to#1597035
On Fri, Mar 10, 2017 at 10:31:13AM +0000, 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.

Extending ioctl uapi is easy, trying to get rid of bad uapi is much
harder. Given that right now we don't have an ion allocator that does
alignment I think removing it makes sense. And if we go with lots of
heaps, we might as well have an ion heap per alignment that your hw needs,
so there's different ways to implement this in the future.

At least from the unix device memory allocator pov it's probably simpler
to encode stuff like this into the heap name, instead of having to pass
heap + list of additional properties/constraints.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

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


#1597689

FromRob Clark <robdclark@gmail.com>
Date2017-03-10 15:00 +0100
Message-ID<tjtfk-4NB-15@gated-at.bofh.it>
In reply to#1597422
On Fri, Mar 10, 2017 at 7:40 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Fri, Mar 10, 2017 at 10:31:13AM +0000, 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.
>
> Extending ioctl uapi is easy, trying to get rid of bad uapi is much
> harder. Given that right now we don't have an ion allocator that does
> alignment I think removing it makes sense. And if we go with lots of
> heaps, we might as well have an ion heap per alignment that your hw needs,
> so there's different ways to implement this in the future.

slight correction:  if you plan ahead (and do things like zero init if
userspace passes in a smaller ioctl struct like drm_ioctl does),
extending ioctl uapi is easy.. might be something worth fixing from
the get-go..

BR,
-R

> At least from the unix device memory allocator pov it's probably simpler
> to encode stuff like this into the heap name, instead of having to pass
> heap + list of additional properties/constraints.
> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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


#1598619

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-03-12 14:40 +0100
Message-ID<tkbT4-294-21@gated-at.bofh.it>
In reply to#1596277
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....

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.

>
>>
>> Benjamin
>>
>
> Thanks,
> Laura
>

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


#1598716

FromDaniel Vetter <daniel.vetter@ffwll.ch>
Date2017-03-12 20:10 +0100
Message-ID<tkh2p-5M8-3@gated-at.bofh.it>
In reply to#1598619
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
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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


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

FromLaura Abbott <labbott@redhat.com>
Date2017-03-13 22:20 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tkFxL-6zk-13@gated-at.bofh.it>
In reply to#1598716
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
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.

Thanks,
Laura

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


#1599836

FromRob Clark <robdclark@gmail.com>
Date2017-03-13 22:30 +0100
Message-ID<tkFHt-6Dq-17@gated-at.bofh.it>
In reply to#1599833
On Mon, Mar 13, 2017 at 5:09 PM, Laura Abbott <labbott@redhat.com> wrote:
>> 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
> 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.


other advantage, I think, is selinux (brought up elsewhere on this
thread).. heaps at known fixed PAs are useful for certain sorts of
attacks so being able to restrict access more easily seems like a good
thing

BR,
-R

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


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

FromLaura Abbott <labbott@redhat.com>
Date2017-03-13 23:00 +0100
SubjectRe: [RFC PATCH 00/12] Ion cleanup in preparation for moving out of staging
Message-ID<tkGat-6RP-3@gated-at.bofh.it>
In reply to#1599836
On 03/13/2017 02:29 PM, Rob Clark wrote:
> On Mon, Mar 13, 2017 at 5:09 PM, Laura Abbott <labbott@redhat.com> wrote:
>>> 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
>> 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.
> 
> 
> other advantage, I think, is selinux (brought up elsewhere on this
> thread).. heaps at known fixed PAs are useful for certain sorts of
> attacks so being able to restrict access more easily seems like a good
> thing
> 
> BR,
> -R
> 

Some other kind of filtering (BPF/LSM/???) might work as well
(http://kernsec.org/files/lss2015/vanderstoep.pdf ?)

The fixed PA issue is a larger problem. We're never going to
be able to get away from "this heap must exist at address X"
problems but the location of CMA in general should be
randomized. I haven't actually come up with a good proposal
to this though.

I'd like for Ion to be a framework for memory allocation and
not security exploits. Hopefully this isn't a pipe dream.

Thanks,
Laura

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


#1600514

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-03-14 15:50 +0100
Message-ID<tkVVU-1uM-21@gated-at.bofh.it>
In reply to#1599833
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] | [prev] | [next] | [standalone]


Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →

Back to top | Article view | linux.kernel


csiph-web