All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Airlie <airlied@gmail.com>
To: Rob Clark <rob.clark@linaro.org>
Cc: Inki Dae <inki.dae@samsung.com>,
	kyungmin.park@samsung.com, sw0312.kim@samsung.com,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 3/4] drm/exynos: added userptr feature.
Date: Wed, 16 May 2012 10:22:34 +0100	[thread overview]
Message-ID: <CAPM=9tw86KzDvE76Fu2PHx=0v79FppxU2YfW7X+3rGpup51LFQ@mail.gmail.com> (raw)
In-Reply-To: <CAF6AEGsKh+3D0e4_HZY_JxMiW=0pnBpEZB4U-jjsoSfxXDMYkQ@mail.gmail.com>

On Tue, May 15, 2012 at 8:34 AM, Rob Clark <rob.clark@linaro.org> wrote:
> On Mon, Apr 23, 2012 at 7:43 AM, Inki Dae <inki.dae@samsung.com> wrote:
>> this feature could be used to use memory region allocated by malloc() in user
>> mode and mmaped memory region allocated by other memory allocators. userptr
>> interface can identify memory type through vm_flags value and would get
>> pages or page frame numbers to user space appropriately.
>
> I apologize for being a little late to jump in on this thread, but...
>
> I must confess to not being a huge fan of userptr.  It really is
> opening a can of worms, and seems best avoided if at all possible.
> I'm not entirely sure the use-case for which you require this, but I
> wonder if there isn't an alternative way?   I mean, the main case I
> could think of for mapping userspace memory would be something like
> texture upload.  But could that be handled in an alternative way,
> something like a pwrite or texture_upload API, which could temporarily
> pin the userspace memory, kick off a dma from that user buffer to a
> proper GEM buffer, and then unpin the user buffer when the DMA
> completes?

I'm with Rob on this, I really hate the userptr idea, and my problem
with letting it into exynos is it sets a benchmark for others to do
things the same way. I'm still not 100% sure how its going to be used
even with all your explainations.

Since we've agreed only the X server can access the interface, it
makes 0 sense to me to exist at all, as the X server can avoid malloc
memory for all objects it accesses.

I don't think pixman is at the level where you should be acceleration
it directly. I thought the point of pixman was a fast SW engine, not
something to be trunked down to a hw engine. The idea being you use
cairo and backend it onto something.

I know ssp had some ideas for making pixman be able to do hw accel,
but userptr doesn't seem like the proper solution, it seems like a
hack that needs a lot more VM work to operate properly, and by setting
a precedent for one GPU driver, I'll have 20 implementations of this
from ARM vendors and nobody will ever go back and fix things properly.

So I'm really not sure the best way to move this forward, maybe a very
clear set of use cases of where stuff plugs into this, and why dma-buf
or some other method isn't sufficient, but I'm having trouble getting
past the fact its setting a dangerous precedent.

Dave.

  parent reply	other threads:[~2012-05-16  9:22 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-23 13:43 [PATCH 0/4] updated exynos-drm-next Inki Dae
2012-04-23 13:43 ` [PATCH 1/4] drm/exynos: added cache attribute support for gem Inki Dae
2012-04-23 13:43 ` [PATCH 2/4] drm/exynos: added drm prime feature Inki Dae
2012-04-23 13:43 ` [PATCH 3/4] drm/exynos: added userptr feature Inki Dae
2012-04-24  5:17   ` [PATCH v2 " Inki Dae
2012-04-25 10:15     ` Dave Airlie
2012-04-25 12:46       ` InKi Dae
2012-05-05 10:19       ` daeinki
2012-05-05 10:22         ` Dave Airlie
2012-05-07 18:18           ` Jerome Glisse
2012-05-08  7:59             ` Inki Dae
2012-05-08 15:05               ` Jerome Glisse
2012-05-08  6:48           ` Inki Dae
2012-05-09  6:17   ` [PATCH 0/2 v3] " Inki Dae
2012-05-09  6:17     ` [PATCH 1/2 v3] drm/exynos: added userptr limit ioctl Inki Dae
2012-05-09  6:17     ` [PATCH 2/2 v3] drm/exynos: added userptr feature Inki Dae
2012-05-09 14:45       ` Jerome Glisse
2012-05-09 18:32         ` Jerome Glisse
2012-05-10  2:44           ` Inki Dae
2012-05-10 15:05             ` Jerome Glisse
2012-05-10 15:31               ` Daniel Vetter
2012-05-10 15:31                 ` Daniel Vetter
2012-05-10 15:52                 ` Jerome Glisse
2012-05-11  1:47                   ` Inki Dae
2012-05-11  2:08                     ` Minchan Kim
2012-05-10  1:39         ` Inki Dae
2012-05-10  4:58           ` Minchan Kim
2012-05-10  6:53             ` KOSAKI Motohiro
2012-05-10  7:27               ` Minchan Kim
2012-05-10  7:31                 ` Kyungmin Park
2012-05-10  7:56                   ` Minchan Kim
2012-05-10  7:58                     ` Minchan Kim
2012-05-10  6:57             ` Inki Dae
2012-05-10  7:05               ` Minchan Kim
2012-05-10  7:59                 ` InKi Dae
2012-05-10  8:11                   ` Minchan Kim
2012-05-10  8:44                     ` Inki Dae
2012-05-10 17:53                       ` KOSAKI Motohiro
2012-05-11  0:50                         ` Minchan Kim
2012-05-11  2:51                           ` KOSAKI Motohiro
2012-05-11  3:01                             ` Jerome Glisse
2012-05-11 21:20                               ` KOSAKI Motohiro
2012-05-11 22:22                                 ` Jerome Glisse
2012-05-11 22:59                                   ` KOSAKI Motohiro
2012-05-11 22:59                                     ` KOSAKI Motohiro
2012-05-11 23:29                                     ` Jerome Glisse
2012-05-11 23:39                                       ` KOSAKI Motohiro
2012-05-12  4:48                                         ` InKi Dae
2012-05-14  4:29                                           ` Minchan Kim
2012-05-14  4:29                                             ` Minchan Kim
2012-05-14  6:17     ` [PATCH 0/2 v4] " Inki Dae
2012-05-14  6:17       ` [PATCH 1/2 v4] drm/exynos: added userptr limit ioctl Inki Dae
2012-05-14  8:12         ` Inki Dae
2012-05-14  6:17       ` [PATCH 2/2 v4] drm/exynos: added userptr feature Inki Dae
2012-05-14  6:33         ` KOSAKI Motohiro
2012-05-14  6:52           ` Inki Dae
2012-05-14  7:04             ` KOSAKI Motohiro
2012-05-14  7:21               ` Inki Dae
2012-05-14  8:13               ` Inki Dae
2012-05-14 19:26         ` Jerome Glisse
2012-05-15  4:33           ` Inki Dae
2012-05-15 14:31             ` Jerome Glisse
2012-05-16  8:49               ` Inki Dae
2012-05-14  8:12       ` [PATCH 0/2 " Inki Dae
2012-05-15  7:34   ` [PATCH 3/4] " Rob Clark
2012-05-15  8:17     ` Inki Dae
2012-05-15  9:35       ` Rob Clark
2012-05-15 13:40         ` InKi Dae
2012-05-15 14:28           ` Rob Clark
2012-05-16  6:04             ` Inki Dae
2012-05-16  8:42               ` Rob Clark
2012-05-16 10:30                 ` Inki Dae
2012-05-16  9:22     ` Dave Airlie [this message]
2012-05-16 10:20       ` Inki Dae
2012-05-16 12:12         ` Rob Clark
2012-05-16 13:27           ` Inki Dae
2012-04-23 13:43 ` [PATCH 4/4] drm/exynos: added a feature to get gem buffer information Inki Dae

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='CAPM=9tw86KzDvE76Fu2PHx=0v79FppxU2YfW7X+3rGpup51LFQ@mail.gmail.com' \
    --to=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=rob.clark@linaro.org \
    --cc=sw0312.kim@samsung.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.