From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [RFC v2 2/3] dma-buf/fence-array: add fence_array_teardown() Date: Tue, 28 Jun 2016 11:56:27 +0200 Message-ID: <577249CB.6050707@amd.com> References: <1467055762-25881-1-git-send-email-gustavo@padovan.org> <1467055762-25881-3-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0089.outbound.protection.outlook.com [157.56.111.89]) by gabe.freedesktop.org (Postfix) with ESMTPS id 767FA6E534 for ; Tue, 28 Jun 2016 09:56:43 +0000 (UTC) In-Reply-To: <1467055762-25881-3-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: marcheu@google.com, Daniel Stone , seanpaul@google.com, Daniel Vetter , linux-kernel@vger.kernel.org, laurent.pinchart@ideasonboard.com, Gustavo Padovan , John Harrison , m.chehab@samsung.com List-Id: dri-devel@lists.freedesktop.org QW0gMjcuMDYuMjAxNiB1bSAyMToyOSBzY2hyaWViIEd1c3Rhdm8gUGFkb3ZhbjoKPiBGcm9tOiBH dXN0YXZvIFBhZG92YW4gPGd1c3Rhdm8ucGFkb3ZhbkBjb2xsYWJvcmEuY28udWs+Cj4KPiBBcyB0 aGUgYXJyYXkgb2YgZmVuY2UgY2FsbGJhY2tzIGhlbGQgYnkgYW4gYWN0aXZlIHN0cnVjdCBmZW5j ZV9hcnJheQo+IGVhY2ggaGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBzdHJ1Y3QgZmVuY2VfYXJyYXks IHdoZW4gdGhlIG93bmVyIG9mIHRoZQo+IGZlbmNlX2FycmF5IGlzIGZyZWVkIGl0IG11c3QgZGlz cG9zZSBvZiB0aGUgY2FsbGJhY2sgcmVmZXJlbmNlcyBiZWZvcmUKPiBpdCBjYW4gZnJlZSB0aGUg ZmVuY2VfYXJyYXkuIFRoaXMgY2FuIG5vdCBoYXBwZW4gc2ltcGx5IGR1cmluZwo+IGZlbmNlX3Jl bGVhc2UoKSBiZWNhdXNlIG9mIHRoZSBleHRyYSByZWZlcmVuY2VzIGFuZCBzbyB3ZSBuZWVkIGEg bmV3Cj4gZnVuY3Rpb24gdG8gcnVuIGJlZm9yZSB0aGUgZmluYWwgZmVuY2VfcHV0KCkuCgpBcyBJ IHNhaWQgcHJldmlvdXNseSBhcyB3ZWxsLCB0aGlzIGlzIGNvbXBsZXRlbHkgc3VwZXJmbHVvdXMu CgpUaGUgZmVuY2UgYXJyYXkga2VlcHMgYSByZWZlcmVuY2UgdG8gaXRzZWxmIGFzIGxvbmcgYXMg bm90IGFsbCBjYWxsYmFja3MgCmFyZSBzaWduYWxlZC4KClNvIHlvdSBvbmx5IG5lZWQgdG8gdW5y ZWdpc3RlciB5b3VyIGNhbGxiYWNrIGZyb20gdGhlIGFycmF5IGl0c2VsZiBhbmQgCmRyb3AgeW91 ciByZWZlcmVuY2Ugd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnkgbW9yZSBpbiB0aGUgc3luYyBm aWxlLgoKQWRkaXRpb25hbCB0byB0aGF0IGhhdmluZyBhIHNwZWNpYWwgY2xlYW51cCBmdW5jdGlv biBsaWtlIHRoaXMgc3Ryb25nbHkgCmNvbnRyYWRpY3RzIHRoZSBhcHByb2FjaCBvZiBoYXZpbmcg YW4gaW1wbGVtZW50YXRpb24gaW5kZXBlbmRlbnQgaW50ZXJmYWNlLgoKU28gdGhpcyBpcyBhIGNs ZWFyIE5BSyBmcm9tIG15IHNpZGUuCgpSZWdhcmRzLApDaHJpc3RpYW4uCgo+Cj4gQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBDaHJpc3RpYW4gS8O2bmln IDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRv dmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+IC0tLQo+ICAgZHJpdmVycy9k bWEtYnVmL2ZlbmNlLWFycmF5LmMgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBp bmNsdWRlL2xpbnV4L2ZlbmNlLWFycmF5LmggICB8ICAxICsKPiAgIDIgZmlsZXMgY2hhbmdlZCwg MjYgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9mZW5jZS1h cnJheS5jIGIvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKPiBpbmRleCBhODczMWM4Li44 ODkxMzU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9mZW5jZS1hcnJheS5jCj4gKysr IGIvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKPiBAQCAtMTQyLDMgKzE0MiwyOCBAQCBz dHJ1Y3QgZmVuY2VfYXJyYXkgKmZlbmNlX2FycmF5X2NyZWF0ZShpbnQgbnVtX2ZlbmNlcywgc3Ry dWN0IGZlbmNlICoqZmVuY2VzLAo+ICAgCXJldHVybiBhcnJheTsKPiAgIH0KPiAgIEVYUE9SVF9T WU1CT0woZmVuY2VfYXJyYXlfY3JlYXRlKTsKPiArCj4gKy8qKgo+ICsgKiBmZW5jZV9hcnJheV90 ZWFyZG93biAtIFRlYXJkb3duIGFuZCBjbGVhbiB1cCBhIGZlbmNlIGFycmF5Cj4gKyAqIEBhcnJh eToJW2luXQl0aGUgZmVuY2UgYXJyYXkgdG8gdGVhcmRvd24KPiArICoKPiArICogVGhpcyBmdW5j dGlvbiByZW1vdmVzIGNhbGxiYWNrcyBhbmQgZXh0cmEgcmVmZXJlbmNlcyB0byB0aGUgYmFzZSBm ZW5jZSBvbgo+ICsgKiB0aGUgZmVuY2VfYXJyYXkgZm9yIGVhY2ggdW5zaWduYWxsZWQgZmVuY2Ug aW4gdGhlIGFycmF5LiBJdCBzaG91bGQgYmUgY2FsbGVkCj4gKyAqIGJlZm9yZSBjYWxsaW5nIGZl bmNlX3B1dCgpIHRvIHJlbW92ZSB0aGUgbGFzdCByZWZlcmVuY2Ugb24gYSBmZW5jZV9hcnJheSwK PiArICogb3RoZXJ3aXNlIHRoZSBmZW5jZSB3b24ndCBiZSByZWxlYXNlZCBkdWUgdG8gZXh0cmEg cmVmZXJlbmNlcyBob2xkZWQgYnkgdGhlCj4gKyAqIHRoZSBmZW5jZXMgdGhhdCBzdGlsbCBoYXZl IHNpZ25hbGxpbmcgZW5hYmxlZC4KPiArICovCj4gK3ZvaWQgZmVuY2VfYXJyYXlfdGVhcmRvd24o c3RydWN0IGZlbmNlX2FycmF5ICphcnJheSkKPiArewo+ICsJc3RydWN0IGZlbmNlX2FycmF5X2Ni ICpjYiA9ICh2b2lkICopKCZhcnJheVsxXSk7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAw OyBpIDwgYXJyYXktPm51bV9mZW5jZXM7IGkrKykgewo+ICsJCWlmIChmZW5jZV9pc19zaWduYWxl ZChhcnJheS0+ZmVuY2VzW2ldKSkKPiArCQkgICAgY29udGludWU7Cj4gKwo+ICsJCWZlbmNlX3Jl bW92ZV9jYWxsYmFjayhhcnJheS0+ZmVuY2VzW2ldLCAmY2JbaV0uY2IpOwo+ICsJCWZlbmNlX3B1 dCgmYXJyYXktPmJhc2UpOwo+ICsJfQo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZmVuY2VfYXJyYXlf dGVhcmRvd24pOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZlbmNlLWFycmF5LmggYi9p bmNsdWRlL2xpbnV4L2ZlbmNlLWFycmF5LmgKPiBpbmRleCBkMmU5ZjQwLi45ZjFiOTIzIDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvZmVuY2UtYXJyYXkuaAo+ICsrKyBiL2luY2x1ZGUvbGlu dXgvZmVuY2UtYXJyYXkuaAo+IEBAIC03OSw1ICs3OSw2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0 IGZlbmNlX2FycmF5ICp0b19mZW5jZV9hcnJheShzdHJ1Y3QgZmVuY2UgKmZlbmNlKQo+ICAgc3Ry dWN0IGZlbmNlX2FycmF5ICpmZW5jZV9hcnJheV9jcmVhdGUoaW50IG51bV9mZW5jZXMsIHN0cnVj dCBmZW5jZSAqKmZlbmNlcywKPiAgIAkJCQkgICAgICAgdTY0IGNvbnRleHQsIHVuc2lnbmVkIHNl cW5vLAo+ICAgCQkJCSAgICAgICBib29sIHNpZ25hbF9vbl9hbnkpOwo+ICt2b2lkIGZlbmNlX2Fy cmF5X3RlYXJkb3duKHN0cnVjdCBmZW5jZV9hcnJheSAqYXJyYXkpOwo+ICAgCj4gICAjZW5kaWYg LyogX19MSU5VWF9GRU5DRV9BUlJBWV9IICovCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752440AbcF1J4p (ORCPT ); Tue, 28 Jun 2016 05:56:45 -0400 Received: from mail-bn1bon0080.outbound.protection.outlook.com ([157.56.111.80]:46080 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752156AbcF1J4n (ORCPT ); Tue, 28 Jun 2016 05:56:43 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; Subject: Re: [RFC v2 2/3] dma-buf/fence-array: add fence_array_teardown() To: Gustavo Padovan , References: <1467055762-25881-1-git-send-email-gustavo@padovan.org> <1467055762-25881-3-git-send-email-gustavo@padovan.org> CC: , Daniel Stone , Daniel Vetter , Rob Clark , Greg Hackmann , John Harrison , , , , , Sumit Semwal , Maarten Lankhorst , Gustavo Padovan , Chris Wilson From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <577249CB.6050707@amd.com> Date: Tue, 28 Jun 2016 11:56:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <1467055762-25881-3-git-send-email-gustavo@padovan.org> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1251:a381:5cd3:bb2a:a0d3:4f99] X-ClientProxiedBy: AM3PR07CA0039.eurprd07.prod.outlook.com (10.141.45.167) To CY1PR1201MB0924.namprd12.prod.outlook.com (10.169.18.16) X-MS-Office365-Filtering-Correlation-Id: d2b57cd0-559e-4ce3-ff25-08d39f3a806a X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;2:fuMnclcjr8s0AAwe1O20qjJfbfF+vihyS1gKQHxNTd5LkZlKOlyjMq72zaAdS5WdDRAxhMbUrbtbEsGfblkqeKX5P4w2dAqcPzVSfNGh/FPs7PGpZLSPpAlrAzRKCOAzq7ywbsG8n+ziluBuIGAwMLs0jt97dIzrip5jKE/g7wlcHzv9DED2f1QCi9nlj0zr;3:53I47czYFMYwfvbrVtpqNmLs8vn9whhJ5yRbmjErbhOlLnERzno/+hi8mhvHDcZF9v3uMUUapjjmwxbdoityNbYncjOUMa08e2nj9ELPavJ/DKR4Zb4eaqJbXErj86a2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB0924; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;25:cad69Rhft8ahSmi0+G08Mra7pZJ5T1IH+vuPYZtro8ToBbIilTLQkB3YvzLeojmsV3RZ4sBlNUotkrZUy5rOI5AeQj/1L3rulUNIRKMyRoacqDSXN+/J9Dfb/DgtQ9gbAB9+EpbRPTETXSq5bGkNfFsk4shwyAZF37EImKSsn/inNwal/V9xZVUmaRDvmhSOEFfGsA3FBbth86WcqYQD7iFshI2kcSkkU1Y5pqJqO60HLjxmwNVqT48yqBnc69INMuAU+LV79OVf1ofA0eSw0SGrXm5f9ysrwqxD/VZs8ECAJWdpMroloYVqVrJSe5IA0Ut2d4V+LAVRVK/wx5pRKn3j0jir5brlnI4tA9mlRl02bBLoPGAoNsT8+5VWJlRI0C1l/ahPJ5R0YaA01BPfmsxh6GyscQ3Kwn+nbpQ12plb6hes+052PIkRkL9EJ26m9BrGV/JtUzZFGJG/0NwBjzpV0hNexk/BU61Y7Oz9uzYJ9MlpE4xIIq/Xn+WcqCSocKDDVMnXoc1FaK+DBSw/a9aM/BVCbUcM4da7j5jU0etPHkOzS1nypKlftRcohLKDgVKJb5KsuxCggkTe13V8uRHljnuCkvbA4kib0apmvaYdVrEq6VrissWp0kPeKPT/6HlVBXntfid8XrqJfsRlss1LJ0Owsv/PpLWgWWdIBSwVR33N6CRL4qb1Px1FH08Nq24+82G+QT1Cf9DwAjGlO16FGTimVOEGbl5Ffrz2nlIyDf7zPKgeq4ZRSC406+AR X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;31:UqLj/ieg9SS5W3NmlnNpTiSeBGfD7VCnsaAJtIpxlCRuHbE7/djA8FQPBmR4N2jAqWB8y6EeLiHXRcyaG43H1KvALlH03qUdik/Nm6WpS4L0lYQxiiBCyj/6rOreX7THvTvVieQCgF0+DSekQpxO9Z3w8D4aI496iB1Xv1TqH9bPB+RIzfQaKMgmLu+ZBqXSlOACUFz0eveMk40cmlPjNg==;20:KvU1PI7S0rrdd/Mt07fHPduldZwJ5K/H6D1y4urk0Tc++W/4Sjs6sIPjvDu/LtbsSVsyfLd/u1ssCWft+zPcADdt4DWVn8Uo9VsDzHmjjMsWP3JkAOL8KpAbt7zdRRvxSLPIO8PHwUXFDFoWOInMNZE5NoXYZz9Uqd0pUoVS16/XmSH/KDw5i9ZBPVO63TZJ/3/6WKXPd1DDEK1ifyl9AeqtoRsJ9qx3QMGWGPMnQ2/NIw82H4yqWRsGWJeMMDlgB8qEU20BWTO5RIO2C8ESpCcewGCc7QLys6BDzromkeOomy4g+mX+0tj6+j31ZuYQVgseX7IU07BRhJw7vsEh0F/wLno3Q7D5qrCpyRgraaFpMPiIhPTe2al/QqHf6T3B5CkcuXHy1LR16UqAhRw2UTBX54/MOAa3uQjuMnfdC8pg04Eb40tlSS9Qt6zVwzGFtojViTkNn48vaujCuGKvCuaPVQTh8YwMAlBWg9Ip1siZ3AAelkPBl9jkvZxQ2HWR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:CY1PR1201MB0924;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB0924; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;4:QOBZ0m9hPWTXGixaJVP1XQ5eCxRW9sT9z54RUAudEmXDswa7whCNcvv9xED5Exl/Ti0ovq99LTeIKMnHl2OBZx13rGpirsEbdhS23l/udE8MQE2FZQu1OKosgMteq45QYOo4/6IX+IRwERa8gXIEph3+tpeiiZLnz4UiRWkE8CkZpMgP/11XvxYiFu6UHBAGPLIB5Oi/wqpVClx8co1HKPyggY8XLO4XZAiyz9fynCYR/fuUOwiyU38IWVLX8ZJPAllQx6fnwv7MrOsavppAlMRVhyfiIYocRtI42ov3rt/6Sug4MTZFfaOuXVUZKEzbFH8ovDuT0RcIP/awcfcDKxQ5DJJvkf1arwb6m4tkzjlMrBSKnPzcyLgQHf6fYfGN60Cz+oAjsssEQ9sInVq78XlH92OXzww3t9pc8yzwCko= X-Forefront-PRVS: 0987ACA2E2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(305945005)(99136001)(33656002)(50466002)(1706002)(586003)(6116002)(7846002)(2950100001)(77096005)(23676002)(2870700001)(68736007)(7736002)(4326007)(2906002)(80316001)(65806001)(81166006)(42186005)(8676002)(81156014)(47776003)(189998001)(4001350100001)(97736004)(101416001)(64126003)(5001770100001)(83506001)(65816999)(87266999)(50986999)(106356001)(54356999)(76176999)(105586002)(36756003)(59896002)(92566002)(86362001)(65956001)(19580395003)(19580405001)(3826002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR1201MB0924;H:[IPv6:2a02:908:1251:a381:5cd3:bb2a:a0d3:4f99];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyMDFNQjA5MjQ7MjM6TW5lTElWdjFaUGZmRXFBSHNnR0wxNzBM?= =?utf-8?B?VzFTMGZBdUxENTV6d1h4dm4wU2JvcUNSUnRTN0VTR2ZBLzdkdjlPRzV4TlB1?= =?utf-8?B?aHhuSGowd1NTaWFHeUpvVWEvQnR3L3Z1KzRpZWMwdkpiY1pjTUdHbXdHa0hj?= =?utf-8?B?NGhkR00xTUNxLzhXTllsV1NlSTdodlcvTGlkY2czMFpJaFEvQ0haWjFQN0Vo?= =?utf-8?B?bzI4VHZtY0NRdVhjcm9Kb3pLSlMxanpnakRFRWYrdDlWZWx3VG1GOEJHU0dh?= =?utf-8?B?RUZEUnJLTkVpeVU0MlQwSlJvSkhKRG9acURtcHdEVjZ2MzRpdk81MFNBZVBT?= =?utf-8?B?RFgzNi81bW1XYVNYUnl4VEY3dWZuQy9sOWZPQStoWkJMS1M3NUZUOE94UFZJ?= =?utf-8?B?L3pMdXpRdGVxVFRIbTZMYk5rS09jdktJUE5NcEdqT1hhVEhDWW9jU3Rmc0I4?= =?utf-8?B?am02MWUzRlQxNUxxc0hrQ1FEaVhMa0ZMMTFVUTArOEEwRHFsMEErZUt5WFVD?= =?utf-8?B?WTNFTFVhdTBoaUtUUDFEWWowTFpJenhKWnBHN3ljRWtRcTdHV3lTOGc4V0Nr?= =?utf-8?B?WUVMNyt0aXpHN3REdXdNRFZwL1Yzek9KZEIwckttTjNEMjcwU2E0RnZUWUVK?= =?utf-8?B?TGlzQ0lOeFRyb1lNUlRUdzEveXN3VUYreVpxMk9IWHRod0pxYzQwUURUQWxS?= =?utf-8?B?NXBjVlBSNTFkb3htQUU0N2tpWmNTMGRvZTNLK1hLY0FBeEY4NUptS3lBTzNt?= =?utf-8?B?ZmRUdUY0a2xqb1JWaFNCYXgwNjJONzJJTXRNaFFBNGV5SXFkM1ZHV1dPWnpj?= =?utf-8?B?VWlzd0FhTU1HaVFrYlJkemhWc3U5Q1IvZUpyV3lsRThYOVBMYnI0YzVyQllo?= =?utf-8?B?UFNuMWxYRXNKd3V4VXFaWnArZXhraGI1anpXT1hadFdiclJULzg1NmttUE9W?= =?utf-8?B?Y1YyNmROTHdKeHdZdzNYNGZseW5JUVRiWHZyajBURDU0MzlCRGFuWHNhM29t?= =?utf-8?B?VXZCVi90Nm9hSGtZK1Zkc0R3aTJXUlY1cVNVRDVDTzBBOXowVHNQWVNOQzF5?= =?utf-8?B?YUtNL25ENjNYV2t5ZHFza1FualVNbk1mR3ZJNUZ2bjBNR1FseUxzZHRJZmgv?= =?utf-8?B?eGhSN21HZ3MvVldlZW4vL3EyQUVVcTRhVjV0QUp6RTBPS29lOUNOeFNaUmlO?= =?utf-8?B?dkJxZ09NQTdITGY2cVdTL1RwQTg2NENwMHAxRlMvRzd5NTVzVHh0SVpBcFFh?= =?utf-8?B?UGNFUHJNVkdrWndiMWdLK2RoV0hOZmpwQVYzazZTbDQrL2xOUStBMU9lRzln?= =?utf-8?B?RVhhNjhJWGg3K2NaL3U3WktYQWZCZXBMZCsrVjN6a3gzVlNEUHFrWVRBODZm?= =?utf-8?B?ZmdYaDR1YWwyRmZzOWNTTVluS1pOMEFLcmViRnBhVFBUQzdxck9Zc3JMV3hx?= =?utf-8?B?bE5Hd2RpL0Y4MFUrTWxFeUQvSHFDLzFzc3Vqa1VBYnFIdFZxbnRXYnI2eWdK?= =?utf-8?B?U0wrd0pSWVJQVE5vRHkyRjg1cDN6TU5Oa2FFZGw4WjQ3SWNOTXprVFN0dTUw?= =?utf-8?B?Y3V1TDVuNWZDZk1hM3Z0L0NoQ2ZwbWhweGo3eitITFo5U2RnZURhSmNxaCtR?= =?utf-8?B?SUkvQUdPNERiVjNKK2dVMjhNT1puczBJb3ptUkpMUlNkZ09Ebm1OT0J6OHhv?= =?utf-8?Q?VRbVok+SnFdpQCm/ilRU=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;6:LVEKEjjqFOBa6vjCNdW6Y50x9XxZmYCX9LgPwFMguiT4yyyQFlljT+Bft1U/ypfTgzc/a/9z473UqoE7+GPYuCCDRs1Jq9zqUGQopk9CbXzSSp9H92wr5a6Js6qVFgjE+KpJTYSsY/pG4JIXYaGxBor2MJrhq7sV7Oj7NN1rNoazdBkeZxcx0TOfxcgH8K1CjujN9PO8BIo8qtcZ5MNYlTXtgZavaljLM4+R6JboGEnu7ixuc2OV9oZEv7MH8gXrXg6yh2aA2wo+GjSPu0PyIWnoH0JKbEJbvVx783tG4I/W7BwZMRgn1SpgDg7YmcvT1UdwSsPSKvDtl9+vn2yYgw==;5:ewhzBxq0qEeX5qn2uPiuZhO0OF2xzF3cQ11GGxqRaeM79c9ifv8nvsWseO035ug/jUOvxIVfKhCTa1bS915HpzTOF9PRelFheHzs6uWq2sIJaFPEl8yzvsYNYB5NxLiSjCQ0rnZtzh1nxC8CMa+qbw==;24:QwYUWPu2fX/WL8zBQXVNJOZ2ObC6Hbg3169tYQxhDOOJQOzmb75dW+Q2f2qkJ3DRbtMlYfqopGIu23RHfiu60lw1u4TlV7DgfG0/2CdORxE=;7:qsSlqLPJOVWFlC9HWASSox15wr1/UDzf8QRxFw2GA91SnGNTLtij/1Bv2ZYMUUcan18DpjU/uuRxzWauo8gVjKJ0a9kW6YdP+fpcrnQTcFTgiNF75ZhexxF3mpMS/q77H68TTBmoSsCT2kjFpZ+BxIK/UIu4rMvqXoiuZz8X0XYccii1pp10iGRcoTFEI9v3Lj8n2rcfCt5z38Jt9ZkYI7agjl3eWzIXmHAsHyMqOYsoAvjLGPxUTRtZLsneNMPT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB0924;20:SHXzTWD645zhmjB7L6Kmkrtlx54gG9BS0msxG9inid7r4jbKbDj2RGXhCJvMtpqilr0RgMpX9lNY6aDe7XgBlE41DfmTkA2UWRRej7do2wrX8/pM8Gqi5eRHydZ5dkBDUGSTR/HhwCuwpa0bs9XiBBOeI4d6JZwMGdk/sLikrHnvoRc4XXCvyTbeowgNapbsaFnc7FnsDpqLnOl9QlBC+Y6ttdRpH4hJsMDvdbA3IV5ouccM6IFrJ0r+dv33MHw5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2016 09:56:36.9248 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR1201MB0924 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 27.06.2016 um 21:29 schrieb Gustavo Padovan: > From: Gustavo Padovan > > As the array of fence callbacks held by an active struct fence_array > each has a reference to the struct fence_array, when the owner of the > fence_array is freed it must dispose of the callback references before > it can free the fence_array. This can not happen simply during > fence_release() because of the extra references and so we need a new > function to run before the final fence_put(). As I said previously as well, this is completely superfluous. The fence array keeps a reference to itself as long as not all callbacks are signaled. So you only need to unregister your callback from the array itself and drop your reference when you don't need it any more in the sync file. Additional to that having a special cleanup function like this strongly contradicts the approach of having an implementation independent interface. So this is a clear NAK from my side. Regards, Christian. > > Cc: Chris Wilson > Cc: Christian König > Signed-off-by: Gustavo Padovan > --- > drivers/dma-buf/fence-array.c | 25 +++++++++++++++++++++++++ > include/linux/fence-array.h | 1 + > 2 files changed, 26 insertions(+) > > diff --git a/drivers/dma-buf/fence-array.c b/drivers/dma-buf/fence-array.c > index a8731c8..8891357 100644 > --- a/drivers/dma-buf/fence-array.c > +++ b/drivers/dma-buf/fence-array.c > @@ -142,3 +142,28 @@ struct fence_array *fence_array_create(int num_fences, struct fence **fences, > return array; > } > EXPORT_SYMBOL(fence_array_create); > + > +/** > + * fence_array_teardown - Teardown and clean up a fence array > + * @array: [in] the fence array to teardown > + * > + * This function removes callbacks and extra references to the base fence on > + * the fence_array for each unsignalled fence in the array. It should be called > + * before calling fence_put() to remove the last reference on a fence_array, > + * otherwise the fence won't be released due to extra references holded by the > + * the fences that still have signalling enabled. > + */ > +void fence_array_teardown(struct fence_array *array) > +{ > + struct fence_array_cb *cb = (void *)(&array[1]); > + int i; > + > + for (i = 0; i < array->num_fences; i++) { > + if (fence_is_signaled(array->fences[i])) > + continue; > + > + fence_remove_callback(array->fences[i], &cb[i].cb); > + fence_put(&array->base); > + } > +} > +EXPORT_SYMBOL(fence_array_teardown); > diff --git a/include/linux/fence-array.h b/include/linux/fence-array.h > index d2e9f40..9f1b923 100644 > --- a/include/linux/fence-array.h > +++ b/include/linux/fence-array.h > @@ -79,5 +79,6 @@ static inline struct fence_array *to_fence_array(struct fence *fence) > struct fence_array *fence_array_create(int num_fences, struct fence **fences, > u64 context, unsigned seqno, > bool signal_on_any); > +void fence_array_teardown(struct fence_array *array); > > #endif /* __LINUX_FENCE_ARRAY_H */