From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 02/11] dma-buf/fence: add fence_array fences v6 Date: Thu, 2 Jun 2016 00:44:50 +0200 Message-ID: <20160601224450.GD7231@phenom.ffwll.local> References: <1464786612-5010-1-git-send-email-deathsimple@vodafone.de> <1464786612-5010-3-git-send-email-deathsimple@vodafone.de> <20160601152519.GF11486@joana> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B7E86EA8D for ; Wed, 1 Jun 2016 22:44:55 +0000 (UTC) Received: by mail-wm0-x22b.google.com with SMTP id a136so203954437wme.0 for ; Wed, 01 Jun 2016 15:44:54 -0700 (PDT) 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: Sumit Semwal Cc: LKML , DRI mailing list List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdW4gMDEsIDIwMTYgYXQgMDk6NTQ6MDRQTSArMDUzMCwgU3VtaXQgU2Vtd2FsIHdy b3RlOgo+IEhpIENocmlzdGlhbiwgR3VzdGF2bywKPiAKPiBUaGFua3MgZm9yIHRoZXNlIHBhdGNo ZXMuCj4gCj4gT24gMSBKdW5lIDIwMTYgYXQgMjA6NTUsIEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2 b0BwYWRvdmFuLm9yZz4gd3JvdGU6Cj4gPiAyMDE2LTA2LTAxIENocmlzdGlhbiBLw7ZuaWcgPGRl YXRoc2ltcGxlQHZvZGFmb25lLmRlPjoKPiA+Cj4gPj4gRnJvbTogR3VzdGF2byBQYWRvdmFuIDxn dXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+ID4+Cj4gPj4gc3RydWN0IGZlbmNlX2Nv bGxlY3Rpb24gaW5oZXJpdHMgZnJvbSBzdHJ1Y3QgZmVuY2UgYW5kIGNhcnJpZXMgYQo+ID4+IGNv bGxlY3Rpb24gb2YgZmVuY2VzIHRoYXQgbmVlZHMgdG8gYmUgd2FpdGVkIHRvZ2V0aGVyLgo+ID4+ Cj4gPj4gSXQgaXMgdXNlZnVsIHRvIHRyYW5zbGF0ZSBhIHN5bmNfZmlsZSB0byBhIGZlbmNlIHRv IHJlbW92ZSB0aGUgY29tcGxleGl0eQo+ID4+IG9mIGRlYWxpbmcgd2l0aCBzeW5jX2ZpbGVzIG9u IERSTSBkcml2ZXJzLiBTbyBldmVuIGlmIHRoZXJlIGFyZSBtYW55Cj4gPj4gZmVuY2VzIGluIHRo ZSBzeW5jX2ZpbGUgdGhhdCBuZWVkcyB0byB3YWl0ZWQgZm9yIGEgY29tbWl0IHRvIGhhcHBlbiwK PiA+PiB0aGV5IGFsbCBnZXQgYWRkZWQgdG8gdGhlIGZlbmNlX2NvbGxlY3Rpb24gYW5kIHBhc3Nl ZCBmb3IgRFJNIHVzZSBhcwo+ID4+IGEgc3RhbmRhcmQgc3RydWN0IGZlbmNlLgo+ID4+Cj4gPj4g VGhhdCBtZWFucyB0aGF0IG5vIGNoYW5nZXMgbmVlZGVkIHRvIGFueSBkcml2ZXIgYmVzaWRlcyBz dXBwb3J0aW5nIGZlbmNlcy4KPiA+Pgo+ID4+IGZlbmNlX2NvbGxlY3Rpb24ncyBmZW5jZSBkb2Vz bid0IGJlbG9uZyB0byBhbnkgdGltZWxpbmUgY29udGV4dCwgc28KPiA+PiBmZW5jZV9pc19sYXRl cigpIGFuZCBmZW5jZV9sYXRlcigpIGFyZSBub3QgbWVhbnQgdG8gYmUgY2FsbGVkIHdpdGgKPiA+ PiBmZW5jZV9jb2xsZWN0aW9ucyBmZW5jZXMuCj4gPj4KPiA+PiB2MjogQ29tbWVudHMgYnkgRGFu aWVsIFZldHRlcjoKPiA+PiAgICAgICAtIG1lcmdlIGZlbmNlX2NvbGxlY3Rpb25faW5pdCgpIGFu ZCBmZW5jZV9jb2xsZWN0aW9uX2FkZCgpCj4gPj4gICAgICAgLSBvbmx5IGFkZCBjYWxsYmFja3Mg YXQgLT5lbmFibGVfc2lnbmFsbGluZygpCj4gPj4gICAgICAgLSByZW1vdmUgZmVuY2VfY29sbGVj dGlvbl9wdXQoKQo+ID4+ICAgICAgIC0gY2hlY2sgZm9yIHR5cGUgb24gdG9fZmVuY2VfY29sbGVj dGlvbigpCj4gPj4gICAgICAgLSBhZGp1c3QgZmVuY2VfaXNfbGF0ZXIoKSBhbmQgZmVuY2VfbGF0 ZXIoKSB0byBXQVJOX09OKCkgaWYgdGhleQo+ID4+ICAgICAgIGFyZSB1c2VkIHdpdGggY29sbGVj dGlvbiBmZW5jZXMuCj4gPj4KPiA+PiB2MzogLSBJbml0aWFsaXplIGZlbmNlX2NiLm5vZGUgYXQg ZmVuY2UgaW5pdC4KPiA+Pgo+ID4+ICAgICBDb21tZW50cyBieSBDaHJpcyBXaWxzb246Cj4gPj4g ICAgICAgLSByZXR1cm4gInVuYm91bmQiIG9uIGZlbmNlX2NvbGxlY3Rpb25fZ2V0X3RpbWVsaW5l X25hbWUoKQo+ID4+ICAgICAgIC0gZG9uJ3Qgc3RvcCBhZGRpbmcgY2FsbGJhY2tzIGlmIG9uZSBm YWlscwo+ID4+ICAgICAgIC0gcmVtb3ZlIHJlZHVuZGFudCAhISBvbiBmZW5jZV9jb2xsZWN0aW9u X2VuYWJsZV9zaWduYWxpbmcoKQo+ID4+ICAgICAgIC0gcmVtb3ZlIHJlZHVuZGFudCAoKSBvbiBm ZW5jZV9jb2xsZWN0aW9uX3NpZ25hbGVkCj4gPj4gICAgICAgLSB1c2UgZmVuY2VfZGVmYXVsdF93 YWl0KCkgaW5zdGVhZAo+ID4+Cj4gPj4gdjQgKGNoayk6IFJld29yaywgc2ltcGxpZmljYXRpb24g YW5kIGNsZWFudXA6Cj4gPj4gICAgICAgLSBEcm9wIEZFTkNFX05PX0NPTlRFWFQgaGFuZGxpbmcs IGFsd2F5cyBhbGxvY2F0ZSBhIGNvbnRleHQuCj4gPj4gICAgICAgLSBSZW5hbWUgdG8gZmVuY2Vf YXJyYXkuCj4gPj4gICAgICAgLSBSZXR1cm4gZml4ZWQgZHJpdmVyIG5hbWUuCj4gPj4gICAgICAg LSBSZWdpc3RlciBvbmx5IG9uZSBjYWxsYmFjayBhdCBhIHRpbWUuCj4gPj4gICAgICAgLSBEb2N1 bWVudCB0aGF0IGNyZWF0ZSBmdW5jdGlvbiB0YWtlcyBvd25lcnNoaXAgb2YgYXJyYXkuCj4gPj4K PiA+PiB2NSAoY2hrKTogTW9yZSB3b3JrIGFuZCBmaXhlczoKPiA+PiAgICAgICAtIEF2b2lkIGRl YWRsb2NrcyBieSBhZGRpbmcgYWxsIGNhbGxiYWNrcyBhdCBvbmNlIGFnYWluLgo+ID4+ICAgICAg IC0gU3RvcCB0cnlpbmcgdG8gcmVtb3ZlIHRoZSBjYWxsYmFja3MuCj4gPj4gICAgICAgLSBQcm92 aWRlIGNvbnRleHQgYW5kIHNlcXVlbmNlIG51bWJlciBmb3IgdGhlIGFycmF5IGZlbmNlLgo+ID4+ Cj4gPj4gdjYgKGNoayk6IEZpeGVzIGZvdW5kIGR1cmluZyB0ZXN0aW5nCj4gPj4gICAgICAgLSBG aXggc3R1cGlkIHR5cG8gaW4gX2VuYWJsZV9zaWduYWxpbmcoKS4KPiA+Pgo+ID4+IFNpZ25lZC1v ZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4K PiA+PiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZG1hLWJ1Zi9NYWtlZmlsZSAgICAgIHwgICAy ICstCj4gPj4gIGRyaXZlcnMvZG1hLWJ1Zi9mZW5jZS1hcnJheS5jIHwgMTI3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICBpbmNsdWRlL2xpbnV4L2ZlbmNl LWFycmF5LmggICB8ICA3MiArKysrKysrKysrKysrKysrKysrKysrKysKPiA+PiAgMyBmaWxlcyBj aGFuZ2VkLCAyMDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKPiA+PiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGluY2x1ZGUvbGludXgvZmVuY2UtYXJyYXkuaAo+ID4KPiA+IFRoaXMgaXMgd29ya2lu ZyBmaW5lIHRvIG1lLiBPbmNlIHRoZSBjb21taXQgbWVzc2FnZSBpcyBmaXhlZDoKPiA+Cj4gPiBS ZXZpZXdlZC1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNv LnVrPgo+ID4KPiA+IFlvdSBuZWVkIHRvIENjIFN1bWl0IGhlcmUgdG8gZGVjaWRlIHdobyBpcyBw aWNraW5nIHRoZXNlIHBhdGNoZXMuCj4gPiBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gZ2V0IHRoZW0g dGhyb3VnaCB0aGUgZHJtIHRyZWVzIHNvIHdlIHdvdWxkIG5lZWQKPiA+IGhpcyBBY2sgYXQgbGVh c3QuCj4gPgo+ICsxIG9uIHRoZSBjb21taXQgbWVzc2FnZSBjb25zaXN0ZW5jeSBjaGFuZ2U7IHBv c3QgdGhhdCwgcGxlYXNlIGZlZWwKPiBmcmVlIHRvIGFkZCBteQo+IEFja2VkLWJ5OiBTdW1pdCBT ZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgo+IAo+IGZvciB0aGUgMyBkbWEtYnVmL2Zl bmNlcyBwYXRjaGVzIGFuZCByZXF1ZXN0IHRvIHRha2UgdGhlbSB2aWEgRFJNIHRyZWUKPiBhcyBy aWdodGx5IHN1Z2dlc3RlZCBieSBHdXN0YXZvLgoKQ29tbWl0IG1lc3NhZ2UgaW1wcm92ZWQgYW5k IGFsbCAzIHF1ZXVlZCB1cCBmb3IgZHJtLW1pc2MuIEkgaGF2ZW4ndCBwdXNoZWQKb3V0IHRoZSBu ZXcgYnJhbmNoIHlldCB0aG91Z2gsIHNpbmNlIEknbSB3YWl0aW5nIGZvciBEYXZlIHRvIG9wZW4g ZHJtLW5leHQKYW5kIHB1bGwgaW4gYSBmZXcgb3RoZXIgYml0cyBmaXJzdCBzbyB0aGF0IEkgY2Fu IHJlYmFzZS4KClRoYW5rcywgRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2lu ZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751676AbcFAWo4 (ORCPT ); Wed, 1 Jun 2016 18:44:56 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:36435 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751010AbcFAWoy (ORCPT ); Wed, 1 Jun 2016 18:44:54 -0400 Date: Thu, 2 Jun 2016 00:44:50 +0200 From: Daniel Vetter To: Sumit Semwal Cc: Gustavo Padovan , Christian =?iso-8859-1?Q?K=F6nig?= , DRI mailing list , LKML , Daniel Vetter , Chris Wilson Subject: Re: [PATCH 02/11] dma-buf/fence: add fence_array fences v6 Message-ID: <20160601224450.GD7231@phenom.ffwll.local> Mail-Followup-To: Sumit Semwal , Gustavo Padovan , Christian =?iso-8859-1?Q?K=F6nig?= , DRI mailing list , LKML , Chris Wilson References: <1464786612-5010-1-git-send-email-deathsimple@vodafone.de> <1464786612-5010-3-git-send-email-deathsimple@vodafone.de> <20160601152519.GF11486@joana> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Operating-System: Linux phenom 4.6.0-rc5+ User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 01, 2016 at 09:54:04PM +0530, Sumit Semwal wrote: > Hi Christian, Gustavo, > > Thanks for these patches. > > On 1 June 2016 at 20:55, Gustavo Padovan wrote: > > 2016-06-01 Christian König : > > > >> From: Gustavo Padovan > >> > >> struct fence_collection inherits from struct fence and carries a > >> collection of fences that needs to be waited together. > >> > >> It is useful to translate a sync_file to a fence to remove the complexity > >> of dealing with sync_files on DRM drivers. So even if there are many > >> fences in the sync_file that needs to waited for a commit to happen, > >> they all get added to the fence_collection and passed for DRM use as > >> a standard struct fence. > >> > >> That means that no changes needed to any driver besides supporting fences. > >> > >> fence_collection's fence doesn't belong to any timeline context, so > >> fence_is_later() and fence_later() are not meant to be called with > >> fence_collections fences. > >> > >> v2: Comments by Daniel Vetter: > >> - merge fence_collection_init() and fence_collection_add() > >> - only add callbacks at ->enable_signalling() > >> - remove fence_collection_put() > >> - check for type on to_fence_collection() > >> - adjust fence_is_later() and fence_later() to WARN_ON() if they > >> are used with collection fences. > >> > >> v3: - Initialize fence_cb.node at fence init. > >> > >> Comments by Chris Wilson: > >> - return "unbound" on fence_collection_get_timeline_name() > >> - don't stop adding callbacks if one fails > >> - remove redundant !! on fence_collection_enable_signaling() > >> - remove redundant () on fence_collection_signaled > >> - use fence_default_wait() instead > >> > >> v4 (chk): Rework, simplification and cleanup: > >> - Drop FENCE_NO_CONTEXT handling, always allocate a context. > >> - Rename to fence_array. > >> - Return fixed driver name. > >> - Register only one callback at a time. > >> - Document that create function takes ownership of array. > >> > >> v5 (chk): More work and fixes: > >> - Avoid deadlocks by adding all callbacks at once again. > >> - Stop trying to remove the callbacks. > >> - Provide context and sequence number for the array fence. > >> > >> v6 (chk): Fixes found during testing > >> - Fix stupid typo in _enable_signaling(). > >> > >> Signed-off-by: Gustavo Padovan > >> Signed-off-by: Christian König > >> --- > >> drivers/dma-buf/Makefile | 2 +- > >> drivers/dma-buf/fence-array.c | 127 ++++++++++++++++++++++++++++++++++++++++++ > >> include/linux/fence-array.h | 72 ++++++++++++++++++++++++ > >> 3 files changed, 200 insertions(+), 1 deletion(-) > >> create mode 100644 drivers/dma-buf/fence-array.c > >> create mode 100644 include/linux/fence-array.h > > > > This is working fine to me. Once the commit message is fixed: > > > > Reviewed-by: Gustavo Padovan > > > > You need to Cc Sumit here to decide who is picking these patches. > > It would be better to get them through the drm trees so we would need > > his Ack at least. > > > +1 on the commit message consistency change; post that, please feel > free to add my > Acked-by: Sumit Semwal > > for the 3 dma-buf/fences patches and request to take them via DRM tree > as rightly suggested by Gustavo. Commit message improved and all 3 queued up for drm-misc. I haven't pushed out the new branch yet though, since I'm waiting for Dave to open drm-next and pull in a few other bits first so that I can rebase. Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch