From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 6/7] gem_wsim: Busy stats balancers Date: Mon, 25 Sep 2017 16:15:01 +0100 Message-ID: <20170925151502.7285-7-tvrtko.ursulin@linux.intel.com> References: <20170925151502.7285-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 826536E362 for ; Mon, 25 Sep 2017 15:15:15 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id m127so20794459wmm.3 for ; Mon, 25 Sep 2017 08:15:15 -0700 (PDT) In-Reply-To: <20170925151502.7285-1-tvrtko.ursulin@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkFkZCBidXN5 IGFuZCBidXN5LWF2ZyBiYWxhbmNlcnMgd2hpY2ggbWFrZSBiYWxhbmNpbmcKZGVjaXNpb25zIGJ5 IGxvb2tpbmcgYXQgZW5naW5lIGJ1c3luZXNzIHZpYSB0aGUgaTkxNSBQTVUuCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGJlbmNo bWFya3MvZ2VtX3dzaW0uYyB8IDE0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvYmVuY2htYXJrcy9nZW1fd3NpbS5jIGIvYmVuY2htYXJrcy9nZW1fd3NpbS5jCmlu ZGV4IDgyZmU2YmE5ZWM1Zi4uOWVlOTFmYWJiMjIwIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL2dl bV93c2ltLmMKKysrIGIvYmVuY2htYXJrcy9nZW1fd3NpbS5jCkBAIC01MCw2ICs1MCw3IEBACiAj aW5jbHVkZSAiaW50ZWxfaW8uaCIKICNpbmNsdWRlICJpZ3RfYXV4LmgiCiAjaW5jbHVkZSAiaWd0 X3JhbmQuaCIKKyNpbmNsdWRlICJpZ3RfcGVyZi5oIgogI2luY2x1ZGUgInN3X3N5bmMuaCIKIAog I2luY2x1ZGUgImV3bWEuaCIKQEAgLTE4OCw2ICsxODksMTYgQEAgc3RydWN0IHdvcmtsb2FkCiAJ CQl1aW50MzJfdCBsYXN0W05VTV9FTkdJTkVTXTsKIAkJfSBydDsKIAl9OworCisJc3RydWN0IGJ1 c3lfYmFsYW5jZXIgeworCQlpbnQgZmQ7CisJCWJvb2wgZmlyc3Q7CisJCXVuc2lnbmVkIGludCBu dW1fZW5naW5lczsKKwkJdW5zaWduZWQgaW50IGVuZ2luZV9tYXBbNV07CisJCXVpbnQ2NF90IHRf cHJldjsKKwkJdWludDY0X3QgcHJldls1XTsKKwkJZG91YmxlIGJ1c3lbNV07CisJfSBidXN5X2Jh bGFuY2VyOwogfTsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBub3BfY2FsaWJyYXRpb25f dXMgPSAxMDAwOwpAQCAtOTkzLDYgKzEwMDQsOCBAQCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIg ewogCXVuc2lnbmVkIGludCBmbGFnczsKIAl1bnNpZ25lZCBpbnQgbWluX2dlbjsKIAorCWludCAo KmluaXQpKGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJCSAgICBz dHJ1Y3Qgd29ya2xvYWQgKndyayk7CiAJdW5zaWduZWQgaW50ICgqZ2V0X3FkKShjb25zdCBzdHJ1 Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLAogCQkJICAgICAgIHN0cnVjdCB3b3JrbG9h ZCAqd3JrLAogCQkJICAgICAgIGVudW0gaW50ZWxfZW5naW5lX2lkIGVuZ2luZSk7CkBAIC0xMjQy LDYgKzEyNTUsMTA2IEBAIGNvbnRleHRfYmFsYW5jZShjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFs YW5jZXIgKmJhbGFuY2VyLAogCXJldHVybiBnZXRfdmNzX2VuZ2luZSh3cmstPmN0eF9saXN0W3ct PmNvbnRleHRdLnN0YXRpY192Y3MpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50CitnZXRfZW5n aW5lX2J1c3koY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiYWxhbmNlciwKKwkJc3Ry dWN0IHdvcmtsb2FkICp3cmssIGVudW0gaW50ZWxfZW5naW5lX2lkIGVuZ2luZSkKK3sKKwlzdHJ1 Y3QgYnVzeV9iYWxhbmNlciAqYmIgPSAmd3JrLT5idXN5X2JhbGFuY2VyOworCisJaWYgKGVuZ2lu ZSA9PSBWQ1MyICYmICh3cmstPmZsYWdzICYgVkNTMlJFTUFQKSkKKwkJZW5naW5lID0gQkNTOwor CisJcmV0dXJuIGJiLT5idXN5W2JiLT5lbmdpbmVfbWFwW2VuZ2luZV1dOworfQorCitzdGF0aWMg dm9pZCBnZXRfc3RhdHMoY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiLCBzdHJ1Y3Qg d29ya2xvYWQgKndyaykKK3sKKwlzdHJ1Y3QgYnVzeV9iYWxhbmNlciAqYmIgPSAmd3JrLT5idXN5 X2JhbGFuY2VyOworCXVpbnQ2NF90IHZhbFs3XTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWlndF9h c3NlcnRfZXEocmVhZChiYi0+ZmQsIHZhbCwgc2l6ZW9mKHZhbCkpLCBzaXplb2YodmFsKSk7CisK KwlpZiAoIWJiLT5maXJzdCkgeworCQlmb3IgKGkgPSAwOyBpIDwgYmItPm51bV9lbmdpbmVzOyBp KyspIHsKKwkJCWRvdWJsZSBkOworCisJCQlkID0gKHZhbFsyICsgaV0gLSBiYi0+cHJldltpXSkg KiAxMDA7CisJCQlkIC89IHZhbFsxXSAtIGJiLT50X3ByZXY7CisJCQliYi0+YnVzeVtpXSA9IGQ7 CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgYmItPm51bV9lbmdpbmVzOyBpKyspCisJCWJi LT5wcmV2W2ldID0gdmFsWzIgKyBpXTsKKworCWJiLT50X3ByZXYgPSB2YWxbMV07CisJYmItPmZp cnN0ID0gZmFsc2U7Cit9CisKK3N0YXRpYyBlbnVtIGludGVsX2VuZ2luZV9pZAorYnVzeV9hdmdf YmFsYW5jZShjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLAorCQkgc3Ry dWN0IHdvcmtsb2FkICp3cmssIHN0cnVjdCB3X3N0ZXAgKncpCit7CisJZ2V0X3N0YXRzKGJhbGFu Y2VyLCB3cmspOworCisJcmV0dXJuIHFkYXZnX2JhbGFuY2UoYmFsYW5jZXIsIHdyaywgdyk7Cit9 CisKK3N0YXRpYyBlbnVtIGludGVsX2VuZ2luZV9pZAorYnVzeV9iYWxhbmNlKGNvbnN0IHN0cnVj dCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJICAgICBzdHJ1Y3Qgd29ya2xvYWQgKndy aywgc3RydWN0IHdfc3RlcCAqdykKK3sKKwlnZXRfc3RhdHMoYmFsYW5jZXIsIHdyayk7CisKKwly ZXR1cm4gcWRfYmFsYW5jZShiYWxhbmNlciwgd3JrLCB3KTsKK30KKworc3RhdGljIGludAorYnVz eV9pbml0KGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsIHN0cnVjdCB3 b3JrbG9hZCAqd3JrKQoreworCXN0cnVjdCBidXN5X2JhbGFuY2VyICpiYiA9ICZ3cmstPmJ1c3lf YmFsYW5jZXI7CisJc3RydWN0IGVuZ2luZV9kZXNjIHsKKwkJdW5zaWduZWQgY2xhc3MsIGluc3Q7 CisJCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCX0gKmQsIGVuZ2luZXNbXSA9IHsKKwkJeyBJ OTE1X0VOR0lORV9DTEFTU19SRU5ERVIsIDAsIFJDUyB9LAorCQl7IEk5MTVfRU5HSU5FX0NMQVNT X0NPUFksIDAsIEJDUyB9LAorCQl7IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAwLCBWQ1MxIH0s CisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDEsIFZDUzIgfSwKKwkJeyBJOTE1X0VOR0lO RV9DTEFTU19WSURFT19FTkhBTkNFLCAwLCBWRUNTIH0sCisJCXsgMCwgMCwgVkNTIH0KKwl9Owor CisJYmItPm51bV9lbmdpbmVzID0gMDsKKwliYi0+Zmlyc3QgPSB0cnVlOworCWJiLT5mZCA9IC0x OworCisJZm9yIChkID0gJmVuZ2luZXNbMF07IGQtPmlkICE9IFZDUzsgZCsrKSB7CisJCWludCBw ZmQ7CisKKwkJcGZkID0gcGVyZl9pOTE1X29wZW5fZ3JvdXAoSTkxNV9QTVVfRU5HSU5FX0JVU1ko ZC0+Y2xhc3MsCisJCQkJCQkJICAgICAgICBkLT5pbnN0KSwKKwkJCQkJICAgYmItPmZkKTsKKwkJ aWYgKHBmZCA8IDApIHsKKwkJCWlmIChkLT5pZCAhPSBWQ1MyKQorCQkJCXJldHVybiAtKDEwICsg YmItPm51bV9lbmdpbmVzKTsKKwkJCWVsc2UKKwkJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChi Yi0+bnVtX2VuZ2luZXMgPT0gMCkKKwkJCWJiLT5mZCA9IHBmZDsKKworCQliYi0+ZW5naW5lX21h cFtkLT5pZF0gPSBiYi0+bnVtX2VuZ2luZXMrKzsKKwl9CisKKwlpZiAoYmItPm51bV9lbmdpbmVz IDwgNSAmJiAhKHdyay0+ZmxhZ3MgJiBWQ1MyUkVNQVApKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1 cm4gMDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciBhbGxfYmFs YW5jZXJzW10gPSB7CiAJewogCQkuaWQgPSAwLApAQCAtMTMxNSw2ICsxNDI4LDIyIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgYWxsX2JhbGFuY2Vyc1tdID0gewogCQku ZGVzYyA9ICJTdGF0aWMgcm91bmQtcm9iaW4gVkNTIGFzc2lnbm1lbnQgYXQgY29udGV4dCBjcmVh dGlvbi4iLAogCQkuYmFsYW5jZSA9IGNvbnRleHRfYmFsYW5jZSwKIAl9LAorCXsKKwkJLmlkID0g OSwKKwkJLm5hbWUgPSAiYnVzeSIsCisJCS5kZXNjID0gIkVuZ2luZSBidXN5bmVzcyBiYXNlZCBi YWxhbmNpbmcuIiwKKwkJLmluaXQgPSBidXN5X2luaXQsCisJCS5nZXRfcWQgPSBnZXRfZW5naW5l X2J1c3ksCisJCS5iYWxhbmNlID0gYnVzeV9iYWxhbmNlLAorCX0sCisJeworCQkuaWQgPSAxMCwK KwkJLm5hbWUgPSAiYnVzeS1hdmciLAorCQkuZGVzYyA9ICJBdmVyYWdlIGVuZ2luZSBidXN5bmVz cyBiYXNlZCBiYWxhbmNpbmcuIiwKKwkJLmluaXQgPSBidXN5X2luaXQsCisJCS5nZXRfcWQgPSBn ZXRfZW5naW5lX2J1c3ksCisJCS5iYWxhbmNlID0gYnVzeV9hdmdfYmFsYW5jZSwKKwl9LAogfTsK IAogc3RhdGljIHVuc2lnbmVkIGludApAQCAtMjIyNiw2ICsyMzU1LDE3IEBAIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQkgICAgKHZlcmJvc2UgPiAwICYmIG1hc3Rlcl93b3Jr bG9hZCA9PSBpKTsKIAogCQlwcmVwYXJlX3dvcmtsb2FkKGksIHdbaV0sIGZsYWdzXyk7CisKKwkJ aWYgKGJhbGFuY2VyICYmIGJhbGFuY2VyLT5pbml0KSB7CisJCQlpbnQgcmV0ID0gYmFsYW5jZXIt PmluaXQoYmFsYW5jZXIsIHdbaV0pOworCQkJaWYgKHJldCkgeworCQkJCWlmICh2ZXJib3NlKQor CQkJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkJCSJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBiYWxhbmNp bmchICgldT0lZClcbiIsCisJCQkJCQlpLCByZXQpOworCQkJCXJldHVybiAxOworCQkJfQorCQl9 CiAJfQogCiAJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwotLSAKMi45LjUKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=