From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC v2 1/8] dma-buf/fence: add fence_collection fences Date: Wed, 27 Apr 2016 08:36:43 +0200 Message-ID: <20160427063643.GG2558@phenom.ffwll.local> References: <1461623608-29538-1-git-send-email-gustavo@padovan.org> <1461623608-29538-2-git-send-email-gustavo@padovan.org> <20160426144102.GX8291@phenom.ffwll.local> <20160426150208.GJ7857@joana> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) by gabe.freedesktop.org (Postfix) with ESMTPS id 502A96E9C8 for ; Wed, 27 Apr 2016 06:36:48 +0000 (UTC) Received: by mail-wm0-x229.google.com with SMTP id e201so24005733wme.0 for ; Tue, 26 Apr 2016 23:36:48 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160426150208.GJ7857@joana> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan Cc: Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Riley Andrews , John Harrison List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMjYsIDIwMTYgYXQgMTI6MDI6MDhQTSAtMDMwMCwgR3VzdGF2byBQYWRvdmFu IHdyb3RlOgo+IDIwMTYtMDQtMjYgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPjoKPiAK PiA+IE9uIE1vbiwgQXByIDI1LCAyMDE2IGF0IDA3OjMzOjIxUE0gLTAzMDAsIEd1c3Rhdm8gUGFk b3ZhbiB3cm90ZToKPiA+ID4gRnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5A Y29sbGFib3JhLmNvLnVrPgo+ID4gPiAKPiA+ID4gc3RydWN0IGZlbmNlX2NvbGxlY3Rpb24gaW5o ZXJpdHMgZnJvbSBzdHJ1Y3QgZmVuY2UgYW5kIGNhcnJpZXMgYQo+ID4gPiBjb2xsZWN0aW9uIG9m IGZlbmNlcyB0aGF0IG5lZWRzIHRvIGJlIHdhaXRlZCB0b2dldGhlci4KPiA+ID4gCj4gPiA+IEl0 IGlzIHVzZWZ1bCB0byB0cmFuc2xhdGUgYSBzeW5jX2ZpbGUgdG8gYSBmZW5jZSB0byByZW1vdmUg dGhlIGNvbXBsZXhpdHkKPiA+ID4gb2YgZGVhbGluZyB3aXRoIHN5bmNfZmlsZXMgb24gRFJNIGRy aXZlcnMuIFNvIGV2ZW4gaWYgdGhlcmUgYXJlIG1hbnkKPiA+ID4gZmVuY2VzIGluIHRoZSBzeW5j X2ZpbGUgdGhhdCBuZWVkcyB0byB3YWl0ZWQgZm9yIGEgY29tbWl0IHRvIGhhcHBlbiwKPiA+ID4g dGhleSBhbGwgZ2V0IGFkZGVkIHRvIHRoZSBmZW5jZV9jb2xsZWN0aW9uIGFuZCBwYXNzZWQgZm9y IERSTSB1c2UgYXMKPiA+ID4gYSBzdGFuZGFyZCBzdHJ1Y3QgZmVuY2UuCj4gPiA+IAo+ID4gPiBU aGF0IG1lYW5zIHRoYXQgbm8gY2hhbmdlcyBuZWVkZWQgdG8gYW55IGRyaXZlciBiZXNpZGVzIHN1 cHBvcnRpbmcgZmVuY2VzLgo+ID4gPiAKPiA+ID4gZmVuY2VfY29sbGVjdGlvbidzIGZlbmNlIGRv ZXNuJ3QgYmVsb25nIHRvIGFueSB0aW1lbGluZSBjb250ZXh0LCBzbwo+ID4gPiBmZW5jZV9pc19s YXRlcigpIGFuZCBmZW5jZV9sYXRlcigpIGFyZSBub3QgbWVhbnQgdG8gYmUgY2FsbGVkIHdpdGgK PiA+ID4gZmVuY2VfY29sbGVjdGlvbnMgZmVuY2VzLgo+ID4gPiAKPiA+ID4gdjI6IENvbW1lbnRz IGJ5IERhbmllbCBWZXR0ZXI6Cj4gPiA+IAktIG1lcmdlIGZlbmNlX2NvbGxlY3Rpb25faW5pdCgp IGFuZCBmZW5jZV9jb2xsZWN0aW9uX2FkZCgpCj4gPiA+IAktIG9ubHkgYWRkIGNhbGxiYWNrcyBh dCAtPmVuYWJsZV9zaWduYWxsaW5nKCkKPiA+ID4gCS0gcmVtb3ZlIGZlbmNlX2NvbGxlY3Rpb25f cHV0KCkKPiA+ID4gCS0gY2hlY2sgZm9yIHR5cGUgb24gdG9fZmVuY2VfY29sbGVjdGlvbigpCj4g PiA+IAktIGFkanVzdCBmZW5jZV9pc19sYXRlcigpIGFuZCBmZW5jZV9sYXRlcigpIHRvIFdBUk5f T04oKSBpZiB0aGV5Cj4gPiA+IAlhcmUgdXNlZCB3aXRoIGNvbGxlY3Rpb24gZmVuY2VzLgo+ID4g PiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5A Y29sbGFib3JhLmNvLnVrPgo+ID4gCj4gPiBGRU5DRV9OT19DT05URVhUIHNlbWFudGljcyBuZWVk cyBhbiBhY2sgZnJvbSBhbWRncHUgbWFpbnRhaW5lcnMuIEknbSBub3QKPiA+IGVudGlyZWx5IHN1 cmUgdGhleSBtaWdodCBub3QgaGl0IHRoZSBuZXcgV0FSTl9PTiBieSBhY2NpZGVudCBub3cuIFBs ZWFzZQo+ID4gY2MgQWxleCBEZXVjaGVyICYgQ2hyaXN0aWFuIEvDtm5pZy4KPiAKPiBTdXJlLCBJ J2xsIENjIHRoZW4gaW4gdGhlIHJldmlzaW9uLiBCdXQgaWYgdGhleSB1c2UKPiBmZW5jZV9jb250 ZXh0X2FsbG9jKCkgdG8gZ2V0IHRoZSBjb250ZXh0IHRoZXkgc2hvdWxkIG5ldmVyIGhpdCBhbnkK PiBXQVJOX09OIGFzIGNvbnRleHQgbnVtYmVycyBub3cgc3RhcnRzIGF0IDEuIDAgaXMgcmVzZXJ2 ZWQgZm9yCj4gRkVOQ0VfTk9fQ09OVEVYVC4KCkkgd2FzIG1vcmUgY29uY2VybmVkIHdoZXRoZXIg dGhlIGNvZGVwYXRocyBjb3VsZCBhY2NpZGVudGFsbHkgd2FsayBvdmVyCm5vbi1hbWRncHUgZmVu Y2VzICh0aHJvdWdoIHByaW1lIGJ1ZmZlciBzaGFyaW5nIGZvciBleGFtcGxlKS4gT3RvaCB0aGF0 CndvdWxkIGJlIGEgcHJlZXhpc3RpbmcgYnVnIEkgdGhpbmsgLi4uCi1EYW5pZWwKLS0gCkRhbmll bCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9n LmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753035AbcD0Ggu (ORCPT ); Wed, 27 Apr 2016 02:36:50 -0400 Received: from mail-wm0-f51.google.com ([74.125.82.51]:37273 "EHLO mail-wm0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752505AbcD0Ggs (ORCPT ); Wed, 27 Apr 2016 02:36:48 -0400 Date: Wed, 27 Apr 2016 08:36:43 +0200 From: Daniel Vetter To: Gustavo Padovan Cc: Gustavo Padovan , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Riley Andrews , Rob Clark , Greg Hackmann , John Harrison , Maarten Lankhorst , Sumit Semwal Subject: Re: [RFC v2 1/8] dma-buf/fence: add fence_collection fences Message-ID: <20160427063643.GG2558@phenom.ffwll.local> Mail-Followup-To: Gustavo Padovan , Gustavo Padovan , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Riley Andrews , Rob Clark , Greg Hackmann , John Harrison , Maarten Lankhorst , Sumit Semwal References: <1461623608-29538-1-git-send-email-gustavo@padovan.org> <1461623608-29538-2-git-send-email-gustavo@padovan.org> <20160426144102.GX8291@phenom.ffwll.local> <20160426150208.GJ7857@joana> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160426150208.GJ7857@joana> X-Operating-System: Linux phenom 4.6.0-rc5+ User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 26, 2016 at 12:02:08PM -0300, Gustavo Padovan wrote: > 2016-04-26 Daniel Vetter : > > > On Mon, Apr 25, 2016 at 07:33:21PM -0300, Gustavo Padovan wrote: > > > 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. > > > > > > Signed-off-by: Gustavo Padovan > > > > FENCE_NO_CONTEXT semantics needs an ack from amdgpu maintainers. I'm not > > entirely sure they might not hit the new WARN_ON by accident now. Please > > cc Alex Deucher & Christian König. > > Sure, I'll Cc then in the revision. But if they use > fence_context_alloc() to get the context they should never hit any > WARN_ON as context numbers now starts at 1. 0 is reserved for > FENCE_NO_CONTEXT. I was more concerned whether the codepaths could accidentally walk over non-amdgpu fences (through prime buffer sharing for example). Otoh that would be a preexisting bug I think ... -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch