From: Thomas Hellstrom <thellstrom@vmware.com>
To: "hch@lst.de" <hch@lst.de>,
"christian.koenig@amd.com" <christian.koenig@amd.com>
Cc: "linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
"daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
"jian.xu.zheng@intel.com" <jian.xu.zheng@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>, "jgg@ziepe.ca" <jgg@ziepe.ca>,
"sakari.ailus@linux.intel.com" <sakari.ailus@linux.intel.com>,
"bingbu.cao@intel.com" <bingbu.cao@intel.com>,
"yong.zhi@intel.com" <yong.zhi@intel.com>,
"shiraz.saleem@intel.com" <shiraz.saleem@intel.com>,
"tian.shu.qiu@intel.com" <tian.shu.qiu@intel.com>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [PATCH] lib/scatterlist: Provide a DMA page iterator
Date: Tue, 15 Jan 2019 18:03:39 +0000 [thread overview]
Message-ID: <41d0616e95fb48942404fb54d82249f5700affb1.camel@vmware.com> (raw)
In-Reply-To: <20190115152029.GB2325@lst.de>
On Tue, 2019-01-15 at 16:20 +0100, hch@lst.de wrote:
> On Tue, Jan 15, 2019 at 03:24:55PM +0100, Christian König wrote:
> > Yeah, indeed. Bounce buffers are an absolute no-go for GPUs.
> >
> > If the DMA API finds that a piece of memory is not directly
> > accessible by
> > the GPU we need to return an error and not try to use bounce
> > buffers behind
> > the surface.
> >
> > That is something which always annoyed me with the DMA API, which
> > is
> > otherwise rather cleanly defined.
>
> That is exactly what I want to fix with my series to make
> DMA_ATTR_NON_CONSISTENT more useful and always available:
>
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.linuxfoundation.org%2Fpipermail%2Fiommu%2F2018-December%2F031985.html&data=02%7C01%7Cthellstrom%40vmware.com%7Cb1799c4073024a824f9408d67afcfcea%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636831624340834140&sdata=JiRBfzZMvN3joJ4vKiErbzXAHaNzuBcLapRJDL%2Bt6Hc%3D&reserved=0
>
> With that you allocate the memory using dma_alloc_attrs with
> DMA_ATTR_NON_CONSISTENT, and use dma_sync_single_* to transfer
> ownership to the cpu and back to the device, with a gurantee that
> there won't be any bouncing. So far the interest by the parties that
> requested the feature has been rather lacklustre, though.
In the graphics case, it's probably because it doesn't fit the graphics
use-cases:
1) Memory typically needs to be mappable by another device. (the "dma-
buf" interface)
2) DMA buffers are exported to user-space and is sub-allocated by it.
Mostly there are no GPU user-space kernel interfaces to sync / flush
subregions and these syncs may happen on a smaller-than-cache-line
granularity.
So to help the graphics driver, that coherent flag would be much more
useful.
/Thomas
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-01-15 18:03 UTC|newest]
Thread overview: 31+ 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 [this message]
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
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-01-16 17:32 ` Shiraz Saleem
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=41d0616e95fb48942404fb54d82249f5700affb1.camel@vmware.com \
--to=thellstrom@vmware.com \
--cc=bingbu.cao@intel.com \
--cc=christian.koenig@amd.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@lst.de \
--cc=jgg@ziepe.ca \
--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=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