From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 4/8] dma-buf: add peer2peer flag Date: Thu, 19 Apr 2018 01:16:57 -0700 Message-ID: <20180419081657.GA16735@infradead.org> References: <20180325110000.2238-1-christian.koenig@amd.com> <20180325110000.2238-4-christian.koenig@amd.com> <20180329065753.GD3881@phenom.ffwll.local> <8b823458-8bdc-3217-572b-509a28aae742@gmail.com> <20180403090909.GN3881@phenom.ffwll.local> <20180403170645.GB5935@redhat.com> <20180403180832.GZ3881@phenom.ffwll.local> <20180416123937.GA9073@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: "moderated list:DMA BUFFER SHARING FRAMEWORK" , Linux Kernel Mailing List , dri-devel , Christoph Hellwig , Jerome Glisse , amd-gfx list , Dan Williams , Logan Gunthorpe , Christian =?iso-8859-1?Q?K=F6nig?= , "open list:DMA BUFFER SHARING FRAMEWORK" List-Id: amd-gfx.lists.freedesktop.org T24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMDM6Mzg6NTZQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBXZSd2ZSBicm9rZW4gdGhhdCBhc3N1bXB0aW9uIGluIGk5MTUgeWVhcnMgYWdvLiBO b3Qgc3RydWN0IHBhZ2UgYmFja2VkCj4gZ3B1IG1lbW9yeSBpcyB2ZXJ5IHJlYWwuCj4gCj4gT2Yg Y291cnNlIHdlJ2xsIG5ldmVyIGZlZWQgc3VjaCBhIHN0cmFuZ2Ugc2cgdGFibGUgdG8gYSBkcml2 ZXIgd2hpY2gKPiBkb2Vzbid0IHVuZGVyc3RhbmQgaXQsIGJ1dCBhbGxvd2luZyBzZ19wYWdlID09 IE5VTEwgd29ya3MgcGVyZmVjdGx5Cj4gZmluZS4gQXQgbGVhc3QgZm9yIGdwdSBkcml2ZXJzLgoK Rm9yIEdQVSBkcml2ZXJzIG9uIHg4NiB3aXRoIG5vIGRtYSBjb2hlcmVuY3kgcHJvYmxlbXMsIHN1 cmUuICBCdXQgbm90CmFsbCB0aGUgd29ybGQgaXMgeDg2LiAgV2UgYWxyZWFkeSBoYXZlIHByb2Js ZW1zIGR1ZSB0byBkbWFidWdzIHVzZQpvZiB0aGUgYXdrd2FyZCBnZXRfc2d0YWJsZSBpbnRlcmZh Y2UgKHNlZSB0aGUgY29tbW9uIG9uCmFybV9kbWFfZ2V0X3NndGFibGUgdGhhdCBJIGZ1bGx5IGFn cmVlIHdpdGgpLCBhbmQgZG9pbmcgdGhpcyBmb3IgbWVtb3J5CnRoYXQgZG9lc24ndCBoYXZlIGEg c3RydWN0IHBhZ2UgYXQgYWxsIHdpbGwgbWFrZSB0aGluZ3MgZXZlbiB3b3JzZS4KCj4gSWYgdGhh dCdzIG5vdCBhY2NlcHRhYmxlIHRoZW4gSSBndWVzcyB3ZSBjb3VsZCBnbyBvdmVyIHRoZSBlbnRp cmUgdHJlZQo+IGFuZCBmcm9iIGFsbCB0aGUgZ3B1IHJlbGF0ZWQgY29kZSB0byBzd2l0Y2ggb3Zl ciB0byBhIG5ldyBzdHJ1Y3QKPiBzZ190YWJsZV9taWdodF9ub3RfYmVfc3RydWN0X3BhZ2VfYmFj a2VkLCBpbmNsdWRpbmcgYWxsIHRoZSBvdGhlcgo+IGZ1bmN0aW9ucyB3ZSBhZGRlZCBvdmVyIHRo ZSBwYXN0IGZldyB5ZWFycyB0byBpdGVyYXRlIG92ZXIgc2cgdGFibGVzLgo+IEJ1dCBzZWVtcyBz bGlnaHRseSBzaWxseSwgZ2l2ZW4gdGhhdCBzZyB0YWJsZXMgc2VlbSB0byBkbyBleGFjdGx5IHdo YXQKPiB3ZSBuZWVkLgoKSXQgaXNuJ3Qgc2lsbHkuICBXZSB3aWxsIGhhdmUgdG8gZG8gc29tZSBz dXJnZXJ5IGxpa2UgdGhhdCBhbnl3YXkKYmVjYXVzZSB0aGUgY3VycmVudCBBUElzIGRvbid0IHdv cmsuICBTbyByZWxheCwgc2l0IGJhY2sgYW5kIGNvbWUgdXAKd2l0aCBhbiBBUEkgdGhhdCBzb2x2 ZXMgdGhlIGV4aXN0aW5nIGlzc3VlcyBhbmQgc2VydmVzIHVzIHdlbGwgaW4KdGhlIGZ1dHVyZS4K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from bombadil.infradead.org ([198.137.202.133]:59916 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750972AbeDSIRD (ORCPT ); Thu, 19 Apr 2018 04:17:03 -0400 Date: Thu, 19 Apr 2018 01:16:57 -0700 From: Christoph Hellwig To: Daniel Vetter Cc: Christoph Hellwig , Jerome Glisse , Christian =?iso-8859-1?Q?K=F6nig?= , "moderated list:DMA BUFFER SHARING FRAMEWORK" , "open list:DMA BUFFER SHARING FRAMEWORK" , dri-devel , amd-gfx list , Linux Kernel Mailing List , Logan Gunthorpe , Dan Williams Subject: Re: [PATCH 4/8] dma-buf: add peer2peer flag Message-ID: <20180419081657.GA16735@infradead.org> References: <20180325110000.2238-1-christian.koenig@amd.com> <20180325110000.2238-4-christian.koenig@amd.com> <20180329065753.GD3881@phenom.ffwll.local> <8b823458-8bdc-3217-572b-509a28aae742@gmail.com> <20180403090909.GN3881@phenom.ffwll.local> <20180403170645.GB5935@redhat.com> <20180403180832.GZ3881@phenom.ffwll.local> <20180416123937.GA9073@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-media-owner@vger.kernel.org List-ID: On Mon, Apr 16, 2018 at 03:38:56PM +0200, Daniel Vetter wrote: > We've broken that assumption in i915 years ago. Not struct page backed > gpu memory is very real. > > Of course we'll never feed such a strange sg table to a driver which > doesn't understand it, but allowing sg_page == NULL works perfectly > fine. At least for gpu drivers. For GPU drivers on x86 with no dma coherency problems, sure. But not all the world is x86. We already have problems due to dmabugs use of the awkward get_sgtable interface (see the common on arm_dma_get_sgtable that I fully agree with), and doing this for memory that doesn't have a struct page at all will make things even worse. > If that's not acceptable then I guess we could go over the entire tree > and frob all the gpu related code to switch over to a new struct > sg_table_might_not_be_struct_page_backed, including all the other > functions we added over the past few years to iterate over sg tables. > But seems slightly silly, given that sg tables seem to do exactly what > we need. It isn't silly. We will have to do some surgery like that anyway because the current APIs don't work. So relax, sit back and come up with an API that solves the existing issues and serves us well in the future.