linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laura Abbott <labbott@redhat.com>
To: "Andrew F. Davis" <afd@ti.com>,
	"Sumit Semwal" <sumit.semwal@linaro.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Arve Hjønnevåg" <arve@android.com>
Cc: devel@driverdev.osuosl.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/14] Misc ION cleanups and adding unmapped heap
Date: Mon, 14 Jan 2019 18:39:14 -0800	[thread overview]
Message-ID: <3b0d05e1-d437-801b-1c41-97d55f9ac10f@redhat.com> (raw)
In-Reply-To: <20190111180523.27862-1-afd@ti.com>

On 1/11/19 10:05 AM, Andrew F. Davis wrote:
> Hello all,
> 
> This is a set of (hopefully) non-controversial cleanups for the ION
> framework and current set of heaps. These were found as I start to
> familiarize myself with the framework to help in whatever way I
> can in getting all this up to the standards needed for de-staging.
> 
> I would like to get some ideas of what is left to work on to get ION
> out of staging. Has there been some kind of agreement on what ION should
> eventually end up being? To me it looks like it is being whittled away at
> to it's most core functions. To me that is looking like being a DMA-BUF
> user-space front end, simply advertising available memory backings in a
> system and providing allocations as DMA-BUF handles. If this is the case
> then it looks close to being ready to me at least, but I would love to
> hear any other opinions and concerns.
> 

Yes, at this point the only functionality that people are really
depending on is the ability to allocate a dma_buf easily from userspace.

> Back to this patchset, the last patch may be a bit different than the
> others, it adds an unmapped heaps type and creation helper. I wanted to
> get this in to show off another heap type and maybe some issues we may
> have with the current ION framework. The unmapped heap is used when the
> backing memory should not (or cannot) be touched. Currently this kind
> of heap is used for firewalled secure memory that can be allocated like
> normal heap memory but only used by secure devices (OP-TEE, crypto HW,
> etc). It is basically just copied from the "carveout" heap type with the
> only difference being it is not mappable to userspace and we do not clear
> the memory (as we should not map it either). So should this really be a
> new heap type? Or maybe advertised as a carveout heap but with an
> additional allocation flag? Perhaps we do away with "types" altogether
> and just have flags, coherent/non-coherent, mapped/unmapped, etc.
> 
> Maybe more thinking will be needed afterall..
> 

So the cleanup looks okay (I need to finish reviewing) but I'm not a
fan of adding another heaptype without solving the problem of adding
some sort of devicetree binding or other method of allocating and
placing Ion heaps. That plus uncached buffers are one of the big
open problems that need to be solved for destaging Ion. See
https://lore.kernel.org/lkml/20181120164636.jcw7li2uaa3cmwc3@DESKTOP-E1NTVVP.localdomain/
for some background on that problem.

Thanks,
Laura

> Thanks,
> Andrew
> 
> Andrew F. Davis (14):
>    staging: android: ion: Add proper header information
>    staging: android: ion: Remove empty ion_ioctl_dir() function
>    staging: android: ion: Merge ion-ioctl.c into ion.c
>    staging: android: ion: Remove leftover comment
>    staging: android: ion: Remove struct ion_platform_heap
>    staging: android: ion: Fixup some white-space issues
>    staging: android: ion: Sync comment docs with struct ion_buffer
>    staging: android: ion: Remove base from ion_carveout_heap
>    staging: android: ion: Remove base from ion_chunk_heap
>    staging: android: ion: Remove unused headers
>    staging: android: ion: Allow heap name to be null
>    staging: android: ion: Declare helpers for carveout and chunk heaps
>    staging: android: ion: Do not sync CPU cache on map/unmap
>    staging: android: ion: Add UNMAPPED heap type and helper
> 
>   drivers/staging/android/ion/Kconfig           |  10 ++
>   drivers/staging/android/ion/Makefile          |   3 +-
>   drivers/staging/android/ion/ion-ioctl.c       |  98 --------------
>   drivers/staging/android/ion/ion.c             |  93 +++++++++++--
>   drivers/staging/android/ion/ion.h             |  87 ++++++++-----
>   .../staging/android/ion/ion_carveout_heap.c   |  19 +--
>   drivers/staging/android/ion/ion_chunk_heap.c  |  25 ++--
>   drivers/staging/android/ion/ion_cma_heap.c    |   6 +-
>   drivers/staging/android/ion/ion_heap.c        |   8 +-
>   drivers/staging/android/ion/ion_page_pool.c   |   2 +-
>   drivers/staging/android/ion/ion_system_heap.c |   8 +-
>   .../staging/android/ion/ion_unmapped_heap.c   | 123 ++++++++++++++++++
>   drivers/staging/android/uapi/ion.h            |   3 +
>   13 files changed, 307 insertions(+), 178 deletions(-)
>   delete mode 100644 drivers/staging/android/ion/ion-ioctl.c
>   create mode 100644 drivers/staging/android/ion/ion_unmapped_heap.c
> 


  parent reply	other threads:[~2019-01-15  2:41 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 18:05 [PATCH 00/14] Misc ION cleanups and adding unmapped heap Andrew F. Davis
2019-01-11 18:05 ` [PATCH 01/14] staging: android: ion: Add proper header information Andrew F. Davis
2019-01-11 18:05 ` [PATCH 02/14] staging: android: ion: Remove empty ion_ioctl_dir() function Andrew F. Davis
2019-01-11 18:05 ` [PATCH 03/14] staging: android: ion: Merge ion-ioctl.c into ion.c Andrew F. Davis
2019-01-11 18:05 ` [PATCH 04/14] staging: android: ion: Remove leftover comment Andrew F. Davis
2019-01-11 18:05 ` [PATCH 05/14] staging: android: ion: Remove struct ion_platform_heap Andrew F. Davis
2019-01-11 18:05 ` [PATCH 06/14] staging: android: ion: Fixup some white-space issues Andrew F. Davis
2019-01-11 18:05 ` [PATCH 07/14] staging: android: ion: Sync comment docs with struct ion_buffer Andrew F. Davis
2019-01-11 18:05 ` [PATCH 08/14] staging: android: ion: Remove base from ion_carveout_heap Andrew F. Davis
2019-01-11 18:05 ` [PATCH 09/14] staging: android: ion: Remove base from ion_chunk_heap Andrew F. Davis
2019-01-11 18:05 ` [PATCH 10/14] staging: android: ion: Remove unused headers Andrew F. Davis
2019-01-11 18:05 ` [PATCH 11/14] staging: android: ion: Allow heap name to be null Andrew F. Davis
2019-01-16 15:28   ` Brian Starkey
2019-01-16 17:12     ` Andrew F. Davis
2019-01-18 19:53       ` Laura Abbott
2019-01-21 14:30         ` Andrew F. Davis
2019-01-11 18:05 ` [PATCH 12/14] staging: android: ion: Declare helpers for carveout and chunk heaps Andrew F. Davis
2019-01-18  9:59   ` Greg Kroah-Hartman
2019-01-18 16:09     ` Andrew F. Davis
2019-01-18 19:54     ` Laura Abbott
2019-01-11 18:05 ` [PATCH 13/14] staging: android: ion: Do not sync CPU cache on map/unmap Andrew F. Davis
2019-01-14 17:13   ` Liam Mark
2019-01-15 15:44     ` Andrew F. Davis
2019-01-15 17:45       ` Liam Mark
2019-01-15 18:38         ` Andrew F. Davis
2019-01-15 18:40           ` Andrew F. Davis
2019-01-16 15:19             ` Brian Starkey
2019-01-16 17:05               ` Andrew F. Davis
2019-01-16 22:54                 ` Liam Mark
2019-01-17 16:25                   ` Andrew F. Davis
2019-01-18  1:11                     ` Liam Mark
2019-01-18 17:16                       ` Andrew F. Davis
2019-01-21 11:22                         ` Brian Starkey
2019-01-21 21:21                           ` Andrew F. Davis
2019-01-22 17:33                             ` Sumit Semwal
2019-01-23 16:51                               ` Andrew F. Davis
2019-01-23 17:11                                 ` Brian Starkey
2019-01-24 16:04                                   ` Andrew F. Davis
2019-01-24 16:44                                     ` Brian Starkey
2019-02-19 21:37                                       ` Laura Abbott
     [not found]                             ` <CAO_48GHZPkE8Or_dB6CVMi5Jv5eufE_Z36MT7ztJwTqTzkTpKA@mail.gmail.com>
2019-01-23 17:09                               ` Andrew F. Davis
2019-01-22 22:56                           ` Liam Mark
2019-01-21 20:11                         ` Liam Mark
2019-01-15 19:05           ` Laura Abbott
2019-01-16 16:17             ` Andrew F. Davis
2019-01-16 22:48               ` Liam Mark
2019-01-17 16:13                 ` Andrew F. Davis
2019-01-18  1:04                   ` Liam Mark
2019-01-18 16:50                     ` Andrew F. Davis
2019-01-18 21:43                       ` Liam Mark
2019-01-21 15:15                         ` Andrew F. Davis
2019-01-21 20:04                           ` Liam Mark
2019-01-18 20:31                   ` Laura Abbott
2019-01-18 20:43                     ` Andrew F. Davis
2019-01-18 20:46                       ` Laura Abbott
2019-01-19 10:11                     ` Christoph Hellwig
2019-01-17  9:02               ` Christoph Hellwig
2019-01-11 18:05 ` [PATCH 14/14] staging: android: ion: Add UNMAPPED heap type and helper Andrew F. Davis
2019-01-15  2:32   ` Laura Abbott
2019-01-15 15:58     ` Andrew F. Davis
2019-01-15 18:43       ` Laura Abbott
2019-01-15 19:11         ` Laura Abbott
2019-01-16 16:18           ` Andrew F. Davis
2019-01-15  2:39 ` Laura Abbott [this message]
2019-01-15 17:47   ` [PATCH 00/14] Misc ION cleanups and adding unmapped heap Andrew F. Davis
2019-01-15 18:58     ` Laura Abbott
2019-01-16 16:05       ` Andrew F. Davis
2019-01-18 20:19         ` Laura Abbott
2019-01-21 14:58           ` Andrew F. Davis
2019-01-18  9:56 ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3b0d05e1-d437-801b-1c41-97d55f9ac10f@redhat.com \
    --to=labbott@redhat.com \
    --cc=afd@ti.com \
    --cc=arve@android.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sumit.semwal@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).