From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru-Cosmin Gheorghe Subject: Re: [PATCH hwc v2 14/18] drm_hwcomposer: Fix race in ApplyFrame Date: Wed, 18 Apr 2018 11:43:53 +0100 Message-ID: <20180418104353.GD10633@e114479-lin.cambridge.arm.com> References: <1523460149-1740-1-git-send-email-alexandru-cosmin.gheorghe@arm.com> <1523460149-1740-15-git-send-email-alexandru-cosmin.gheorghe@arm.com> <20180417170218.GJ73214@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0620.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::620]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B68089338 for ; Wed, 18 Apr 2018 10:44:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180417170218.GJ73214@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: nd@arm.com, ayan.halder@arm.com, liviu.dudau@arm.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMTcsIDIwMTggYXQgMDE6MDI6MThQTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFdlZCwgQXByIDExLCAyMDE4IGF0IDA0OjIyOjI1UE0gKzAxMDAsIEFsZXhhbmRydSBH aGVvcmdoZSB3cm90ZToKPiA+IEFwcGx5RnJhbWUgaG9sZHMgdGhlIGxvY2sganVzdCB3aGVuIGl0 IHN3YXBzIHRoZSB2YWx1ZSBvZgo+ID4gYWN0aXZlX2NvbXBvc2l0aW9uXywgaW4gYSBtdWx0aXRo cmVhZCBjb250ZXh0IHdlIGNvdWxkIGVuZCB1cCBpbiBhCj4gPiBzaXR1YXRpb24gd2hlcmUgc29t ZXRoaW5nIGlzIHNob3duIG9uIHRoZSBzY3JlZW4sIGJ1dCBzb21ldGhpbmcgZWxzZQo+ID4gaXMg c2V0IGluIGFjdGl2ZV9jb21wb3NpdGlvbl8uIEZpeCBpdCBieSBob2xkaW5nIHRoZSBsb2NrIGR1 cmluZwo+ID4gQ29tbWl0RnJhbWUuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBH aGVvcmdoZSA8YWxleGFuZHJ1LWNvc21pbi5naGVvcmdoZUBhcm0uY29tPgo+ID4gLS0tCj4gPiAg ZHJtZGlzcGxheWNvbXBvc2l0b3IuY3BwIHwgNDAgKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4gIGRybWRpc3BsYXljb21wb3NpdG9yLmggICB8ICAyICstCj4gPiAg MiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiA+IAo+ ID4gZGlmZiAtLWdpdCBhL2RybWRpc3BsYXljb21wb3NpdG9yLmNwcCBiL2RybWRpc3BsYXljb21w b3NpdG9yLmNwcAo+ID4gaW5kZXggYWZkM2IwNS4uNTc2NTM5YiAxMDA2NDQKPiA+IC0tLSBhL2Ry bWRpc3BsYXljb21wb3NpdG9yLmNwcAo+ID4gKysrIGIvZHJtZGlzcGxheWNvbXBvc2l0b3IuY3Bw Cj4gPiBAQCAtNzkxLDExICs3OTEsNiBAQCBzdGQ6OnR1cGxlPGludCwgdWludDMyX3Q+IERybURp c3BsYXlDb21wb3NpdG9yOjpDcmVhdGVNb2RlQmxvYigKPiA+ICB9Cj4gPiAgCj4gPiAgdm9pZCBE cm1EaXNwbGF5Q29tcG9zaXRvcjo6Q2xlYXJEaXNwbGF5KCkgewo+ID4gLSAgQXV0b0xvY2sgbG9j aygmbG9ja18sICJjb21wb3NpdG9yIik7Cj4gPiAtICBpbnQgcmV0ID0gbG9jay5Mb2NrKCk7Cj4g PiAtICBpZiAocmV0KQo+ID4gLSAgICByZXR1cm47Cj4gPiAtCj4gPiAgICBpZiAoIWFjdGl2ZV9j b21wb3NpdGlvbl8pCj4gPiAgICAgIHJldHVybjsKPiA+ICAKPiA+IEBAIC04MDgsMTEgKzgwMywy NSBAQCB2b2lkIERybURpc3BsYXlDb21wb3NpdG9yOjpDbGVhckRpc3BsYXkoKSB7Cj4gPiAgfQo+ ID4gIAo+ID4gIHZvaWQgRHJtRGlzcGxheUNvbXBvc2l0b3I6OkFwcGx5RnJhbWUoCj4gPiAtICAg IHN0ZDo6dW5pcXVlX3B0cjxEcm1EaXNwbGF5Q29tcG9zaXRpb24+IGNvbXBvc2l0aW9uLCBpbnQg c3RhdHVzKSB7Cj4gPiArICAgIHN0ZDo6dW5pcXVlX3B0cjxEcm1EaXNwbGF5Q29tcG9zaXRpb24+ IGNvbXBvc2l0aW9uLCBpbnQgc3RhdHVzLAo+ID4gKyAgICBib29sIHdyaXRlYmFjaykgewo+IAo+ IFRoZSB3cml0ZWJhY2sgYXJndW1lbnQgYWRkaXRpb24gc2VlbXMgdW5yZWxhdGVkIHRvIHRoaXMg Y2hhbmdlLgoKQWdyZWUuCgo+IAo+ID4gKyAgQXV0b0xvY2sgbG9jaygmbG9ja18sIF9fRlVOQ1RJ T05fXyk7Cj4gPiArICBpZiAobG9jay5Mb2NrKCkpCj4gPiArICAgIHJldHVybjsKPiA+ICAgIGlu dCByZXQgPSBzdGF0dXM7Cj4gPiAtCj4gPiAtICBpZiAoIXJldCkKPiA+ICsgIGlmICghcmV0KSB7 Cj4gPiArICAgIGlmICh3cml0ZWJhY2sgJiYgIUNvdW50ZG93bkV4cGlyZWQoKSkgewo+ID4gKyAg ICAgIEFMT0dFKCJBYm9ydCBwbGF5aW5nIGJhY2sgc2NlbmUiKTsKPiA+ICsgICAgICByZXR1cm47 Cj4gPiArICAgIH0KPiA+ICAgICAgcmV0ID0gQ29tbWl0RnJhbWUoY29tcG9zaXRpb24uZ2V0KCks IGZhbHNlKTsKPiA+ICsgICAgaWYgKCFyZXQpIHsKPiA+ICsgICAgICArK2R1bXBfZnJhbWVzX2Nv bXBvc2l0ZWRfOwo+ID4gKyAgICAgIGlmIChhY3RpdmVfY29tcG9zaXRpb25fKQo+ID4gKyAgICAg ICAgYWN0aXZlX2NvbXBvc2l0aW9uXy0+U2lnbmFsQ29tcG9zaXRpb25Eb25lKCk7Cj4gPiArICAg ICAgYWN0aXZlX2NvbXBvc2l0aW9uXy5zd2FwKGNvbXBvc2l0aW9uKTsKPiAKPiBXaHkgbW92ZSB0 aGlzIHN0dWZmPwoKQmVjYXVzZSBib3RoIENvbW1pdEZyYW1lIGFuZCBzd2FwIG5lZWQgdGhlIGxv Y2ssIHRoZSBjb2RlIGluIGJldHdlZW4KZG9uJ3QgbmVlZCB0aGF0LgoKPiAKPiA+ICsgICAgfQo+ ID4gKyAgfQo+ID4gIAo+ID4gICAgaWYgKHJldCkgewo+ID4gICAgICBBTE9HRSgiQ29tcG9zaXRl IGZhaWxlZCBmb3IgZGlzcGxheSAlZCIsIGRpc3BsYXlfKTsKPiA+IEBAIC04MjEsMjEgKzgzMCw2 IEBAIHZvaWQgRHJtRGlzcGxheUNvbXBvc2l0b3I6OkFwcGx5RnJhbWUoCj4gPiAgICAgIENsZWFy RGlzcGxheSgpOwo+ID4gICAgICByZXR1cm47Cj4gPiAgICB9Cj4gPiAtICArK2R1bXBfZnJhbWVz X2NvbXBvc2l0ZWRfOwo+ID4gLQo+ID4gLSAgaWYgKGFjdGl2ZV9jb21wb3NpdGlvbl8pCj4gPiAt ICAgIGFjdGl2ZV9jb21wb3NpdGlvbl8tPlNpZ25hbENvbXBvc2l0aW9uRG9uZSgpOwo+ID4gLQo+ ID4gLSAgcmV0ID0gcHRocmVhZF9tdXRleF9sb2NrKCZsb2NrXyk7Cj4gPiAtICBpZiAocmV0KQo+ ID4gLSAgICBBTE9HRSgiRmFpbGVkIHRvIGFjcXVpcmUgbG9jayBmb3IgYWN0aXZlX2NvbXBvc2l0 aW9uIHN3YXAiKTsKPiA+IC0KPiA+IC0gIGFjdGl2ZV9jb21wb3NpdGlvbl8uc3dhcChjb21wb3Np dGlvbik7Cj4gPiAtCj4gPiAtICBpZiAoIXJldCkKPiA+IC0gICAgcmV0ID0gcHRocmVhZF9tdXRl eF91bmxvY2soJmxvY2tfKTsKPiA+IC0gIGlmIChyZXQpCj4gPiAtICAgIEFMT0dFKCJGYWlsZWQg dG8gcmVsZWFzZSBsb2NrIGZvciBhY3RpdmVfY29tcG9zaXRpb24gc3dhcCIpOwo+ID4gIH0KPiA+ ICAKPiA+ICBpbnQgRHJtRGlzcGxheUNvbXBvc2l0b3I6OkFwcGx5Q29tcG9zaXRpb24oCj4gPiBk aWZmIC0tZ2l0IGEvZHJtZGlzcGxheWNvbXBvc2l0b3IuaCBiL2RybWRpc3BsYXljb21wb3NpdG9y LmgKPiA+IGluZGV4IDBmOGRhYWQuLmIzNWVmNzAgMTAwNjQ0Cj4gPiAtLS0gYS9kcm1kaXNwbGF5 Y29tcG9zaXRvci5oCj4gPiArKysgYi9kcm1kaXNwbGF5Y29tcG9zaXRvci5oCj4gPiBAQCAtMTI3 LDcgKzEyNyw3IEBAIGNsYXNzIERybURpc3BsYXlDb21wb3NpdG9yIHsKPiA+ICAKPiA+ICAgIHZv aWQgQ2xlYXJEaXNwbGF5KCk7Cj4gPiAgICB2b2lkIEFwcGx5RnJhbWUoc3RkOjp1bmlxdWVfcHRy PERybURpc3BsYXlDb21wb3NpdGlvbj4gY29tcG9zaXRpb24sCj4gPiAtICAgICAgICAgICAgICAg ICAgaW50IHN0YXR1cyk7Cj4gPiArICAgICAgICAgICAgICAgICAgaW50IHN0YXR1cywgYm9vbCB3 cml0ZWJhY2sgPSBmYWxzZSk7Cj4gPiAgCj4gPiAgICBzdGQ6OnR1cGxlPGludCwgdWludDMyX3Q+ IENyZWF0ZU1vZGVCbG9iKGNvbnN0IERybU1vZGUgJm1vZGUpOwo+ID4gIAo+ID4gLS0gCj4gPiAy LjcuNAo+ID4gCj4gCj4gLS0gCj4gU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xl IC8gQ2hyb21pdW0gT1MKCi0tIApDaGVlcnMsCkFsZXggRwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK