From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [PATCH 1/6] locking: add ww_mutex_(un)lock_for_each helpers Date: Fri, 14 Jun 2019 14:56:41 +0200 Message-ID: <20190614125641.GO3436@hirez.programming.kicks-ass.net> References: <20190614124125.124181-1-christian.koenig@amd.com> <20190614124125.124181-2-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190614124125.124181-2-christian.koenig@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: thellstrom@vmware.com, lima@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, etnaviv@lists.freedesktop.org, yuq825@gmail.com, linux+etnaviv@armlinux.org.uk List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdW4gMTQsIDIwMTkgYXQgMDI6NDE6MjBQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBUaGUgd3dfbXV0ZXggaW1wbGVtZW50YXRpb24gYWxsb3dzIGZvciBkZXRlY3Rp b24gZGVhZGxvY2tzIHdoZW4gbXVsdGlwbGUKPiB0aHJlYWRzIHRyeSB0byBhY3F1aXJlIHRoZSBz YW1lIHNldCBvZiBsb2NrcyBpbiBkaWZmZXJlbnQgb3JkZXIuCj4gCj4gVGhlIHByb2JsZW0gaXMg dGhhdCBoYW5kbGluZyB0aG9zZSBkZWFkbG9ja3Mgd2FzIHRoZSBidXJkZW4gb2YgdGhlIHVzZXIg b2YKPiB0aGUgd3dfbXV0ZXggaW1wbGVtZW50YXRpb24gYW5kIGF0IGxlYXN0IHNvbWUgdXNlcnMg ZGlkbid0IGdvdCB0aGF0IHJpZ2h0Cj4gb24gdGhlIGZpcnN0IHRyeS4KPiAKPiBJJ20gbm90IGEg YmlnIGZhbiBvZiBtYWNyb3MsIGJ1dCBpdCBzdGlsbCBiZXR0ZXIgdGhlbiBpbXBsZW1lbnRpbmcg dGhlIHNhbWUKPiBsb2dpYyBhdCBsZWFzdCBoYWx2ZSBhIGRvemVuIHRpbWVzLiBTbyB0aGlzIHBh dGNoIGFkZHMgdHdvIG1hY3JvcyB0byBsb2NrCj4gYW5kIHVubG9jayBtdWx0aXBsZSB3d19tdXRl eCBpbnN0YW5jZXMgd2l0aCB0aGUgbmVjZXNzYXJ5IGRlYWRsb2NrIGhhbmRsaW5nLgo+IAo+IFNp Z25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4K PiAtLS0KPiAgaW5jbHVkZS9saW51eC93d19tdXRleC5oIHwgNzUgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygr KQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3d3X211dGV4LmggYi9pbmNsdWRlL2xp bnV4L3d3X211dGV4LmgKPiBpbmRleCAzYWY3YzBlMDNiZTUuLmEwZDg5M2I1YjExNCAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL2xpbnV4L3d3X211dGV4LmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L3d3 X211dGV4LmgKPiBAQCAtMzY5LDQgKzM2OSw3OSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgd3dfbXV0 ZXhfaXNfbG9ja2VkKHN0cnVjdCB3d19tdXRleCAqbG9jaykKPiAgCXJldHVybiBtdXRleF9pc19s b2NrZWQoJmxvY2stPmJhc2UpOwo+ICB9Cj4gIAo+ICsvKioKPiArICogd3dfbXV0ZXhfdW5sb2Nr X2Zvcl9lYWNoIC0gY2xlYW51cCBhZnRlciBlcnJvciBvciBjb250ZW50aW9uCj4gKyAqIEBsb29w OiBmb3IgbG9vcCBjb2RlIGZyYWdtZW50IGl0ZXJhdGluZyBvdmVyIGFsbCB0aGUgbG9ja3MKPiAr ICogQHBvczogY29kZSBmcmFnbWVudCByZXR1cm5pbmcgdGhlIGN1cnJlbnRseSBoYW5kbGVkIGxv Y2sKPiArICogQGNvbnRlbmRlZDogdGhlIGxhc3QgY29udGVuZGVkIHd3X211dGV4IG9yIE5VTEwg b3IgRVJSX1BUUgo+ICsgKgo+ICsgKiBIZWxwZXIgdG8gbWFrZSBjbGVhbnVwIGFmdGVyIGVycm9y IG9yIGxvY2sgY29udGVudGlvbiBlYXNpZXIuCj4gKyAqIEZpcnN0IHVubG9jayB0aGUgbGFzdCBj b250ZW5kZWQgbG9jayBhbmQgdGhlbiBhbGwgb3RoZXIgbG9ja2VkIG9uZXMuCj4gKyAqLwo+ICsj ZGVmaW5lIHd3X211dGV4X3VubG9ja19mb3JfZWFjaChsb29wLCBwb3MsIGNvbnRlbmRlZCkJXAo+ ICsJaWYgKCFJU19FUlIoY29udGVuZGVkKSkgewkJCVwKPiArCQlpZiAoY29udGVuZGVkKQkJCQlc Cj4gKwkJCXd3X211dGV4X3VubG9jayhjb250ZW5kZWQpOwlcCj4gKwkJY29udGVuZGVkID0gKHBv cyk7CQkJXAo+ICsJCWxvb3AgewkJCQkJXAo+ICsJCQlpZiAoY29udGVuZGVkID09IChwb3MpKQkJ XAo+ICsJCQkJYnJlYWs7CQkJXAo+ICsJCQl3d19tdXRleF91bmxvY2socG9zKTsJCVwKPiArCQl9 CQkJCQlcCj4gKwl9Cj4gKwo+ICsvKioKPiArICogd3dfbXV0ZXhfbG9ja19mb3JfZWFjaCAtIGlt cGxlbWVudCB3d19tdXRleCBkZWFkbG9jayBoYW5kbGluZwo+ICsgKiBAbG9vcDogZm9yIGxvb3Ag Y29kZSBmcmFnbWVudCBpdGVyYXRpbmcgb3ZlciBhbGwgdGhlIGxvY2tzCj4gKyAqIEBwb3M6IGNv ZGUgZnJhZ21lbnQgcmV0dXJuaW5nIHRoZSBjdXJyZW50bHkgaGFuZGxlZCBsb2NrCj4gKyAqIEBj b250ZW5kZWQ6IHd3X211dGV4IHBvaW50ZXIgdmFyaWFibGUgZm9yIHN0YXRlIGhhbmRsaW5nCj4g KyAqIEByZXQ6IGludCB2YXJpYWJsZSB0byBzdG9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHd3X211 dGV4X2xvY2soKQo+ICsgKiBAaW50cjogSWYgdHJ1ZSB3d19tdXRleF9sb2NrX2ludGVycnVwdGli bGUoKSBpcyB1c2VkCj4gKyAqIEBjdHg6IHd3X2FjcXVpcmVfY3R4IHBvaW50ZXIgZm9yIHRoZSBs b2NraW5nCj4gKyAqCj4gKyAqIFRoaXMgbWFjcm8gaW1wbGVtZW50cyB0aGUgbmVjZXNzYXJ5IGxv Z2ljIHRvIGxvY2sgbXVsdGlwbGUgd3dfbXV0ZXgKPiArICogaW5zdGFuY2VzLiBMb2NrIGNvbnRl bnRpb24gd2l0aCBiYWNrb2ZmIGFuZCByZS1sb2NraW5nIGlzIGhhbmRsZWQgYnkgdGhlCj4gKyAq IG1hY3JvIHNvIHRoYXQgdGhlIGxvb3AgYm9keSBvbmx5IG5lZWQgdG8gaGFuZGxlIG90aGVyIGVy cm9ycyBhbmQKPiArICogc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGxvY2tzLgo+ICsgKgo+ICsgKiBX aXRoIHRoZSBAbG9vcCBhbmQgQHBvcyBjb2RlIGZyYWdtZW50IGl0IGlzIHBvc3NpYmxlIHRvIGFw cGx5IHRoaXMgbG9naWMKPiArICogdG8gYWxsIGtpbmQgb2YgY29udGFpbmVycyAoYXJyYXksIGxp c3QsIHRyZWUsIGV0Yy4uLikgaG9sZGluZyBtdWx0aXBsZQo+ICsgKiB3d19tdXRleCBpbnN0YW5j ZXMuCj4gKyAqCj4gKyAqIEBjb250ZW5kZWQgaXMgdXNlZCB0byBob2xkIHRoZSBjdXJyZW50IHN0 YXRlIHdlIGFyZSBpbi4gLUVOT0VOVCBpcyB1c2VkIHRvCj4gKyAqIHNpZ25hbCB0aGF0IHdlIGFy ZSBqdXN0IHN0YXJ0aW5nIHRoZSBoYW5kbGluZy4gLUVERUFETEsgbWVhbnMgdGhhdCB0aGUKPiAr ICogY3VycmVudCBwb3NpdGlvbiBpcyBjb250ZW5kZWQgYW5kIHdlIG5lZWQgdG8gcmVzdGFydCB0 aGUgbG9vcCBhZnRlciBsb2NraW5nCj4gKyAqIGl0LiBOVUxMIG1lYW5zIHRoYXQgdGhlcmUgaXMg bm8gY29udGVudGlvbiB0byBiZSBoYW5kbGVkLiBBbnkgb3RoZXIgdmFsdWUgaXMKPiArICogdGhl IGxhc3QgY29udGVuZGVkIHd3X211dGV4Lgo+ICsgKi8KPiArI2RlZmluZSB3d19tdXRleF9sb2Nr X2Zvcl9lYWNoKGxvb3AsIHBvcywgY29udGVuZGVkLCByZXQsIGludHIsIGN0eCkJXAo+ICsJZm9y IChjb250ZW5kZWQgPSBFUlJfUFRSKC1FTk9FTlQpOyAoewkJCQlcCj4gKwkJX19sYWJlbF9fIHJl bG9jaywgbmV4dDsJCQkJCVwKPiArCQlyZXQgPSAtRU5PRU5UOwkJCQkJCVwKPiArCQlpZiAoY29u dGVuZGVkID09IEVSUl9QVFIoLUVOT0VOVCkpCQkJXAo+ICsJCQljb250ZW5kZWQgPSBOVUxMOwkJ CQlcCj4gKwkJZWxzZSBpZiAoY29udGVuZGVkID09IEVSUl9QVFIoLUVERUFETEspKQkJXAo+ICsJ CQljb250ZW5kZWQgPSAocG9zKTsJCQkJXAo+ICsJCWVsc2UJCQkJCQkJXAo+ICsJCQlnb3RvIG5l eHQ7CQkJCQlcCj4gKwkJbG9vcCB7CQkJCQkJCVwKPiArCQkJaWYgKGNvbnRlbmRlZCA9PSAocG9z KSkJewkJCVwKPiArCQkJCWNvbnRlbmRlZCA9IE5VTEw7CQkJXAo+ICsJCQkJY29udGludWU7CQkJ CVwKPiArCQkJfQkJCQkJCVwKPiArcmVsb2NrOgkJCQkJCQkJCVwKPiArCQkJcmV0ID0gIShpbnRy KSA/IHd3X211dGV4X2xvY2socG9zLCBjdHgpIDoJXAo+ICsJCQkJd3dfbXV0ZXhfbG9ja19pbnRl cnJ1cHRpYmxlKHBvcywgY3R4KTsJXAo+ICsJCQlpZiAocmV0ID09IC1FREVBRExLKSB7CQkJCVwK PiArCQkJCXd3X211dGV4X3VubG9ja19mb3JfZWFjaChsb29wLCBwb3MsCVwKPiArCQkJCQkJCSBj b250ZW5kZWQpOwlcCj4gKwkJCQljb250ZW5kZWQgPSBFUlJfUFRSKC1FREVBRExLKTsJCVwKPiAr CQkJCWdvdG8gcmVsb2NrOwkJCQlcCj4gKwkJCX0JCQkJCQlcCj4gKwkJCWJyZWFrOwkJCQkJCVwK PiArbmV4dDoJCQkJCQkJCQlcCj4gKwkJCWNvbnRpbnVlOwkJCQkJXAo+ICsJCX0JCQkJCQkJXAo+ ICsJfSksIHJldCAhPSAtRU5PRU5UOykKPiArCgpZZWEgZ2F3ZHMsIHRoYXQncyBleWVibGVlZGlu ZyBiYWQsIGV2ZW4gZm9yIG1hY3JvcyA6LwoKSXQgYWxzbyBicmVha3Mgd2l0aCBwcmV0dHkgbXVj aCBhbGwgb3RoZXIgKmZvcl9lYWNoKigpIG1hY3JvcyBpbgpleGlzdGVuY2UgYnkgbm90IGFjdHVh bGx5IGluY2x1ZGluZyB0aGUgbG9vcCBpdHNlbGYgYnV0IGZhcm1pbmcgdGhhdCBvdXQKdG8gYW4g YXJndW1lbnQgc3RhdGVtZW50IChAbG9vcCksIHN1Z2dlc3RpbmcgdGhlc2UgcmVhbGx5IHNob3Vs ZCBub3QgYmUKY2FsbGVkIGZvcl9lYWNoLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==