[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <744b82a0-bc81-06ee-307b-52ffda705e2c@gmail.com>
Date: Wed, 16 Jan 2019 11:40:48 +0100
From: Christian König <ckoenig.leichtzumerken@...il.com>
To: Jason Gunthorpe <jgg@...pe.ca>,
Thomas Hellstrom <thellstrom@...are.com>
Cc: "syeh@...are.com" <syeh@...are.com>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"daniel.vetter@...ll.ch" <daniel.vetter@...ll.ch>,
"jian.xu.zheng@...el.com" <jian.xu.zheng@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"sakari.ailus@...ux.intel.com" <sakari.ailus@...ux.intel.com>,
"bingbu.cao@...el.com" <bingbu.cao@...el.com>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"shiraz.saleem@...el.com" <shiraz.saleem@...el.com>,
"hch@....de" <hch@....de>,
"tian.shu.qiu@...el.com" <tian.shu.qiu@...el.com>,
"yong.zhi@...el.com" <yong.zhi@...el.com>
Subject: Re: [PATCH] lib/scatterlist: Provide a DMA page iterator
Am 15.01.19 um 22:25 schrieb Jason Gunthorpe:
> 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..
Oh, yes really good point. We have to support get_user_pages (or HMM) in
a similar manner on GPUs as well.
Regards,
Christian.
>
> Jason
> _______________________________________________
> dri-devel mailing list
> dri-devel@...ts.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Powered by blists - more mailing lists