linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: "Christian König" <christian.koenig@amd.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"moderated list:DMA BUFFER SHARING FRAMEWORK"
	<linaro-mm-sig@lists.linaro.org>, "Linux MM" <linux-mm@kvack.org>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"open list:DMA BUFFER SHARING FRAMEWORK"
	<linux-media@vger.kernel.org>
Subject: Re: [Linaro-mm-sig] Changing vma->vm_file in dma_buf_mmap()
Date: Thu, 17 Sep 2020 19:23:03 +0200	[thread overview]
Message-ID: <CAKMK7uHrQ13-0oxTGZERQeoJ7jQES9jeDf0FhY3qW-NHdZvZ4w@mail.gmail.com> (raw)
In-Reply-To: <20200917163907.GI8409@ziepe.ca>

On Thu, Sep 17, 2020 at 6:39 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Thu, Sep 17, 2020 at 06:06:14PM +0200, Christian König wrote:
> > > > If it is already taking a page fault I'm not sure the extra function
> > > > call indirection is going to be a big deal. Having a uniform VMA
> > > > sounds saner than every driver custom rolling something.
> > > >
> > > > When I unwound a similar mess in RDMA all the custom VMA stuff in the
> > > > drivers turned out to be generally buggy, at least.
> > > >
> > > > Is vma->vm_file->private_data universally a dma_buf pointer at least?
> > > Nope. I think if you want this without some large scale rewrite of a
> > > lot of code we'd need a vmops->get_dmabuf or similar. Not pretty, but
> > > would get the job done.
> >
> > Yeah, agree that sounds like the simplest approach.
>
> I don't think that will fly, it is clearly only papering over a mess
> inside DRM/dma buf :\

dma-buf started out as something to paper over the disjoint mess of
allocators, since it was pretty clear to anyone involved we're not
going to unify them anytime soon, if ever. So the mess pretty much is
bound to stay.

I think most reasonable thing would be to throw a common vmops in
there somehow, but even that means some large scale surgery across
every driver/subsystem involved in dma-buf. It wouldn't unify
anything, all it would give you is a constant vma->vm_ops to do some
kind of upcasting. And that would still only give you a slightly less
opaque pointer with a callback to upcast to a dma-buf in some
driver/subsystem specific way.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

      reply	other threads:[~2020-09-17 17:24 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14 13:29 Changing vma->vm_file in dma_buf_mmap() Christian König
2020-09-14 13:29 ` [PATCH 1/2] drm/shmem-helpers: revert "Redirect mmap for imported dma-buf" Christian König
2020-09-15 10:39   ` Daniel Vetter
2020-09-15 11:03     ` Christian König
2020-09-15 11:07       ` Daniel Vetter
2020-09-14 13:29 ` [PATCH 2/2] mm: introduce vma_set_file function Christian König
2020-09-15  9:19   ` kernel test robot
2020-09-15 11:57   ` kernel test robot
2020-09-14 13:30 ` Changing vma->vm_file in dma_buf_mmap() Christian König
2020-09-14 14:06   ` Jason Gunthorpe
2020-09-14 18:26     ` Christian König
2020-09-16  9:53       ` Daniel Vetter
     [not found]         ` <fc8f2af7-9fc2-cb55-3065-75a4060b7c82@amd.com>
     [not found]           ` <b621db68-30b9-cc3f-c2c0-237a7fe4db09@amd.com>
2020-09-16 12:41             ` Daniel Vetter
2020-09-16 14:07         ` Jason Gunthorpe
2020-09-16 14:14           ` Christian König
2020-09-16 15:24             ` Daniel Vetter
2020-09-16 15:31               ` [Linaro-mm-sig] " Christian König
2020-09-17  6:23                 ` Daniel Vetter
2020-09-17  7:11                   ` Christian König
2020-09-17  8:09                     ` Daniel Vetter
2020-09-17 11:31                       ` Jason Gunthorpe
2020-09-17 12:03                         ` Christian König
2020-09-17 12:18                           ` Jason Gunthorpe
2020-09-17 12:24                             ` Christian König
2020-09-17 12:26                               ` Daniel Vetter
2020-09-17 14:35                               ` Jason Gunthorpe
2020-09-17 14:54                                 ` Christian König
2020-09-17 15:24                                   ` Jason Gunthorpe
2020-09-17 15:37                                     ` Daniel Vetter
2020-09-17 16:06                                       ` Christian König
2020-09-17 16:39                                         ` Jason Gunthorpe
2020-09-17 17:23                                           ` Daniel Vetter [this message]

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=CAKMK7uHrQ13-0oxTGZERQeoJ7jQES9jeDf0FhY3qW-NHdZvZ4w@mail.gmail.com \
    --to=daniel@ffwll.ch \
    --cc=akpm@linux-foundation.org \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jgg@ziepe.ca \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.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).