linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Thomas Hellstrom <thellstrom@vmware.com>
Cc: "hch@lst.de" <hch@lst.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"yong.zhi@intel.com" <yong.zhi@intel.com>,
	"daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"syeh@vmware.com" <syeh@vmware.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"bingbu.cao@intel.com" <bingbu.cao@intel.com>,
	"imre.deak@intel.com" <imre.deak@intel.com>,
	"tian.shu.qiu@intel.com" <tian.shu.qiu@intel.com>,
	"jian.xu.zheng@intel.com" <jian.xu.zheng@intel.com>,
	"shiraz.saleem@intel.com" <shiraz.saleem@intel.com>,
	"sakari.ailus@linux.intel.com" <sakari.ailus@linux.intel.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] lib/scatterlist: Provide a DMA page iterator
Date: Tue, 15 Jan 2019 14:25:01 -0700	[thread overview]
Message-ID: <20190115212501.GE22045@ziepe.ca> (raw)
In-Reply-To: <1fb20ab4b171b281e9994b6c55734c120958530b.camel@vmware.com>

On Tue, Jan 15, 2019 at 02:17:26PM +0000, Thomas Hellstrom wrote:
> Hi, Christoph,
> 
> On Mon, 2019-01-14 at 10:48 +0100, Christoph Hellwig wrote:
> > On Thu, Jan 10, 2019 at 04:42:18PM -0700, Jason Gunthorpe wrote:
> > > > Changes since the RFC:
> > > > - Rework vmwgfx too [CH]
> > > > - Use a distinct type for the DMA page iterator [CH]
> > > > - Do not have a #ifdef [CH]
> > > 
> > > ChristophH: Will you ack?
> > 
> > This looks generally fine.
> > 
> > > Are you still OK with the vmwgfx reworking, or should we go back to
> > > the original version that didn't have the type safety so this
> > > driver
> > > can be left broken?
> > 
> > I think the map method in vmgfx that just does virt_to_phys is
> > pretty broken.  Thomas, can you check if you see any performance
> > difference with just doing the proper dma mapping, as that gets the
> > driver out of interface abuse land?
> 
> The performance difference is not really the main problem here. The
> problem is that even though we utilize the streaming DMA interface, we
> use it only since we have to for DMA-Remapping and assume that the
> memory is coherent. To be able to be as compliant as possible and ditch
> the virt-to-phys mode, we *need* a DMA interface flag that tells us
> when the dma_sync_for_xxx are no-ops. If they aren't we'll refuse to
> load for now. I'm not sure, but I think also nouveau and radeon suffer
> from the same issue.

RDMA needs something similar as well, in this case drivers take a
struct page * from get_user_pages() and need to have the DMA map fail
if the platform can't DMA map in a way that does not require any
additional DMA API calls to ensure coherence. (think Userspace RDMA
MR's)

Today we just do the normal DMA map and when it randomly doesn't work
and corrupts data tell those people their platforms don't support RDMA
- it would be nice to have a safer API base solution..

Jason

  parent reply	other threads:[~2019-01-15 21:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-04 22:35 [PATCH] lib/scatterlist: Provide a DMA page iterator Jason Gunthorpe
2019-01-05  2:37 ` kbuild test robot
2019-01-05  3:21   ` Jason Gunthorpe
2019-01-10 23:42 ` Jason Gunthorpe
2019-01-14  9:48   ` Christoph Hellwig
2019-01-15 14:17     ` Thomas Hellstrom
2019-01-15 14:24       ` Christian König
2019-01-15 15:20         ` hch
2019-01-15 18:03           ` Thomas Hellstrom
2019-01-15 18:31             ` hch
2019-01-15 19:13               ` Koenig, Christian
2019-01-15 20:58                 ` hch
2019-01-16  7:09                   ` Thomas Hellstrom
2019-01-16  7:28                     ` Koenig, Christian
2019-01-16 10:14                       ` Daniel Vetter
2019-01-16 16:06                       ` hch
2019-01-16 16:36                         ` Daniel Stone
2019-01-15 21:25       ` Jason Gunthorpe [this message]
2019-01-16 10:40         ` Christian König
2019-01-16 16:11         ` hch
2019-01-16 17:24           ` Jason Gunthorpe
2019-01-17  9:30             ` hch
2019-01-17 10:47               ` Thomas Hellstrom
2019-01-17 15:54               ` Jason Gunthorpe
2019-01-12 18:27 ` Shiraz Saleem
2019-01-12 18:37   ` Jason Gunthorpe
2019-01-12 19:03     ` Shiraz Saleem
2019-01-14  9:46       ` Christoph Hellwig
2019-01-14 22:16       ` Jason Gunthorpe
2019-02-07 23:23 ` Sakari Ailus

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=20190115212501.GE22045@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=bingbu.cao@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@lst.de \
    --cc=imre.deak@intel.com \
    --cc=jian.xu.zheng@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shiraz.saleem@intel.com \
    --cc=syeh@vmware.com \
    --cc=thellstrom@vmware.com \
    --cc=tian.shu.qiu@intel.com \
    --cc=yong.zhi@intel.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 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).