From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [RFC 0/6] drm/fences: add in-fences to DRM Date: Thu, 24 Mar 2016 08:20:45 +0100 Message-ID: <56F3954D.8000308@linux.intel.com> References: <1458758847-21170-1-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F2876E44F for ; Thu, 24 Mar 2016 07:20:49 +0000 (UTC) In-Reply-To: <1458758847-21170-1-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan , dri-devel@lists.freedesktop.org Cc: Daniel Stone , Daniel Vetter , =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , linux-kernel@vger.kernel.org, Riley Andrews , Gustavo Padovan , John Harrison List-Id: dri-devel@lists.freedesktop.org SGV5LAoKT3AgMjMtMDMtMTYgb20gMTk6NDcgc2NocmVlZiBHdXN0YXZvIFBhZG92YW46Cj4gRnJv bTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+Cj4g SGksCj4KPiBUaGlzIGlzIGEgZmlyc3QgcHJvcG9zYWwgdG8gZGlzY3VzcyB0aGUgYWRkaXRpb24g b2YgaW4tZmVuY2VzIHN1cHBvcnQKPiB0byBEUk0uIEl0IGFkZHMgYSBuZXcgc3RydWN0IHRvIGZl bmNlLmMgdG8gYWJzdHJhY3QgdGhlIHVzZSBvZiBzeW5jX2ZpbGUKPiBpbiBEUk0gZHJpdmVycy4g VGhlIG5ldyBzdHJ1Y3QgZmVuY2VfY29sbGVjdGlvbiBjb250YWlucyBhIGFycmF5IHdpdGggYWxs Cj4gZmVuY2VzIHRoYXQgYSBhdG9taWMgY29tbWl0IG5lZWRzIHRvIHdhaXQgb24KPgo+IC8qKgo+ ICAqIHN0cnVjdCBmZW5jZV9jb2xsZWN0aW9uIC0gYWdncmVnYXRlIGZlbmNlcyB0b2dldGhlcgo+ ICAqIEBudW1fZmVuY2VzOiBudW1iZXIgb2YgZmVuY2UgaW4gdGhlIGNvbGxlY3Rpb24uCj4gICog QHVzZXJfZGF0YTogdXNlciBkYXRhLgo+ICAqIEBmdW5jOiB1c2VyIGNhbGxiYWNrIHRvIHB1dCB1 c2VyIGRhdGEuCj4gICogQGZlbmNlczogYXJyYXkgb2YgQG51bV9mZW5jZXMgZmVuY2VzLgo+ICAq Lwo+IHN0cnVjdCBmZW5jZV9jb2xsZWN0aW9uIHsKPiAgICAgICAgaW50IG51bV9mZW5jZXM7Cj4g ICAgICAgIHZvaWQgKnVzZXJfZGF0YTsKPiAgICAgICAgY29sbGVjdGlvbl9wdXRfZnVuY190IGZ1 bmM7Cj4gICAgICAgIHN0cnVjdCBmZW5jZSAqZmVuY2VzW107Cj4gfTsKPgo+Cj4gVGhlIGZlbmNl X2NvbGxlY3Rpb24gaXMgYWxsb2NhdGVkIGFuZCBmaWxsZWQgYnkgc3luY19maWxlX2ZlbmNlc19n ZXQoKSBhbmQKPiBhdG9taWNfY29tbWl0IGhlbHBlcnMgY2FuIHVzZSBmZW5jZV9jb2xsZWN0aW9u X3dhaXQoKSB0byB3YWl0IHRoZSBmZW5jZXMgdG8KPiBzaWduYWwuCj4KPiBUaGVzZSBwYXRjaGVz IGRlcGVuZHMgb24gdGhlIHN5bmMgQUJJIHJld29yazoKPgo+IGh0dHBzOi8vd3d3LnNwaW5pY3Mu bmV0L2xpc3RzL2RyaS1kZXZlbC9tc2cxMDI3OTUuaHRtbAo+Cj4gYW5kIHRoZSBwYXRjaCB0byBk ZS1zdGFnZSB0aGUgc3luYyBmcmFtZXdvcms6Cj4KPiBodHRwczovL3d3dy5zcGluaWNzLm5ldC9s aXN0cy9kcmktZGV2ZWwvbXNnMTAyNzk5Lmh0bWwKPgo+Cj4gSSBhbHNvIGhhY2tlZCB0b2dldGhl ciBzb21lIHN5bmMgc3VwcG9ydCBpbnRvIG1vZGV0ZXN0IGZvciB0ZXN0aW5nOgo+Cj4gaHR0cHM6 Ly9naXQuY29sbGFib3JhLmNvbS9jZ2l0L3VzZXIvcGFkb3Zhbi9saWJkcm0uZ2l0L2xvZy8/aD1h dG9taWMKPgpXaHkgZGlkIHlvdSBjaG9vc2UgdG8gYWRkIGZlbmNlX2NvbGxlY3Rpb24sIHJhdGhl ciB0aGFuIHB1dHRpbmcgc3luY19maWxlIGluIHN0YXRlPwoKVGhlcmUgdXNlZCB0byBiZSBhIHN5 bmNfZmVuY2Vfd2FpdCBmdW5jdGlvbiwgd2hpY2ggd291bGQgbWVhbiB5b3UnZCBoYXZlIGV2ZXJ5 dGhpbmcgeW91IG5lZWQuCgp+TWFhcnRlbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755262AbcCXHU5 (ORCPT ); Thu, 24 Mar 2016 03:20:57 -0400 Received: from mga01.intel.com ([192.55.52.88]:15885 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753783AbcCXHUt (ORCPT ); Thu, 24 Mar 2016 03:20:49 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,383,1455004800"; d="scan'208";a="930714852" Subject: Re: [RFC 0/6] drm/fences: add in-fences to DRM To: Gustavo Padovan , dri-devel@lists.freedesktop.org References: <1458758847-21170-1-git-send-email-gustavo@padovan.org> Cc: linux-kernel@vger.kernel.org, Daniel Stone , =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , Riley Andrews , Daniel Vetter , Rob Clark , Greg Hackmann , John Harrison , Gustavo Padovan From: Maarten Lankhorst Message-ID: <56F3954D.8000308@linux.intel.com> Date: Thu, 24 Mar 2016 08:20:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1458758847-21170-1-git-send-email-gustavo@padovan.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey, Op 23-03-16 om 19:47 schreef Gustavo Padovan: > From: Gustavo Padovan > > Hi, > > This is a first proposal to discuss the addition of in-fences support > to DRM. It adds a new struct to fence.c to abstract the use of sync_file > in DRM drivers. The new struct fence_collection contains a array with all > fences that a atomic commit needs to wait on > > /** > * struct fence_collection - aggregate fences together > * @num_fences: number of fence in the collection. > * @user_data: user data. > * @func: user callback to put user data. > * @fences: array of @num_fences fences. > */ > struct fence_collection { > int num_fences; > void *user_data; > collection_put_func_t func; > struct fence *fences[]; > }; > > > The fence_collection is allocated and filled by sync_file_fences_get() and > atomic_commit helpers can use fence_collection_wait() to wait the fences to > signal. > > These patches depends on the sync ABI rework: > > https://www.spinics.net/lists/dri-devel/msg102795.html > > and the patch to de-stage the sync framework: > > https://www.spinics.net/lists/dri-devel/msg102799.html > > > I also hacked together some sync support into modetest for testing: > > https://git.collabora.com/cgit/user/padovan/libdrm.git/log/?h=atomic > Why did you choose to add fence_collection, rather than putting sync_file in state? There used to be a sync_fence_wait function, which would mean you'd have everything you need. ~Maarten