From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [RFC 1/8] dma-buf/fence: add fence_collection fences Date: Wed, 18 May 2016 09:07:47 +0200 Message-ID: <573C14C3.8080604@amd.com> References: <1460683781-22535-1-git-send-email-gustavo@padovan.org> <1460683781-22535-2-git-send-email-gustavo@padovan.org> <20160415080254.GQ2510@phenom.ffwll.local> <5710AE61.9040308@amd.com> <20160415182750.GA23954@joana> <20160415192550.GZ2510@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0060.outbound.protection.outlook.com [65.55.169.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8016F6E7F3 for ; Wed, 18 May 2016 07:08:07 +0000 (UTC) In-Reply-To: <20160415192550.GZ2510@phenom.ffwll.local> 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?= , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Daniel Stone , =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , Riley Andrews , Rob Clark , Greg Hackmann , John Harrison , laurent.pinchart@ideasonboard.com, seanpaul@google.com, marcheu@google.com, m.chehab@samsung.com, Maarten Lankhorst , Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org QW0gMTUuMDQuMjAxNiB1bSAyMToyNSBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gT24gRnJpLCBB cHIgMTUsIDIwMTYgYXQgMTE6Mjc6NTBBTSAtMDcwMCwgR3VzdGF2byBQYWRvdmFuIHdyb3RlOgo+ PiAyMDE2LTA0LTE1IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT46 Cj4+PiBBbWRncHUgYWxzbyBoYXMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGEgZmVuY2UgY29sbGVj dGlvbiB3aGljaCB1c2VzIGEgYQo+Pj4gaGFzaHRhYmxlIHRvIGtlZXAgdGhlIGZlbmNlcyBncm91 cGVkIGJ5IGNvbnRleHQgKGUuZy4gb25seSB0aGUgbGF0ZXN0IGZlbmNlCj4+PiBpcyBrZWVwdCBm b3IgZWFjaCBjb250ZXh0KS4gU2VlIGFtZGdwdV9zeW5jLmMgZm9yIHJlZmVyZW5jZS4KPj4+Cj4+ PiBXZSBzaG91bGQgZWl0aGVyIG1ha2UgdGhlIGNvbGxlY3Rpb24gc2ltaWxhciBpbiBhIHdheSB0 aGF0IHlvdSBjYW4gYWRkIGFzCj4+PiBtYW55IGZlbmNlcyBhcyB5b3Ugd2FudCAobGlrZSB0aGUg YW1kZ3B1IGltcGxlbWVudGF0aW9uKSBvciBtYWtlIGl0IHN0YXRpYwo+Pj4gYW5kIG9ubHkgYWRk IGEgZml4ZWQgbnVtYmVyIG9mIGZlbmNlcyByaWdodCBmcm9tIHRoZSBiZWdpbm5pbmcuCj4+Pgo+ Pj4gSSBjYW4gY2VydGFpbmx5IHNlZSB1c2UgY2FzZXMgZm9yIGJvdGgsIGJ1dCBpZiB5b3Ugd2Fu dCB0byBzdGljayB3aXRoIGEKPj4+IHN0YXRpYyBhcHByb2FjaCB5b3Ugc2hvdWxkIHByb2JhYmx5 IGNhbGwgdGhlIG5ldyBvYmplY3QgZmVuY2VfYXJyYXkgaW5zdGVhZAo+Pj4gb2YgZmVuY2VfY29s bGVjdGlvbiBhbmQgZG8gYXMgRGFuaWVsIHN1Z2dlc3RlZC4KPj4gTWF5YmUgd2UgY2FuIGdvIGZv ciBzb21ldGhpbmcgaW4gYmV0d2Vlbi4gSGF2ZSBmZW5jZV9jb2xsZWN0aW9uX2luaXQoKQo+PiBu ZWVkIGF0IGxlYXN0IHR3byBmZW5jZXMgdG8gY3JlYXRlIHRoZSBmZW5jZV9jb2xsZWN0aW9uLiBU aGVuCj4+IGZlbmNlX2NvbGxlY3Rpb25fYWRkKCkgd291bGQgYWRkIG1vcmUgZGluYW1pY2FsbHku Cj4gVGhlIHByb2JsZW0gd2l0aCBhZGRpbmcgZmVuY2VzIGxhdGVyIG9uIGlzIHRoYXQgaXQgbWFr ZXMgaXQgdHJpdmlhbCB0byBhZGQKPiBkZWFkbG9ja3MgYW5kIGxvb3BzLiBKdXN0IGFkZCB0aGUg ZmVuY2UgY29sbGVjdGlvbiB0byBpdHNlbGYsIGJvb20uIEZyb20KPiB0aGF0IHBvdiBpdCdzIGFu IHVuc2FmZSBhcGksIGFuZCBoZW5jZSBzb21ldGhpbmcgdG8gYXZvaWQuCj4gLURhbmllbAoKQW55 IGNvbmNsdXNpb24gb24gdGhpcz8gRGlkIGFueSB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBtYWRlIGl0 IHVwc3RyZWFtPwoKSSdtIGluIHRoZSBuZWVkIG9mIGFuIGFycmF5IGJhc2VkIGZlbmNlIGNvbGxl Y3Rpb24gcmlnaHQgbm93IGFzIHdlbGwuIApBbnkgb2JqZWN0aW9uIHRoYXQgSSBqdXN0IHRha2Ug dGhlIHBhdGNoIHByb3Bvc2VkIGhlcmUgYW5kIGZpeCB0aGUgCmNvbW1lbnRzIG9yIGFyZSB5b3Ug c3RpbGwgZWxzZSB3b3JraW5nIG9uIHRoaXMgcmlnaHQgbm93PwoKUmVnYXJkcywKQ2hyaXN0aWFu LgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752105AbcERHIL (ORCPT ); Wed, 18 May 2016 03:08:11 -0400 Received: from mail-bl2on0061.outbound.protection.outlook.com ([65.55.169.61]:4512 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751179AbcERHIJ (ORCPT ); Wed, 18 May 2016 03:08:09 -0400 Authentication-Results: collabora.co.uk; dkim=none (message not signed) header.d=none;collabora.co.uk; dmarc=none action=none header.from=amd.com; Subject: Re: [RFC 1/8] dma-buf/fence: add fence_collection fences To: Gustavo Padovan , =?UTF-8?Q?Christian_K=c3=b6nig?= , , , Daniel Stone , =?UTF-8?Q?Arve_Hj=c3=b8nnev=c3=a5g?= , Riley Andrews , Rob Clark , Greg Hackmann , John Harrison , , , , , Maarten Lankhorst , Gustavo Padovan References: <1460683781-22535-1-git-send-email-gustavo@padovan.org> <1460683781-22535-2-git-send-email-gustavo@padovan.org> <20160415080254.GQ2510@phenom.ffwll.local> <5710AE61.9040308@amd.com> <20160415182750.GA23954@joana> <20160415192550.GZ2510@phenom.ffwll.local> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <573C14C3.8080604@amd.com> Date: Wed, 18 May 2016 09:07:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <20160415192550.GZ2510@phenom.ffwll.local> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1250:ae81:e06e:5e9b:4940:a9d7] X-ClientProxiedBy: AM4PR01CA0022.eurprd01.prod.exchangelabs.com (10.164.74.160) To BY2PR12MB0132.namprd12.prod.outlook.com (10.162.82.17) X-MS-Office365-Filtering-Correlation-Id: 373a69eb-08e6-4897-570d-08d37eeb281e X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;2:+srbM8ewetP42u02E3TPcUXE8CBgw1H9rxC46NCE1MX9XERrQ8/VDI46jEeTB/0Q7FZhe8vjA5bRv4PCoLuziMJQQ/NEZV82a9nAlU5ZQ8Y4OHB7BE93oCsjDtDyDyQrZnun8RAWey44OGxQpm2JUWg872nGoP0RDOXuJykeLvfl1nGABAYRBUwv+M2Gb/BM;3:BGVGDvAsgqREoXFBu3jb7PtGVSieNC1BI8jGRghmplgVKyImO6phznQp5KH1uzlpC3V0htlqYVWd6E/J65V35EPZWtIpyZ/4rPTufOKV8R5fvGZq0pO0P9zOay/t3Hl5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR12MB0132; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;25:k4cR98wtfKHanPQzby48r3VOCmE7SFZQZnFvCuIO2d0GMApno9d+ucLVHt3ePhw17HdFHSO0F0nsqzXjRk725cJblg8PkMt/Z0dMFrt+X4xkFJVkppWnkGunUOoMZbYg/Q+4snh4XNN33yGAZpRyyZuSezQ5PqUFStVgFT4rA0fGzhy9rLZsrge0fPcO+lx2Y71SYACUFodCX+tMxB6Yz/vcAYQllLxt5+jABR4xRU881PPFLcaBIjONu9fOu5fRcwbCILKue2iVOM9jJ1cxdXx3N850AwcGEzJMyeapsJXvYLmJePh4g/KWdf0V6f7j3LgYemB04FsWjdsqGFRVIQ9vFGZx58sMg0zYIHLhsMtFcq7vUL9sOMC8TyP2e1gBh01w6Mc9CG6G1hRxPnz6K6sNdOzzf5FeMNPb2KXXz/py2QMaBaMqgORWhhGbMPd1yYOtIbdokJSknJOk8Q4hiUms0omdNlQrPrBoQPqxZ4DxF6jMBflxxrEuaz4M0dhLGz6R9ETsLO3QLdc6Ge1mdtwo0A2gct5+oSKagk3TrG/nRG6Zb+zuXuckA08mwNKHBLMYs9Qp0KGppMCPkTsztrlAPeSXvUoSgLpIo1Yquyfgghpm02Bn2DRfOvWXEpVlrz9vqnlhVt3aSk0X7JoqLaXR6MTGHylprEknK9ldkfAAdlwpT1WRJtDg7OxZH0GUq5/nB+V+hE0YPU9mawXes3SzLuhwcqczmRVsj0KaS7siFy1vHEggD6xKm0PTwTQn X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;20:RP0VtxAMYiXpdZevEoPKl2nWWjs0nqKlqLiv0UjkkUuTlbSSrFjkn6xmsefXfuZ+jGebUjIVufvsccuTaARKn9UTPqzrmhTk5dt5pZVha0MgXH7EQx6MdWLlsxaD8sSuOHmX5JmiX/5l6LuEKgswRuVU3bj3XEF1j8nP/h8P7fir6bWMsTSpGwtyGzHCommD0BMBFGGbnK5QjAfTB8smKBFdUS1Qa03QsaGGSQJKLvIm/jC+OJmbe+GnT/nto4nB5lwH1AB9PMdPSSsbMIJcK4y837Vph+Nu/Pf80BeGEfZQqOZErfylqmk2OECxOWvF8m5PNB6iJwcZdwSmXapfD8ZwdpbUzYrsDt6GluY/hUftKgI3Iq3BeMvSBaZfebL8mIP3oXk1/NJ0uBRHleapcnHkBA+/cFkLIecrctPqZXUQX9GWrjn7OPbergkN5FXshXSzizXMqFYVdmMisegwR+S4PLoxoZJjcuPXsLrwjczUc2EDE3zXCB2UbhtFM/rZ;4:MD2qi96B2+G9NGR1S9nj2L60IzBzLBdrPxevsj2YWR1lssbrtGJkdhlqHR4CNWgp9rI0pFheOMiqMR2fHuJ2rX9Qp16KmqupThfNHwSilc744PsciZOhYr/8sYWlPfLRBoJ8efq7Jk7Nin8Cqnn9/clAzFyWX1qunrfwKYjjrc0NJcfn8i0f+RkwYnJymah3Iwd4drmyJ0VhhWza+zBmx6kQKUGC4fZDGYhPU4qv3kvvCTxIN8v/c/r89zMqJBEHutHxVKUenaP78XFklbaUM9lH3d808i5HkUUjGgq7Rbv6xwwyNHeUqR4ZcSI6XeC0ydemT2wy6RTHoBGkogYJiFEW1UpgZiyF/4Y+Wb1hDXnS0M+xjPX0xivGLouIBhOa/2gfn+c6CgPhS24wWAeZIw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:BY2PR12MB0132;BCL:0;PCL:0;RULEID:;SRVR:BY2PR12MB0132; X-Forefront-PRVS: 0946DC87A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(377424004)(24454002)(5008740100001)(2950100001)(59896002)(86362001)(5004730100002)(77096005)(107886002)(586003)(83506001)(80316001)(19580405001)(19580395003)(5001770100001)(189998001)(4001350100001)(6116002)(23676002)(54356999)(87266999)(76176999)(50986999)(65816999)(64126003)(93886004)(42186005)(33656002)(92566002)(81166006)(50466002)(36756003)(8676002)(2201001)(2906002)(2870700001)(921003)(3826002)(1121003)(83996005)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0132;H:[IPv6:2a02:908:1250:ae81:e06e:5e9b:4940:a9d7];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTMyOzIzOlJhNHVYOHMvMnNBMHMyaldRV092NEIyb3hm?= =?utf-8?B?dUNaTGhuMTJGRWdUNXNFdENSRUhkVktpZE0vdm9xZmhQb0ltQThsa1pOazVJ?= =?utf-8?B?dTdNaGtlWFBrT0c3U1YwYjBhMU5XMzBscEQzbXY4Zk1XSmFod043L25lQ3p0?= =?utf-8?B?T2Y0Ym9UQjhzNUJNdVU2aTVnR21hTi8zR0doRHdnSjNuaTNRN0Fic3lYSmx3?= =?utf-8?B?WGhYZENlUVVlTHQ0K3JWZ0JMZkd6eDlXampabFF2QXo3Y0h0ZmxoclZReXB1?= =?utf-8?B?WjJxamhOdmxFZWJZQmV0aVl0dDdiays3STRZNnU0WTFwSTdaTXdMTG9seTBE?= =?utf-8?B?NjlHdEZaUms1V2xyZWtpSHN1QW80YU85amdHam1jT0dISzE3WmszZmFMOFQv?= =?utf-8?B?YysrNGdkbmZseFh4QUVXWkZ6aGxxeW9jMmtEa2RRdkZuVWJ3dmw0TjNmZU0z?= =?utf-8?B?dE8vR2VYcUZmU1dnQjJVczFkd2FvYVZTZlltaW9sVkJrMVQxWW5oZ25ldXJV?= =?utf-8?B?dTN0VWdXUnZWeS80cGhpZUdUVU9yZE0zK0taQlFtN1J1T1lreDcwZ1h0TlpE?= =?utf-8?B?TmROTFp1ZXdSQm9Da1IrVGRBQWVodVQ0Tnh1SlNDSjFmNHVmemlyVHcrckVo?= =?utf-8?B?aVBrZG9XbGlwRzMvWVZaZmYxVS9xNEtUWDh2eHNDeXFtZGtEWTR5UVZFb3cv?= =?utf-8?B?QVloMWM2TU9mL1RqMDB0K1RZUktIOVdlRzBpOVB1NzBEV0Qvd2VsYjc5d1d1?= =?utf-8?B?S3dTUmFGQ0pYZnl1TVRwMG55ZEhRY3Z5cG1RUzBLQUdOSEFqL0VFcm1uWGFS?= =?utf-8?B?Q09SUEhsYnJQamRFOElGWUowZjAwdWtGY2JVVHlidGxJR1dkMXhlRUJMOUhj?= =?utf-8?B?aUJ4NlNsYWFCdUF3c2JxNGJQR1BkVVFUWFdrYmZwd1BwU2d3VUhyMTMxbmxR?= =?utf-8?B?MXF0cSt1RnB2dWJrTHBaZHM4QnB3c1lmNFpBRSswSWYwSkpQUTRxM2FpZ3hZ?= =?utf-8?B?OERxSXZCWStIZjhmR3Z4NjVkRWRSQzJzM1lKd2tXV0VaaTJibmFoM3Z2T0xO?= =?utf-8?B?bXkyY0lCMGlienBLWXNmeHl1d000TlNQaTlHbzJmMUwrWnc1TjhYaFdmUWxR?= =?utf-8?B?UW5YSFRiYlhvak1aN2xpbzlTNXRnZlRlclJHZ3pqN3c4N2Znd0tOZmFadlpx?= =?utf-8?B?aEdmL2Q1YmtKVENOMTdKOXgyVm41RFBIeEdTMUNhaTJDejhZTENKMnY1R0kz?= =?utf-8?B?WStsWUhlY0NwckxnT0dPWEszYXUwQUpqTlR5ZnRPNmpaaVIzKzNVQWdhaVFw?= =?utf-8?B?d3JudnU4SkV0VzliUmhHcjBZYUlJUENWMkNHTW1LTWE0OXozZ01lUkkrSWlC?= =?utf-8?B?RTZWQUtPT1dyVVhSU1oxWS94V1ZxWllPRHVwUG9lcDRIMEhmZGQ1Zjh1S0V4?= =?utf-8?B?WVl6dHcxOU9IekkzeDdXNWJjbXZaSksvbWtoZFp5M0s1Um14RlA2b0o3RHJT?= =?utf-8?Q?Z4BumQBGUmkzcuwvjDB60m9wXqntTf90y5ZDd1Xm26ywzM?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0132;5:DKnmxQe6nypul1b9ihR9v6ZESgIg+GwDFoEo1ssFXhDKeHccDAymsDVDxO3jogFvEzXDfc7gsWkV0hzkFeoE/L/qIZiukbeR4/fkgIUa3KN3vwADOsrKk76roEYjBOxVelo1mJfFzW7R0gDSeBpmPQ==;24:/6XXcA3YkZC6yPW+l85sitzNdNS50OZKmfm3DCEw7iiMFvk5RNdAIORB/J3Y4ow1KeMjbKUhQJYx3+Y+Dnxt9J1+yBrgSkDRYpDmjeRf+94=;7:GiVawvtm2D2nouCp8KA4e42igV3CDOhXG1LrxZ0GaU01GfAWA7rHfkkYomnkH7yQ8WTD9IlswL67/zPFJttoyCEU0mlpwYygRXE2i7OEcoypGzC57bGsmV4nY4KF+5K2buHIuPdGiuzeLQX3FWeFjmo0Wcw2fpfHi5ustagiaWc=;20:7sPD9H1AU4P27OGBz8MixWU4f+qYVn6w98963DiewrWMpitnsiO6oj0pb2pY0FfIioS0K6blqdiyHcsgdgkH+E/UcsIhzxvqW+Es84MgIxVZws3HAHDsbk10pFDhi9mjZvT3xcd/08TYMB33XQclzBhcYXf1Pjspusf2dm48JWGGsV1ib4ZIc536W9mqVnlh9uY6WBPFcQXlEZbarqaK46eglP/JvIZ3KgvI5nl0L9FJ3SRMyjAAzO7iJ17Cj9DM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2016 07:08:00.2831 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0132 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 15.04.2016 um 21:25 schrieb Daniel Vetter: > On Fri, Apr 15, 2016 at 11:27:50AM -0700, Gustavo Padovan wrote: >> 2016-04-15 Christian König : >>> Amdgpu also has an implementation for a fence collection which uses a a >>> hashtable to keep the fences grouped by context (e.g. only the latest fence >>> is keept for each context). See amdgpu_sync.c for reference. >>> >>> We should either make the collection similar in a way that you can add as >>> many fences as you want (like the amdgpu implementation) or make it static >>> and only add a fixed number of fences right from the beginning. >>> >>> I can certainly see use cases for both, but if you want to stick with a >>> static approach you should probably call the new object fence_array instead >>> of fence_collection and do as Daniel suggested. >> Maybe we can go for something in between. Have fence_collection_init() >> need at least two fences to create the fence_collection. Then >> fence_collection_add() would add more dinamically. > The problem with adding fences later on is that it makes it trivial to add > deadlocks and loops. Just add the fence collection to itself, boom. From > that pov it's an unsafe api, and hence something to avoid. > -Daniel Any conclusion on this? Did any version of the patch made it upstream? I'm in the need of an array based fence collection right now as well. Any objection that I just take the patch proposed here and fix the comments or are you still else working on this right now? Regards, Christian.