From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] locking/mutex: Enable optimistic spinning of woken task in wait queue Date: Tue, 23 Aug 2016 10:10:09 +0200 Message-ID: <1471939811-9817-5-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 [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id B691C6E5B2 for ; Tue, 23 Aug 2016 08:10:18 +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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogV2FpbWFuIExvbmcgPFdhaW1hbi5Mb25nQGhwZS5jb20+CgpEaW5nIFRpYW5ob25nIHJl cG9ydGVkIGEgbGl2ZS1sb2NrIHNpdHVhdGlvbiB3aGVyZSBhIGNvbnN0YW50IHN0cmVhbQpvZiBp bmNvbWluZyBvcHRpbWlzdGljIHNwaW5uZXJzIGJsb2NrZWQgYSB0YXNrIGluIHRoZSB3YWl0IGxp c3QgZnJvbQpnZXR0aW5nIHRoZSBtdXRleC4KClRoaXMgcGF0Y2ggYXR0ZW1wdHMgdG8gZml4IHRo aXMgbGl2ZS1sb2NrIGNvbmRpdGlvbiBieSBlbmFibGluZyB0aGUKd29rZW4gdGFzayBpbiB0aGUg d2FpdCBxdWV1ZSB0byBlbnRlciBpbnRvIGFuIG9wdGltaXN0aWMgc3Bpbm5pbmcKbG9vcCBpdHNl bGYgaW4gcGFyYWxsZWwgd2l0aCB0aGUgcmVndWxhciBzcGlubmVycyBpbiB0aGUgT1NRLiBUaGlz CnNob3VsZCBwcmV2ZW50IHRoZSBsaXZlLWxvY2sgY29uZGl0aW9uIGZyb20gaGFwcGVuaW5nLgoK UnVubmluZyB0aGUgQUlNNyBiZW5jaG1hcmtzIG9uIGEgNC1zb2NrZXQgRTctNDgyMCB2MyBzeXN0 ZW0gKHdpdGggZXh0NApmaWxlc3lzdGVtKSwgdGhlIGFkZGl0aW9uYWwgc3Bpbm5pbmcgb2YgdGhl IHdhaXRlci1zcGlubmluZyBpbXByb3ZlZApwZXJmb3JtYW5jZSBmb3IgdGhlIGZvbGxvd2luZyB3 b3JrbG9hZHMgYXQgaGlnaCB1c2VyIGNvdW50OgoKICBXb3JrbG9hZAklIEltcHJvdmVtZW50CiAg LS0tLS0tLS0JLS0tLS0tLS0tLS0tLQogIGFsbHRlc3RzCSAgICAzLjklCiAgZGlzawkJICAgIDMu NCUKICBmc2VydmVyCSAgICAyLjAlCiAgbG9uZwkJICAgIDMuOCUKICBuZXdfZnNlcnZlcgkgICAx MC41JQoKVGhlIG90aGVyIHdvcmtsb2FkcyB3ZXJlIGFib3V0IHRoZSBzYW1lIGFzIGJlZm9yZS4K ClNpZ25lZC1vZmYtYnk6IFdhaW1hbiBMb25nIDxXYWltYW4uTG9uZ0BocGUuY29tPgotLS0KIGtl cm5lbC9sb2NraW5nL211dGV4LmMgfCAxNiArKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgMTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2tlcm5lbC9s b2NraW5nL211dGV4LmMgYi9rZXJuZWwvbG9ja2luZy9tdXRleC5jCmluZGV4IDg3NWM5MjUuLjI0 MTMzYzEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9sb2NraW5nL211dGV4LmMKKysrIGIva2VybmVsL2xv Y2tpbmcvbXV0ZXguYwpAQCAtNTM1LDYgKzUzNSw3IEBAIF9fbXV0ZXhfbG9ja19jb21tb24oc3Ry dWN0IG11dGV4ICpsb2NrLCBsb25nIHN0YXRlLCB1bnNpZ25lZCBpbnQgc3ViY2xhc3MsCiAJc3Ry dWN0IHRhc2tfc3RydWN0ICp0YXNrID0gY3VycmVudDsKIAlzdHJ1Y3QgbXV0ZXhfd2FpdGVyIHdh aXRlcjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCWJvb2wgIGFjcXVpcmVkID0gZmFsc2U7CS8q IFRydWUgaWYgdGhlIGxvY2sgaXMgYWNxdWlyZWQgKi8KIAlpbnQgcmV0OwogCiAJaWYgKHVzZV93 d19jdHgpIHsKQEAgLTU3MSw3ICs1NzIsNyBAQCBfX211dGV4X2xvY2tfY29tbW9uKHN0cnVjdCBt dXRleCAqbG9jaywgbG9uZyBzdGF0ZSwgdW5zaWduZWQgaW50IHN1YmNsYXNzLAogCiAJbG9ja19j b250ZW5kZWQoJmxvY2stPmRlcF9tYXAsIGlwKTsKIAotCWZvciAoOzspIHsKKwl3aGlsZSAoIWFj cXVpcmVkKSB7CiAJCS8qCiAJCSAqIExldHMgdHJ5IHRvIHRha2UgdGhlIGxvY2sgYWdhaW4gLSB0 aGlzIGlzIG5lZWRlZCBldmVuIGlmCiAJCSAqIHdlIGdldCBoZXJlIGZvciB0aGUgZmlyc3QgdGlt ZSAoc2hvcnRseSBhZnRlciBmYWlsaW5nIHRvCkBAIC02MDYsNiArNjA3LDE1IEBAIF9fbXV0ZXhf bG9ja19jb21tb24oc3RydWN0IG11dGV4ICpsb2NrLCBsb25nIHN0YXRlLCB1bnNpZ25lZCBpbnQg c3ViY2xhc3MsCiAJCS8qIGRpZG4ndCBnZXQgdGhlIGxvY2ssIGdvIHRvIHNsZWVwOiAqLwogCQlz cGluX3VubG9ja19tdXRleCgmbG9jay0+d2FpdF9sb2NrLCBmbGFncyk7CiAJCXNjaGVkdWxlX3By ZWVtcHRfZGlzYWJsZWQoKTsKKworCQkvKgorCQkgKiBPcHRpbWlzdGljYWxseSBzcGlubmluZyBv biB0aGUgbXV0ZXggd2l0aG91dCB0aGUgd2FpdCBsb2NrCisJCSAqIFRoZSBzdGF0ZSBoYXMgdG8g YmUgc2V0IHRvIHJ1bm5pbmcgdG8gYXZvaWQgYW5vdGhlciB3YWtlcgorCQkgKiBzcGlubmluZyBv biB0aGUgb25fY3B1IGZsYWcgd2hpbGUgdGhlIHdva2VuIHdhaXRlciBpcworCQkgKiBzcGlubmlu ZyBvbiB0aGUgbXV0ZXguCisJCSAqLworCQlhY3F1aXJlZCA9IG11dGV4X29wdGltaXN0aWNfc3Bp bihsb2NrLCB3d19jdHgsIHVzZV93d19jdHgsCisJCQkJCQkgdHJ1ZSk7CiAJCXNwaW5fbG9ja19t dXRleCgmbG9jay0+d2FpdF9sb2NrLCBmbGFncyk7CiAJfQogCV9fc2V0X3Rhc2tfc3RhdGUodGFz aywgVEFTS19SVU5OSU5HKTsKQEAgLTYxNiw2ICs2MjYsOSBAQCBfX211dGV4X2xvY2tfY29tbW9u KHN0cnVjdCBtdXRleCAqbG9jaywgbG9uZyBzdGF0ZSwgdW5zaWduZWQgaW50IHN1YmNsYXNzLAog CQlhdG9taWNfc2V0KCZsb2NrLT5jb3VudCwgMCk7CiAJZGVidWdfbXV0ZXhfZnJlZV93YWl0ZXIo JndhaXRlcik7CiAKKwlpZiAoYWNxdWlyZWQpCisJCWdvdG8gdW5sb2NrOworCiBza2lwX3dhaXQ6 CiAJLyogZ290IHRoZSBsb2NrIC0gY2xlYW51cCBhbmQgcmVqb2ljZSEgKi8KIAlsb2NrX2FjcXVp cmVkKCZsb2NrLT5kZXBfbWFwLCBpcCk7CkBAIC02MjYsNiArNjM5LDcgQEAgc2tpcF93YWl0Ogog CQl3d19tdXRleF9zZXRfY29udGV4dF9zbG93cGF0aCh3dywgd3dfY3R4KTsKIAl9CiAKK3VubG9j azoKIAlzcGluX3VubG9ja19tdXRleCgmbG9jay0+d2FpdF9sb2NrLCBmbGFncyk7CiAJcHJlZW1w dF9lbmFibGUoKTsKIAlyZXR1cm4gMDsKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK