From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [RFC 0/5] rework fences on struct sync_file Date: Fri, 24 Jun 2016 17:09:51 +0200 Message-ID: <576D4D3F.8080808@amd.com> References: <1466695790-2833-1-git-send-email-gustavo@padovan.org> <576CFD0B.6000501@amd.com> <20160624131724.GA2503@joana> <576D4032.3000001@vodafone.de> <20160624145933.GF2508@joana> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0060.outbound.protection.outlook.com [207.46.100.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8D1A86EAEC for ; Fri, 24 Jun 2016 15:25:15 +0000 (UTC) In-Reply-To: <20160624145933.GF2508@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 , =?UTF-8?Q?Christian_K=c3=b6nig?= Cc: marcheu@google.com, Daniel Stone , seanpaul@google.com, Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, Gustavo Padovan , John Harrison , m.chehab@samsung.com List-Id: dri-devel@lists.freedesktop.org QW0gMjQuMDYuMjAxNiB1bSAxNjo1OSBzY2hyaWViIEd1c3Rhdm8gUGFkb3ZhbjoKPiAyMDE2LTA2 LTI0IENocmlzdGlhbiBLw7ZuaWcgPGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPjoKPgo+PiBBbSAy NC4wNi4yMDE2IHVtIDE1OjE3IHNjaHJpZWIgR3VzdGF2byBQYWRvdmFuOgo+Pj4gSGkgQ2hyaXN0 aWFuLAo+Pj4KPj4+IDIwMTYtMDYtMjQgQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPjoKPj4+Cj4+Pj4gQW0gMjMuMDYuMjAxNiB1bSAxNzoyOSBzY2hyaWViIEd1c3Rh dm8gUGFkb3ZhbjoKPj4+Pj4gRnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5A Y29sbGFib3JhLmNvLnVrPgo+Pj4+Pgo+Pj4+PiBIaSBhbGwsCj4+Pj4+Cj4+Pj4+IFRoaXMgaXMg YW4gYXR0ZW1wdCB0byBpbXByb3ZlIGZlbmNlIHN1cHBvcnQgb24gU3luYyBGaWxlLiBUaGUgYmFz aWMgaWRlYQo+Pj4+PiBpcyB0byBoYXZlIG9ubHkgc3luY19maWxlLT5mZW5jZSBhbmQgc3RvcmUg YWxsIGZlbmNlcyB0aGVyZSwgZWl0aGVyIGFzCj4+Pj4+IG5vcm1hbCBmZW5jZXMgb3IgZmVuY2Vf YXJyYXlzLiBUaGF0IHdheSB3ZSBjYW4gcmVtb3ZlIHNvbWUgcG90ZW50aWFsCj4+Pj4+IGR1cGxp Y2F0aW9uIHdoZW4gdXNpbmcgZmVuY2VfYXJyYXkgd2l0aCBzeW5jX2ZpbGU6IHRoZSBkdXBsaWNh dGlvbiBvZiB0aGUgYXJyYXkKPj4+Pj4gb2YgZmVuY2VzIGFuZCB0aGUgZHVwbGljYXRpb24gb2Yg ZmVuY2VfYWRkX2NhbGxiYWNrKCkgZm9yIGFsbCBmZW5jZXMuCj4+Pj4+Cj4+Pj4+IE5vdyB3aGVu IGNyZWF0aW5nIGEgbmV3IHN5bmNfZmlsZSBkdXJpbmcgdGhlIG1lcmdlIHByb2Nlc3Mgc3luY19m aWxlX3NldF9mZW5jZSgpCj4+Pj4+IHdpbGwgc2V0IHN5bmNfZmlsZS0+ZmVuY2UgYmFzZWQgb24g dGhlIG51bWJlciBvZiBmZW5jZXMgZm9yIHRoYXQgc3luY19maWxlLiBJZgo+Pj4+PiB0aGVyZSBp cyBtb3JlIHRoYW4gb25lIGZlbmNlIGEgZmVuY2VfYXJyYXkgaXMgY3JlYXRlZC4gT25lIGltcG9y dGFudCBhZHZhbnRhZ2UKPj4+Pj4gYXBwcm9hY2ggaXMgdGhhdCB3ZSBvbmx5IGFkZCBvbmUgZmVu Y2UgY2FsbGJhY2sgbm93LCBubyBtYXR0ZXIgaG93IG1hbnkgZmVuY2VzCj4+Pj4+IHRoZXJlIGFy ZSBpbiBhIHN5bmNfZmlsZSAtIHRoZSBpbmRpdmlkdWFsIGNhbGxiYWNrcyBhcmUgYWRkZWQgYnkg ZmVuY2VfYXJyYXkuCj4+Pj4+Cj4+Pj4+IFR3byBmZW5jZSBvcHMgaGFkIHRvIGJlIGNyZWF0ZWQg dG8gaGVscCBhYnN0cmFjdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGhhbmRsaW5nCj4+Pj4+IGZl bmNlcyBhbmQgZmVuY2VzX2FycmF5czogLnRlYXJkb3duKCkgYW5kIC5nZXRfZmVuY2VzKCkuIFRo ZSBmb3JtZXIgcnVuIG5lZWRlZAo+Pj4+PiBvbiBmZW5jZV9hcnJheSwgYW5kIHRoZSBsYXR0ZXIg anVzdCByZXR1cm4gYSBjb3B5IG9mIGFsbCBmZW5jZXMgaW4gdGhlIGZlbmNlLgo+Pj4+PiBJJ20g bm90IHNvIHN1cmUgYWJvdXQgYWRkaW5nIHRob3NlIHR3bywgc3BlYWNpYWxseSAuZ2V0X2ZlbmNl cygpLiBXaGF0IGRvIHlvdQo+Pj4+PiB0aGluaz8KPj4+PiBDbGVhcmx5IG5vdCBhIGdvb2QgaWRl YSB0byBhZGQgdGhpcyBhIGZlbmNlIG9wcywgY2F1c2UgdGhvc2UgYXJlIHNwZWNpYWxpemVkCj4+ Pj4gZnVuY3Rpb25zIGZvciBvbmx5IGEgY2VydGFpbiBmZW5jZSBpbXBsZW1lbnRhdGlvbiAodGhl IGZlbmNlX2FycmF5KS4KPj4+IEFyZSB5b3UgcmVmZXJpbmcgb25seSB0byAuZ2V0X2ZlbmNlcygp Pwo+PiBUaGF0IGNvbW1lbnQgd2FzIG9ubHkgZm9yIHRoZSBnZXRfZmVuY2VzKCkgb3BlcmF0aW9u LCBidXQgdGhlIHRlYXJkb3duKCkKPj4gY2FsbGJhY2sgbG9va3MgdmVyeSBzdXNwaWNpb3VzIHRv IG1lIGFzIHdlbGwuCj4+Cj4+IENhbiB5b3UgZXhwbGFpbiBvbmNlIG1vcmUgd2h5IHRoYXQgc2hv dWxkIGJlIG5lY2Vzc2FyeT8KPiBXaGVuIHRoZSBzeW5jX2ZpbGUgb3duZXIgZXhpdHMgd2UgbmVl ZCB0byBjbGVhbiB1cCBpdCBhbmQgdGhhdCBtZWFucyByZWxlYXNpbmcKPiB0aGUgZmVuY2UgdG9v LCBob3dldmVyIHdpdGggZmVuY2VfYXJyYXkgd2UgY2FuJ3QganVzdCBjYWxsIGZlbmNlX3B1dCgp Cj4gYXMgYSBleHRyYSByZWZlcmVuY2UgdG8gYXJyYXktPmJhc2UgZm9yIGVhY2ggZmVuY2UgaXMg aGVsZCB3aGVuIGVuYWJsaW5nCj4gc2lnbmFsbGluZy4gVGh1cyB3ZSBuZWVkIGEgcHJpb3Igc3Rl cCwgdGhhdCBJIGNhbGxlZCB0ZWFyZG93bigpLCB0bwo+IHJlbW92ZSB0aGUgY2FsbGJhY2sgZm9y IG5vdCBzaWduYWxlZCBmZW5jZXMgYW5kIHB1dCB0aGUgZXh0cmEKPiByZWZlcmVuY2VzLgo+Cj4g QW5vdGhlciB3YXkgdG8gZG8gdGhpcyB3b3VsZCBiZToKPgo+IAlpZiAoZmVuY2VfaXNfYXJyYXko c3luY19maWxlLT5mZW5jZSkpCj4gCQlmZW5jZV9hcnJheV9kZXN0cm95KHRvX2ZlbmNlX2FycmF5 KHN5bmNfZmlsZS0+ZmVuY2UpKTsKPiAJZWxzZQo+IAkJZmVuY2VfcHV0KHN5bmNfZmlsZV9mZW5j ZSk7Cj4KPiBUaGlzIHdvdWxkIGF2b2lkIHRoZSBleHRyYSBvcHMsIG1heWJlIHdlIHNob3VsZCBn byB0aGlzIHdheS4KCk5BSyBvbiBib3RoIGFwcHJvYWNoZXMuIFRoZSBmZW5jZSBhcnJheSBncmFi cyBhbm90aGVyIHJlZmVyZW5jZSBvbiAKaXRzZWxmIGZvciBlYWNoIGNhbGxiYWNrIGl0IHJlZ2lz dGVycywgc28gdGhpcyBpc24ndCBuZWNlc3Nhcnk6Cgo+ICAgICAgICAgZm9yIChpID0gMDsgaSA8 IGFycmF5LT5udW1fZmVuY2VzOyArK2kpIHsKPiAgICAgICAgICAgICAgICAgY2JbaV0uYXJyYXkg PSBhcnJheTsKPiAgICAgICAgICAgICAgICAgLyoKPiAgICAgICAgICAgICAgICAgICogQXMgd2Ug bWF5IHJlcG9ydCB0aGF0IHRoZSBmZW5jZSBpcyBzaWduYWxlZCBiZWZvcmUgYWxsCj4gICAgICAg ICAgICAgICAgICAqIGNhbGxiYWNrcyBhcmUgY29tcGxldGUsIHdlIG5lZWQgdG8gdGFrZSBhbiBh ZGRpdGlvbmFsCj4gICAgICAgICAgICAgICAgICAqIHJlZmVyZW5jZSBjb3VudCBvbiB0aGUgYXJy YXkgc28gdGhhdCB3ZSBkbyBub3QgZnJlZSAKPiBpdCB0b28KPiAgICAgICAgICAgICAgICAgICog ZWFybHkuIFRoZSBjb3JlIGZlbmNlIGhhbmRsaW5nIHdpbGwgb25seSBob2xkIHRoZSAKPiByZWZl cmVuY2UKPiAgICAgICAgICAgICAgICAgICogdW50aWwgd2Ugc2lnbmFsIHRoZSBhcnJheSBhcyBj b21wbGV0ZSAoYnV0IHRoYXQgaXMgbm93Cj4gICAgICAgICAgICAgICAgICAqIGluc3VmZmljaWVu dCkuCj4gICAgICAgICAgICAgICAgICAqLwo+ICAgICAgICAgICAgICAgICBmZW5jZV9nZXQoJmFy cmF5LT5iYXNlKTsKPiAgICAgICAgICAgICAgICAgaWYgKGZlbmNlX2FkZF9jYWxsYmFjayhhcnJh eS0+ZmVuY2VzW2ldLCAmY2JbaV0uY2IsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmVuY2VfYXJyYXlfY2JfZnVuYykpIHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICBmZW5jZV9wdXQoJmFycmF5LT5iYXNlKTsKPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo YXRvbWljX2RlY19hbmRfdGVzdCgmYXJyYXktPm51bV9wZW5kaW5nKSkKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiAgICAgICAgICAgICAgICAgfQo+ICAg ICAgICAgfQoKU28geW91IGNhbiBqdXN0IHVzZSBmZW5jZV9yZW1vdmVfY2FsbGJhY2soKSBhbmQg dGhlbiBmZW5jZV9wdXQoKSB3aXRob3V0IAp3b3JyeWluZyBhYm91dCB0aGUgcmVmZXJlbmNlLgoK UmVnYXJkcywKQ2hyaXN0aWFuLgoKPgo+IAlHdXN0YXZvCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751479AbcFXQnE (ORCPT ); Fri, 24 Jun 2016 12:43:04 -0400 Received: from mail-bn1bon0079.outbound.protection.outlook.com ([157.56.111.79]:4848 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750972AbcFXQnC (ORCPT ); Fri, 24 Jun 2016 12:43:02 -0400 X-Greylist: delayed 5574 seconds by postgrey-1.27 at vger.kernel.org; Fri, 24 Jun 2016 12:43:02 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; Subject: Re: [RFC 0/5] rework fences on struct sync_file To: Gustavo Padovan , =?UTF-8?Q?Christian_K=c3=b6nig?= References: <1466695790-2833-1-git-send-email-gustavo@padovan.org> <576CFD0B.6000501@amd.com> <20160624131724.GA2503@joana> <576D4032.3000001@vodafone.de> <20160624145933.GF2508@joana> CC: Gustavo Padovan , , , Daniel Stone , , Daniel Vetter , , , "Gustavo Padovan" , John Harrison , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <576D4D3F.8080808@amd.com> Date: Fri, 24 Jun 2016 17:09:51 +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: <20160624145933.GF2508@joana> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1251:a381:e51f:1e04:5125:69d5] X-ClientProxiedBy: AM2PR03CA0018.eurprd03.prod.outlook.com (10.160.207.28) To DM3PR1201MB0928.namprd12.prod.outlook.com (10.164.197.16) X-MS-Office365-Filtering-Correlation-Id: 51aefdee-79ce-49e0-73bf-08d39c419f63 X-Microsoft-Exchange-Diagnostics: 1;DM3PR1201MB0928;2:69Lwn4DvYv2amor0p3yp3NgfDYscUm0lNsgHbIwhglmpdVAmao6hWLVaEhvXL13Pq9dJG3bSi4r1G+wKH63ePLwppcwxbMH2Cum4D3cEXElc4FMKfvUpYSvbbxK5E20NpO0nOR6KMKjZU+/IS68Eo5lr+o1KWDV1yjOOhWmmjT7ScbAs22DWmdbuU/RKalt3;3:IvIpHfk9D86mH0+W1kziRzp/bnahDTJGia/1gdIwuPT2lqfD2gsjX/fXAeZ/MouxdF+gsDKCFepr+fzx+eE/Tcc3KMcY5xuuIDLcEvAqq9hsPzAX+JLgrE3pEmW+hiCj X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR1201MB0928; X-Microsoft-Exchange-Diagnostics: 1;DM3PR1201MB0928;25:O16hWNi9vlVFdxbEURvJ1jttxhdARJ+6WbfKQFfFZTY78nxmYxa0Ovj8rGxcn+q9zWuV9rbSfeLDBAxATMlOYhLnuCFDwMPRIETk+nehegXZQvs+OPT6NkPO8jfQVJRuFCIKI2zRvVXQGbwcxkspAhpSISEATI0bvPMPHzKwWV7PHGL79dPem7qp2sqXm9eFRTaE40Sbu3RptB0nK6lO6+RLc1XE5WLbF9sYGy3yVfTzP81Jo0SHAiAxzckZDjVA/Axo8sGCFut45JTfCfISzByJJKNX3JM42NWv+99QLPaTGzVKV397X3lHLZ/U0lF6qPdD4t1inVP3kiJ37Sf3937RMLcX8kBhyseCFvWzB5LZ6vi2cWZ6GNynr178dZlPjwmFZgAxug0X/cRnBFosgTXtAF/pPLZA9MFotHK3EX+x5abDi+a9ASTm7t5UpJG6ZYVdIm8zHJVdFK4ba6hOPTYZcTeV2d1mACDiqjQGCdVQzlkYXtplFxaU6X1nregDa+POjSObwjAWWmQXjcwnfXNvCjrnFWUk5814o/e/6N3erU1IyaDS/17CwjifdinmlgBVsHgjRmz2zp9VRXK/O4NS3JfcnkTahaeM6XjlPnJqFnmd55pXa7VLSgwzG7JHkouo+iXr7RUUvjhDVfB0hyJKoyt4upjK6VPPObDB+6UVyaWwSv5hSd9xSLjez20sj6KbC+IKji3rox7FVnI9BhCx8f+iUnxjXKg9HSxrkPvTnsGP4FF0vk1ZbW9Qzl4W X-Microsoft-Exchange-Diagnostics: 1;DM3PR1201MB0928;20:3/eILywpChUqbAidBShUew4wdSPiZsybTdSiXn8f3tcxKTgHBbpYAHH4Q5wJFuM/16P8tWU8xRWRj6GSg56Fw6stcJznoqWwlGltUUByz8953lYqsd7NK3NnZxd0Rn3D2cecB/ug97nhdMyGF0gGl5GFRoenDby5IGGQ+LAwsm+EYSZD9MwzqTftIrXzCeMF3hvemiwxku31zCYfF1BuPqqP60zi7AYhYsggIt6sLjftrgiA9N+xA5Plw6Slxf1EzatFUfaEfA0MB7LxoD54c++7wRCa/ov1vpnoYVnjL22JUuWF+8bY3w4nSj1Ryu8jRxAxPWwldAAB3RA0NloGAkQspiKzbhEfEmjBW+q1HeIrzQxfnkigGHYrsmyFtsMce69mOfuTW1M1DaCt/e6KBYEn2eijNBNHN/pQsHV6rJGYB3JvXuVRKmQVWUgpI1eaqjqgQsbPo6YHh2jD3/Y8CZEqwlQNzx38TevrZEQ/kEU2irUaZbi1e17vJ82GhUGI;4:KWiwljKAk36N8QRHLjagFW8hv9Qrz2yXEZCjqBkOy0BkifsIy3giZMOffLKxnfDCGlpGOa/qjVOBSSRU+Dq8kIwkXJZy4p171T1h/55rblheHiTcZTTBzFzI5pEonu9ilTbqYS4xeRQQj/mKOyyh0gEZTpBXAnOP5SbjH3G9pKaFfCY/YyIFeXw8TkK/H/8qGjs/ccY17wPF+LvN36eWwDXOkb1bUbMqeqbjeQ1gQqXkOUuZqd+/gpiYpRUZj+NoSoOBBGLMougLOKMuCBBQfg3NbbwXOw+hH7CXfQ1ntXJjKMYVfqjyl2L9rRp6ThkSvQiC8GaGHdxZZjz+PN64dFzHowbDJNw+Lxg/3H8ZYrrYe3j7qlKNukZnwhpPLfwY51UcilkrNfZyYkvMh03j/FvBKmgzLKSKnjmXh9j/YT0= 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)(10201501046)(3002001)(6055026);SRVR:DM3PR1201MB0928;BCL:0;PCL:0;RULEID:;SRVR:DM3PR1201MB0928; X-Forefront-PRVS: 0983EAD6B2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(377424004)(53754006)(199003)(42186005)(8676002)(77096005)(2906002)(86362001)(2950100001)(65956001)(189998001)(2870700001)(81166006)(81156014)(5001770100001)(47776003)(97736004)(83506001)(65806001)(101416001)(36756003)(23746002)(65816999)(93886004)(87266999)(50986999)(76176999)(54356999)(4326007)(19580405001)(80316001)(19580395003)(6116002)(4001350100001)(586003)(1706002)(92566002)(33656002)(68736007)(106356001)(59896002)(50466002)(105586002)(305945005)(64126003)(7736002)(7846002)(3826002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM3PR1201MB0928;H:[IPv6:2a02:908:1251:a381:e51f:1e04:5125:69d5];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM3PR1201MB0928;23:9rBaI2s5XOfaPPrb47g7lGgbptlosyCMSQA?= =?Windows-1252?Q?tesXQWHC8nMXTc8c1jMO6QAKEv54/0s98BtGnNqctBv2iIIsnxMMad4T?= =?Windows-1252?Q?u8w9R1oGUagvkfXrwHHfEB+01F/nYxjFKpmNgA8l+KIFd7J42zdc6ZSk?= =?Windows-1252?Q?xTN9qtbwEcz+pcaGjdMar9BC5R4fZnvfYnbsKfntCeTyeiCwTk+XH5d/?= =?Windows-1252?Q?HwyQyarg5ltEEyly4J0VDR+Mb+DtviPBIxDfDfAu7WuuBkjbYe5I/zMT?= =?Windows-1252?Q?1CAeVqCedc8a3wuZBiQLiX65/yyrvFtFqC1d9gA2Y2klpJRzfncI/8hk?= =?Windows-1252?Q?Lr1DTiYHe/q5KondzfFgTR7YE7vC+C+s9OJRpGj+KGdTPhZzUVB9LE0m?= =?Windows-1252?Q?TPiA1PElwujVQf5q53Y6Jd6nDGsWKAvPNbxfltaPw3OBAegv6bnQbsjk?= =?Windows-1252?Q?XNf6zl4RT/jLwkhr9CrqfiOKrdBnANDgxUuTfZxNVQIJx9PHD83tBOW/?= =?Windows-1252?Q?9mdNlUjzr3L/uxHDOzMN/VjBMCfk0qkkUI6y2YoqE5UZU6KlObORVOsC?= =?Windows-1252?Q?OYBlBd9pKaT0iN95bA+4woVnQrD71JIHdAOW30VFNpf6Tb7iMYubZV0c?= =?Windows-1252?Q?nZED3Vcyv3H2EHxUIS4Wpycu2YsDxQri4PxUDJu1G+XEms+XjhMEV+vQ?= =?Windows-1252?Q?3crKfnQUqSfhTC0eKPqkyarR/P2nKz3id25i2eyjsLim25MN/GAxH96D?= =?Windows-1252?Q?OTpAjNIRVdBZ93r+e8jQUI2tM+b8e1u0+q6+41HePq4tL4C6RkN9Ufxw?= =?Windows-1252?Q?Syc34Ymj5a/oJtAVzmYcUQQhkW5ByGm+cLTUOq5Yoa653MNnxFKuWFcg?= =?Windows-1252?Q?GXvpBPXe0I3KbN0RW4pQNUbt9nivY9UW5vrRIflyvSN5Bd09fZDU7nt6?= =?Windows-1252?Q?BCNSezz2nnhrHmoGoE7rDbynfW15n6ZnDCUQPPqzgs71G0wRlXDCElVS?= =?Windows-1252?Q?QYNY/CCtCxHYMN5ftxDRU+LbLrcTZeo+I/f6epPbX6QnD0Rfy0zqgOQE?= =?Windows-1252?Q?OI2s+xvWDxx0iZconbegGtiCyDX7yQSDmOqk1ADf9nlDCyHiyc3pW/UK?= =?Windows-1252?Q?i3nIOI9beg1p6dwu+yMMUao5YivHBi84UZg3zmMkpfJsFO3YZn9l2TvY?= =?Windows-1252?Q?PfRK2fdwOuLeezFnsIgN9WMlx5t5TwQLJZSsCJL4ARTkEMT3jA1o+DzB?= =?Windows-1252?Q?Kf5H4L088mgzy38XvK+7Z+3xWGax6GxfLSAwvtub2P8hDsIyOJTFYIQa?= =?Windows-1252?Q?D4joCyX8xahq5AKzCkFa04UXqcTfp9ek3pWWCOF/PWCrv8XACZAd6GMx?= =?Windows-1252?Q?e+h6pOqly5r4ANqFAARUuthO6aAyl7eVV4A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR1201MB0928;6:TV1irpuGDtCcQt/SI4XWj+ykUzk5tL4bVpNy4sp5mC9jrD+vpbkYrcG0/gzwOEFrfWHmMXSnJwaGtVvGERanZdE/LQ97wswBUetHsaWKdBH7QvLzzXJETZAs28CSNA8JNB7QmzckQzRKf4PNkjdyoRiRoIBuj7u+GgHPbvSKBv0iyK2+gndS3aI/x72kAwykA3cQH5vb5nbL3rdYCux5V4i+pWfmMxPfOLjpIzQu/00OkVoung/FTkx5/4+oOgqa66M/8VOga4puR1EzTJo6oPmXPgz+FUAf5Zu3wStuZ4WzYR5/N3/khMo1iEqN2FN0GZGRZgwdYJJpLv1oxDueUPd6ne8mjdbudSqD7FPnHw0=;5:i+57Osz+iF42T623/JvEAEUXufN8bWCKM5oJ8Bo3sI3KcA+hXX7/xZShxmzIJicIdQtDgZ+29iX9l7n7ktsi5yuSlBvIiOP2NttSke70q/S6y1xBcljXIRLUFCiHhj2SbRpsYYQKjvfp0RByny4eAQ==;24:eAXeGYq3hkv5q103of0iltlN0Vhix74/RCVyy5PpIGpkoU6TerrlqMc53oQz3BMYnTiKzt7K1bnTcFfpciRnhWbdEbKPZx1ycoqfvqkmf0M=;7:Hpuxk7VTUszsL40g0HTzHpL3q1nFN5PiW4rJ0Gpfpe019kyqHaF9Ez2ubPMYJfAHMZ8h5oBDn6JiTVROErqSpqxevjXFwdVJNZLulEIVv+SNCgTKQounL7+3T2yEoYlxjoRueWVOASGcCUWiPORNEYsoquBlp3jvZbUjwVz2ln2i371ZUXbIxv+fz+J04XzUsYhHjZGGUuUPsyAbvTJb4QaBgNtJKbT5Q+sYBBXf/zAlv7iljA2Jns/2iifhhU1Y+HFj0f1nt/afTP1fzsYVYA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR1201MB0928;20:U+V9QIRksndlzFgaJLi7whHUjVEdlw6c1Gqehfk8PXhKResVNIsAZU7uxtXhwLVhF77r6+3kZUK20JMGGdC8VF8c5giFRPTucFicnXZDihFgwiHjlMz6hKi9AUt4r2Zk6yk7x+Lj+fGw4lS6qaEDd5j26XrL1F0Nyk7ERHORTX3T/KV6G2f0cwQhOeu53u5uoC+RVd6sW+lzhzSA3s4NCi44h9X9gUW5diWA2U1CXfi+pfgnBlQlO7eZhfBRusaf X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2016 15:10:03.0076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR1201MB0928 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 24.06.2016 um 16:59 schrieb Gustavo Padovan: > 2016-06-24 Christian König : > >> Am 24.06.2016 um 15:17 schrieb Gustavo Padovan: >>> Hi Christian, >>> >>> 2016-06-24 Christian König : >>> >>>> Am 23.06.2016 um 17:29 schrieb Gustavo Padovan: >>>>> From: Gustavo Padovan >>>>> >>>>> Hi all, >>>>> >>>>> This is an attempt to improve fence support on Sync File. The basic idea >>>>> is to have only sync_file->fence and store all fences there, either as >>>>> normal fences or fence_arrays. That way we can remove some potential >>>>> duplication when using fence_array with sync_file: the duplication of the array >>>>> of fences and the duplication of fence_add_callback() for all fences. >>>>> >>>>> Now when creating a new sync_file during the merge process sync_file_set_fence() >>>>> will set sync_file->fence based on the number of fences for that sync_file. If >>>>> there is more than one fence a fence_array is created. One important advantage >>>>> approach is that we only add one fence callback now, no matter how many fences >>>>> there are in a sync_file - the individual callbacks are added by fence_array. >>>>> >>>>> Two fence ops had to be created to help abstract the difference between handling >>>>> fences and fences_arrays: .teardown() and .get_fences(). The former run needed >>>>> on fence_array, and the latter just return a copy of all fences in the fence. >>>>> I'm not so sure about adding those two, speacially .get_fences(). What do you >>>>> think? >>>> Clearly not a good idea to add this a fence ops, cause those are specialized >>>> functions for only a certain fence implementation (the fence_array). >>> Are you refering only to .get_fences()? >> That comment was only for the get_fences() operation, but the teardown() >> callback looks very suspicious to me as well. >> >> Can you explain once more why that should be necessary? > When the sync_file owner exits we need to clean up it and that means releasing > the fence too, however with fence_array we can't just call fence_put() > as a extra reference to array->base for each fence is held when enabling > signalling. Thus we need a prior step, that I called teardown(), to > remove the callback for not signaled fences and put the extra > references. > > Another way to do this would be: > > if (fence_is_array(sync_file->fence)) > fence_array_destroy(to_fence_array(sync_file->fence)); > else > fence_put(sync_file_fence); > > This would avoid the extra ops, maybe we should go this way. NAK on both approaches. The fence array grabs another reference on itself for each callback it registers, so this isn't necessary: > for (i = 0; i < array->num_fences; ++i) { > cb[i].array = array; > /* > * As we may report that the fence is signaled before all > * callbacks are complete, we need to take an additional > * reference count on the array so that we do not free > it too > * early. The core fence handling will only hold the > reference > * until we signal the array as complete (but that is now > * insufficient). > */ > fence_get(&array->base); > if (fence_add_callback(array->fences[i], &cb[i].cb, > fence_array_cb_func)) { > fence_put(&array->base); > if (atomic_dec_and_test(&array->num_pending)) > return false; > } > } So you can just use fence_remove_callback() and then fence_put() without worrying about the reference. Regards, Christian. > > Gustavo