From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Engestrom Subject: Re: [Mesa-dev] [PATCH v1 01/13] lib/sw_sync: Add helper functions for managing synchronization primitives Date: Tue, 23 Aug 2016 23:05:57 +0100 Message-ID: <20160823220557.GA5972@engestrom.ch> References: <1471974975-11531-1-git-send-email-robert.foss@collabora.com> <1471974975-11531-2-git-send-email-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1471974975-11531-2-git-send-email-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: robert.foss@collabora.com Cc: Daniel Stone , intel-gfx@lists.freedesktop.org, Gustavo Padovan , mesa-dev@lists.freedesktop.org, Gustavo Padovan List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMjMsIDIwMTYgYXQgMDE6NTY6MDNQTSAtMDQwMCwgcm9iZXJ0LmZvc3NAY29s bGFib3JhLmNvbSB3cm90ZToKPiBGcm9tOiBSb2JlcnQgRm9zcyA8cm9iZXJ0LmZvc3NAY29sbGFi b3JhLmNvbT4KPiAKPiBCYXNlIGZ1bmN0aW9ucyB0byBoZWxwIHRlc3RpbmcgdGhlIFN5bmMgRmls ZSBGcmFtZXdvcmsgKGV4cGxpY2l0IGZlbmNpbmcKPiBtZWNoYW5pc20gcG9ydGVkIGZyb20gQW5k cm9pZCkuCj4gVGhlc2UgZnVuY3Rpb25zIGFsbG93IHlvdSB0byBjcmVhdGUsIHVzZSBhbmQgZGVz dHJveSB0aW1lbGluZXMgYW5kIGZlbmNlcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBHdXN0YXZvIFBh ZG92YW4gPGd1c3Rhdm8ucGFkb3ZhbkBjb2xsYWJvcmEuY28udWs+Cj4gU2lnbmVkLW9mZi1ieTog Um9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4gIGxpYi9NYWtl ZmlsZS5zb3VyY2VzIHwgICAyICsKPiAgbGliL3N3X3N5bmMuYyAgICAgICAgfCAyMzggKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGxpYi9zd19z eW5jLmggICAgICAgIHwgIDQ5ICsrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjg5IGlu c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9zd19zeW5jLmMKPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGxpYi9zd19zeW5jLmgKPiAKCltzbmlwXQoKPiAraW50IHN3X3N5bmNfZmRf aXNfdmFsaWQoaW50IGZkKQo+ICt7Cj4gKwlpbnQgc3RhdHVzOwo+ICsKPiArCWlmIChmZCA9PSAt MSkKCmAtMWAgc2VlbXMgdG9vIHNwZWNpZmljLiBXaGlsZSBvcGVuKCkgd2lsbCByZXR1cm4gLTEg b24gZXJyb3IsIGFueQpuZWdhdGl2ZSBmZCBpcyBpbnZhbGlkLCBzbyBJJ2QgdGVzdCBmb3IgYDww YCBoZXJlIGluc3RlYWQuCgo+ICsJCXJldHVybiAwOwo+ICsKPiArCXN0YXR1cyA9IGZjbnRsKGZk LCBGX0dFVEZELCAwKTsKPiArCXJldHVybiBzdGF0dXMgPj0gMDsKPiArfQo+ICsKPiArc3RhdGlj Cj4gK3ZvaWQgc3dfc3luY19mZF9jbG9zZShpbnQgZmQpCj4gK3sKPiArCWlmIChmZCA9PSAtMSkK PiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGZjbnRsKGZkLCBGX0dFVEZELCAwKSA8IDApCj4gKwkJ cmV0dXJuOwoKV2h5IG5vdCByZXBsYWNlIHRoZXNlIHR3byB0ZXN0cyB3aXRoIGEgc2ltcGxlCmlm IChzd19zeW5jX2ZkX2lzX3ZhbGlkKGZkKSkKCj4gKwo+ICsJY2xvc2UoZmQpOwo+ICt9Cj4gKwo+ ICtpbnQgc3dfc3luY190aW1lbGluZV9jcmVhdGUodm9pZCkKPiArewo+ICsJaW50IGZkID0gb3Bl bigiL2Rldi9zd19zeW5jIiwgT19SRFdSKTsKPiArCj4gKwlpZiAoIXN3X3N5bmNfZmRfaXNfdmFs aWQoZmQpKQo+ICsJCWZkID0gb3BlbigiL3N5cy9rZXJuZWwvZGVidWcvc3luYy9zd19zeW5jIiwg T19SRFdSKTsKCkkgdGVuZCB0byBwcmVmZXIgZm9yIGhhcmQtY29kZWQgcGF0aHMgdG8gYmUgaW4g YSAjZGVmaW5lIGF0IHRoZSB0b3AsIGJ1dApJIGRvbid0IGtub3cgd2hhdCB0aGUgcG9saWN5IGZv ciB0aGF0IGlzIGluIElHVC4KCj4gKwo+ICsJaWd0X2Fzc2VydChzd19zeW5jX2ZkX2lzX3ZhbGlk KGZkKSk7Cj4gKwo+ICsJcmV0dXJuIGZkOwo+ICt9Cj4gKwoKW3NuaXBdCgo+ICtzdGF0aWMgc3Ry dWN0IHN5bmNfZmlsZV9pbmZvICpzeW5jX2ZpbGVfaW5mbyhpbnQgZmQpCj4gK3sKPiArCXN0cnVj dCBzeW5jX2ZpbGVfaW5mbyAqaW5mbzsKPiArCXN0cnVjdCBzeW5jX2ZlbmNlX2luZm8gKmZlbmNl X2luZm87Cj4gKwlpbnQgZXJyLCBudW1fZmVuY2VzOwo+ICsKPiArCWluZm8gPSBtYWxsb2Moc2l6 ZW9mKCppbmZvKSk7Cj4gKwlpZiAoaW5mbyA9PSBOVUxMKQo+ICsJCXJldHVybiBOVUxMOwo+ICsK PiArCW1lbXNldChpbmZvLCAwLCBzaXplb2YoKmluZm8pKTsKCllvdSBjb3VsZCByZXBsYWNlIG1h bGxvYygpICsgbWVtc2V0KDApIHdpdGggY2FsbG9jKCksIGFzIHlvdSdyZSBkb2luZwphIGZldyBs aW5lcyBiZWxvdy4KCj4gKwllcnIgPSBpb2N0bChmZCwgU1lOQ19JT0NfRklMRV9JTkZPLCBpbmZv KTsKPiArCWlmIChlcnIgPCAwKSB7Cj4gKwkJZnJlZShpbmZvKTsKPiArCQlyZXR1cm4gTlVMTDsK PiArCX0KPiArCj4gKwludW1fZmVuY2VzID0gaW5mby0+bnVtX2ZlbmNlczsKPiArCj4gKwlpZiAo bnVtX2ZlbmNlcykgewo+ICsJCWluZm8tPmZsYWdzID0gMDsKPiArCQlpbmZvLT5udW1fZmVuY2Vz ID0gbnVtX2ZlbmNlczsKPiArCj4gKwkJZmVuY2VfaW5mbyA9IGNhbGxvYyhudW1fZmVuY2VzLCBz aXplb2Yoc3RydWN0IHN5bmNfZmVuY2VfaW5mbykpOwoKc2l6ZW9mKCpmZW5jZV9pbmZvKQoKPiAr CQlpZiAoIWZlbmNlX2luZm8pCj4gKwkJCWZyZWUoaW5mbyk7Cj4gKwkJCXJldHVybiBOVUxMOwoK TWlzc2luZyBicmFjZXMKCj4gKwo+ICsJCWluZm8tPnN5bmNfZmVuY2VfaW5mbyA9ICh1aW50NjRf dCkodW5zaWduZWQgbG9uZykgKGZlbmNlX2luZm8pOwo+ICsKPiArCQllcnIgPSBpb2N0bChmZCwg U1lOQ19JT0NfRklMRV9JTkZPLCBpbmZvKTsKPiArCQlpZiAoZXJyIDwgMCkgewo+ICsJCQlmcmVl KGZlbmNlX2luZm8pOwo+ICsJCQlmcmVlKGluZm8pOwo+ICsJCQlyZXR1cm4gTlVMTDsKPiArCQl9 Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGluZm87Cj4gK30KCltzbmlwXQoKQ2hlZXJzLAogIEVyaWMK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==