From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] locking/mutex: Add waiter parameter to mutex_optimistic_spin() Date: Tue, 23 Aug 2016 10:10:07 +0200 Message-ID: <1471939811-9817-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1471939811-9817-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9FB8A6E4CF for ; Tue, 23 Aug 2016 08:10:17 +0000 (UTC) In-Reply-To: <1471939811-9817-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Waiman Long , Waiman Long List-Id: intel-gfx@lists.freedesktop.org RnJvbTogV2FpbWFuIExvbmcgPFdhaW1hbi5Mb25nQGhwZS5jb20+CgpUaGlzIHBhdGNoIGFkZHMg YSBuZXcgd2FpdGVyIHBhcmFtZXRlciB0byB0aGUgbXV0ZXhfb3B0aW1pc3RpY19zcGluKCkKZnVu Y3Rpb24gdG8gcHJlcGFyZSBpdCB0byBiZSB1c2VkIGJ5IGEgd2FpdGVyLXNwaW5uZXIgdGhhdCBk b2Vzbid0Cm5lZWQgdG8gZ28gaW50byB0aGUgT1NRIGFzIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSB3 YWl0ZXItc3Bpbm5lciB3aGljaAppcyB0aGUgaGVhZCBvZiB0aGUgd2FpdGluZyBxdWV1ZS4KClNp Z25lZC1vZmYtYnk6IFdhaW1hbiBMb25nIDxXYWltYW4uTG9uZ0BocC5jb20+Ci0tLQoga2VybmVs L2xvY2tpbmcvbXV0ZXguYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEva2VybmVsL2xvY2tpbmcvbXV0ZXguYyBiL2tlcm5lbC9s b2NraW5nL211dGV4LmMKaW5kZXggYTcwYjkwZC4uODc1YzkyNSAxMDA2NDQKLS0tIGEva2VybmVs L2xvY2tpbmcvbXV0ZXguYworKysgYi9rZXJuZWwvbG9ja2luZy9tdXRleC5jCkBAIC0yNzMsMTEg KzI3MywxNSBAQCBzdGF0aWMgaW5saW5lIGludCBtdXRleF9jYW5fc3Bpbl9vbl9vd25lcihzdHJ1 Y3QgbXV0ZXggKmxvY2spCiAKIC8qCiAgKiBBdG9taWNhbGx5IHRyeSB0byB0YWtlIHRoZSBsb2Nr IHdoZW4gaXQgaXMgYXZhaWxhYmxlCisgKgorICogRm9yIHdhaXRlci1zcGlubmVyLCB0aGUgY291 bnQgbmVlZHMgdG8gYmUgc2V0IHRvIC0xIGZpcnN0IHdoaWNoIHdpbGwgYmUKKyAqIGNsZWFyZWQg dG8gMCBsYXRlciBvbiBpZiB0aGUgbGlzdCBiZWNvbWVzIGVtcHR5LiBGb3IgcmVndWxhciBzcGlu bmVyLAorICogdGhlIGNvdW50IHdpbGwgYmUgc2V0IHRvIDAuCiAgKi8KLXN0YXRpYyBpbmxpbmUg Ym9vbCBtdXRleF90cnlfdG9fYWNxdWlyZShzdHJ1Y3QgbXV0ZXggKmxvY2spCitzdGF0aWMgaW5s aW5lIGJvb2wgbXV0ZXhfdHJ5X3RvX2FjcXVpcmUoc3RydWN0IG11dGV4ICpsb2NrLCBpbnQgd2Fp dGVyKQogewogCXJldHVybiAhbXV0ZXhfaXNfbG9ja2VkKGxvY2spICYmCi0JCShhdG9taWNfY21w eGNoZ19hY3F1aXJlKCZsb2NrLT5jb3VudCwgMSwgMCkgPT0gMSk7CisJCShhdG9taWNfY21weGNo Z19hY3F1aXJlKCZsb2NrLT5jb3VudCwgMSwgd2FpdGVyID8gLTEgOiAwKSA9PSAxKTsKIH0KIAog LyoKQEAgLTMwMiwyMiArMzA2LDQyIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBtdXRleF90cnlfdG9f YWNxdWlyZShzdHJ1Y3QgbXV0ZXggKmxvY2spCiAgKgogICogUmV0dXJucyB0cnVlIHdoZW4gdGhl IGxvY2sgd2FzIHRha2VuLCBvdGhlcndpc2UgZmFsc2UsIGluZGljYXRpbmcKICAqIHRoYXQgd2Ug bmVlZCB0byBqdW1wIHRvIHRoZSBzbG93cGF0aCBhbmQgc2xlZXAuCisgKgorICogVGhlIHdhaXRl ciBmbGFnIGlzIHNldCB0byB0cnVlIGlmIHRoZSBzcGlubmVyIGlzIGEgd2FpdGVyIGluIHRoZSB3 YWl0CisgKiBxdWV1ZS4gQXMgdGhlIHdhaXRlciBoYXMgc2xlcHQgZm9yIGEgd2hpbGUsIGl0IHNo b3VsZCBoYXZlIHByaW9yaXR5IHRvCisgKiBnZXQgdGhlIGxvY2sgb3ZlciB0aGUgcmVndWxhciBz cGlubmVycy4gU28gZ29pbmcgdG8gd2FpdCBhdCB0aGUgZW5kIG9mCisgKiB0aGUgT1NRIGlzbid0 IGZhaXIgdG8gdGhlIHdhaXRlci4gSW5zdGVhZCwgaXQgd2lsbCBzcGluIG9uIHRoZSBsb2NrCisg KiBkaXJlY3RseSBhbmQgY29uY3VycmVudGx5IHdpdGggdGhlIHNwaW5uZXIgYXQgdGhlIGhlYWQg b2YgdGhlIE9TUSwgaWYKKyAqIHByZXNlbnQuIFRoZXJlIG1heSBiZSBhIGJpdCBtb3JlIGNhY2hl bGluZSBjb250ZW50aW9uIGluIHRoaXMgY2FzZS4KKyAqIFRoZSB3YWl0ZXIgYWxzbyBuZWVkcyB0 byBzZXQgdGhlIGxvY2sgdG8gLTEgaW5zdGVhZCBvZiAwIG9uIGxvY2sKKyAqIGFjcXVpc2l0aW9u LgogICovCiBzdGF0aWMgYm9vbCBtdXRleF9vcHRpbWlzdGljX3NwaW4oc3RydWN0IG11dGV4ICps b2NrLAotCQkJCSAgc3RydWN0IHd3X2FjcXVpcmVfY3R4ICp3d19jdHgsIGNvbnN0IGJvb2wgdXNl X3d3X2N0eCkKKwkJCQkgIHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqd3dfY3R4LAorCQkJCSAgY29u c3QgYm9vbCB1c2Vfd3dfY3R4LCBpbnQgd2FpdGVyKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAq dGFzayA9IGN1cnJlbnQ7CisJYm9vbCBhY3F1aXJlZCA9IGZhbHNlOwogCi0JaWYgKCFtdXRleF9j YW5fc3Bpbl9vbl9vd25lcihsb2NrKSkKLQkJZ290byBkb25lOworCWlmICghd2FpdGVyKSB7CisJ CS8qCisJCSAqIFRoZSBwdXJwb3NlIG9mIHRoZSBtdXRleF9jYW5fc3Bpbl9vbl9vd25lcigpIGZ1 bmN0aW9uIGlzCisJCSAqIHRvIGVsaW1pbmF0ZSB0aGUgb3ZlcmhlYWQgb2Ygb3NxX2xvY2soKSBh bmQgb3NxX3VubG9jaygpCisJCSAqIGluIGNhc2Ugc3Bpbm5pbmcgaXNuJ3QgcG9zc2libGUuIEFz IGEgd2FpdGVyLXNwaW5uZXIKKwkJICogaXMgbm90IGdvaW5nIHRvIHRha2UgT1NRIGxvY2sgYW55 d2F5LCB0aGVyZSBpcyBubyBuZWVkCisJCSAqIHRvIGNhbGwgbXV0ZXhfY2FuX3NwaW5fb25fb3du ZXIoKS4KKwkJICovCisJCWlmICghbXV0ZXhfY2FuX3NwaW5fb25fb3duZXIobG9jaykpCisJCQln b3RvIGRvbmU7CiAKLQkvKgotCSAqIEluIG9yZGVyIHRvIGF2b2lkIGEgc3RhbXBlZGUgb2YgbXV0 ZXggc3Bpbm5lcnMgdHJ5aW5nIHRvCi0JICogYWNxdWlyZSB0aGUgbXV0ZXggYWxsIGF0IG9uY2Us IHRoZSBzcGlubmVycyBuZWVkIHRvIHRha2UgYQotCSAqIE1DUyAocXVldWVkKSBsb2NrIGZpcnN0 IGJlZm9yZSBzcGlubmluZyBvbiB0aGUgb3duZXIgZmllbGQuCi0JICovCi0JaWYgKCFvc3FfbG9j aygmbG9jay0+b3NxKSkKLQkJZ290byBkb25lOworCQkvKgorCQkgKiBJbiBvcmRlciB0byBhdm9p ZCBhIHN0YW1wZWRlIG9mIG11dGV4IHNwaW5uZXJzIHRyeWluZyB0bworCQkgKiBhY3F1aXJlIHRo ZSBtdXRleCBhbGwgYXQgb25jZSwgdGhlIHNwaW5uZXJzIG5lZWQgdG8gdGFrZSBhCisJCSAqIE1D UyAocXVldWVkKSBsb2NrIGZpcnN0IGJlZm9yZSBzcGlubmluZyBvbiB0aGUgb3duZXIgZmllbGQu CisJCSAqLworCQlpZiAoIW9zcV9sb2NrKCZsb2NrLT5vc3EpKQorCQkJZ290byBkb25lOworCX0K IAogCXdoaWxlICh0cnVlKSB7CiAJCXN0cnVjdCB0YXNrX3N0cnVjdCAqb3duZXI7CkBAIC0zNDcs NyArMzcxLDcgQEAgc3RhdGljIGJvb2wgbXV0ZXhfb3B0aW1pc3RpY19zcGluKHN0cnVjdCBtdXRl eCAqbG9jaywKIAkJCWJyZWFrOwogCiAJCS8qIFRyeSB0byBhY3F1aXJlIHRoZSBtdXRleCBpZiBp dCBpcyB1bmxvY2tlZC4gKi8KLQkJaWYgKG11dGV4X3RyeV90b19hY3F1aXJlKGxvY2spKSB7CisJ CWlmIChtdXRleF90cnlfdG9fYWNxdWlyZShsb2NrLCB3YWl0ZXIpKSB7CiAJCQlsb2NrX2FjcXVp cmVkKCZsb2NrLT5kZXBfbWFwLCBpcCk7CiAKIAkJCWlmICh1c2Vfd3dfY3R4KSB7CkBAIC0zNTgs OCArMzgyLDggQEAgc3RhdGljIGJvb2wgbXV0ZXhfb3B0aW1pc3RpY19zcGluKHN0cnVjdCBtdXRl eCAqbG9jaywKIAkJCX0KIAogCQkJbXV0ZXhfc2V0X293bmVyKGxvY2spOwotCQkJb3NxX3VubG9j aygmbG9jay0+b3NxKTsKLQkJCXJldHVybiB0cnVlOworCQkJYWNxdWlyZWQgPSB0cnVlOworCQkJ YnJlYWs7CiAJCX0KIAogCQkvKgpAQCAtMzgwLDE0ICs0MDQsMTUgQEAgc3RhdGljIGJvb2wgbXV0 ZXhfb3B0aW1pc3RpY19zcGluKHN0cnVjdCBtdXRleCAqbG9jaywKIAkJY3B1X3JlbGF4X2xvd2xh dGVuY3koKTsKIAl9CiAKLQlvc3FfdW5sb2NrKCZsb2NrLT5vc3EpOworCWlmICghd2FpdGVyKQor CQlvc3FfdW5sb2NrKCZsb2NrLT5vc3EpOwogZG9uZToKIAkvKgogCSAqIElmIHdlIGZlbGwgb3V0 IG9mIHRoZSBzcGluIHBhdGggYmVjYXVzZSBvZiBuZWVkX3Jlc2NoZWQoKSwKIAkgKiByZXNjaGVk dWxlIG5vdywgYmVmb3JlIHdlIHRyeS1sb2NrIHRoZSBtdXRleC4gVGhpcyBhdm9pZHMgZ2V0dGlu ZwogCSAqIHNjaGVkdWxlZCBvdXQgcmlnaHQgYWZ0ZXIgd2Ugb2J0YWluZWQgdGhlIG11dGV4Lgog CSAqLwotCWlmIChuZWVkX3Jlc2NoZWQoKSkgeworCWlmICghYWNxdWlyZWQgJiYgbmVlZF9yZXNj aGVkKCkpIHsKIAkJLyoKIAkJICogV2UgX3Nob3VsZF8gaGF2ZSBUQVNLX1JVTk5JTkcgaGVyZSwg YnV0IGp1c3QgaW4gY2FzZQogCQkgKiB3ZSBkbyBub3QsIG1ha2UgaXQgc28sIG90aGVyd2lzZSB3 ZSBtaWdodCBnZXQgc3R1Y2suCkBAIC0zOTYsMTEgKzQyMSwxMiBAQCBkb25lOgogCQlzY2hlZHVs ZV9wcmVlbXB0X2Rpc2FibGVkKCk7CiAJfQogCi0JcmV0dXJuIGZhbHNlOworCXJldHVybiBhY3F1 aXJlZDsKIH0KICNlbHNlCiBzdGF0aWMgYm9vbCBtdXRleF9vcHRpbWlzdGljX3NwaW4oc3RydWN0 IG11dGV4ICpsb2NrLAotCQkJCSAgc3RydWN0IHd3X2FjcXVpcmVfY3R4ICp3d19jdHgsIGNvbnN0 IGJvb2wgdXNlX3d3X2N0eCkKKwkJCQkgIHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqd3dfY3R4LAor CQkJCSAgY29uc3QgYm9vbCB1c2Vfd3dfY3R4LCBpbnQgd2FpdGVyKQogewogCXJldHVybiBmYWxz ZTsKIH0KQEAgLTUyMCw3ICs1NDYsNyBAQCBfX211dGV4X2xvY2tfY29tbW9uKHN0cnVjdCBtdXRl eCAqbG9jaywgbG9uZyBzdGF0ZSwgdW5zaWduZWQgaW50IHN1YmNsYXNzLAogCXByZWVtcHRfZGlz YWJsZSgpOwogCW11dGV4X2FjcXVpcmVfbmVzdCgmbG9jay0+ZGVwX21hcCwgc3ViY2xhc3MsIDAs IG5lc3RfbG9jaywgaXApOwogCi0JaWYgKG11dGV4X29wdGltaXN0aWNfc3Bpbihsb2NrLCB3d19j dHgsIHVzZV93d19jdHgpKSB7CisJaWYgKG11dGV4X29wdGltaXN0aWNfc3Bpbihsb2NrLCB3d19j dHgsIHVzZV93d19jdHgsIGZhbHNlKSkgewogCQkvKiBnb3QgdGhlIGxvY2ssIHlheSEgKi8KIAkJ cHJlZW1wdF9lbmFibGUoKTsKIAkJcmV0dXJuIDA7Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==