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: Fri, 29 Sep 2017 13:39:38 +0100 Message-ID: <20170929123939.3312-7-tvrtko.ursulin@linux.intel.com> References: <20170929123939.3312-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-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DDDA6EB41 for ; Fri, 29 Sep 2017 12:39:53 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id z1so1212551wre.1 for ; Fri, 29 Sep 2017 05:39:53 -0700 (PDT) In-Reply-To: <20170929123939.3312-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 IGFuZCBidXN5LWF2ZyBiYWxhbmNlcnMgd2hpY2ggbWFrZSBiYWxhbmNpbmcgZGVjaXNpb25zIGJ5 IGxvb2tpbmcKYXQgZW5naW5lIGJ1c3luZXNzIHZpYSB0aGUgaTkxNSBQTVUuCgpBbmQgdGh1cyBh cmUgYWJsZSB0byBtYWtlIGRlY2lzaW9ucyBvbiB0aGUgYWN0dWFsIGluc3RhbnRhbmVvdXMgbG9h ZCBvZgp0aGUgc3lzdGVtLCBhbmQgbm90IHVzZSBtZXRyaWNzIHRoYXQgbGFnIGJlaGluZCBieSBh IGJhdGNoIG9yIHR3by4gSW4KZG9pbmcgc28sIGVhY2ggY2xpZW50IHNob3VsZCBiZSBhYmxlIHRv IGdyZWVkaWx5IG1heGltaXNlIHRoZWlyIG93bgp1c2FnZSBvZiB0aGUgc3lzdGVtLCBsZWFkaW5n IHRvIGltcHJvdmVkIGxvYWQgYmFsYW5jaW5nIGV2ZW4gaW4gdGhlIGZhY2UKb2Ygb3RoZXIgdW5j b29wZXJhdGl2ZSBjbGllbnRzLiBPbiB0aGUgb3RoZXIgaGFuZCwgd2UgYXJlIG9ubHkgdXNpbmcg dGhlCmluc3RhbnRhbmVvdXMgbG9hZCB3aXRob3V0IGNvdXBsaW5nIGluIHRoZSBwcmVkaWN0aXZl IGZhY3RvciBmb3IgZGlzcGF0Y2gKYW5kIGV4ZWN1dGlvbiBsZW5ndGguCgp2MjoKICogQ29tbWl0 IHRleHQuIChDaHJpcyBXaWxzb24pCiAqIFJlbmFtZSBnZXRfc3RhdHMgdG8gZ2V0X3BtdV9zdGF0 cy4gKENocmlzIFdpbHNvbikKICogRml4IFBNVSByZWFkb3V0IGluIFZDUyByZW1hcCBtb2RlLgoK U2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K UmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0K IGJlbmNobWFya3MvTWFrZWZpbGUuYW0gfCAgIDIgKy0KIGJlbmNobWFya3MvZ2VtX3dzaW0uYyAg fCAxNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCAxNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2JlbmNobWFya3MvTWFrZWZpbGUuYW0gYi9iZW5jaG1hcmtzL01ha2VmaWxlLmFtCmlu ZGV4IDVjMmNkMTlkNmIyMC4uMmMxNTQ2OGQzYmU0IDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL01h a2VmaWxlLmFtCisrKyBiL2JlbmNobWFya3MvTWFrZWZpbGUuYW0KQEAgLTE5LDYgKzE5LDYgQEAg Z2VtX2xhdGVuY3lfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVEhSRUFEX0NGTEFHUykKIGdlbV9s YXRlbmN5X0xEQUREID0gJChMREFERCkgLWxwdGhyZWFkCiBnZW1fc3lzbGF0ZW5jeV9DRkxBR1Mg PSAkKEFNX0NGTEFHUykgJChUSFJFQURfQ0ZMQUdTKQogZ2VtX3N5c2xhdGVuY3lfTERBREQgPSAk KExEQUREKSAtbHB0aHJlYWQgLWxydAotZ2VtX3dzaW1fTERBREQgPSAkKExEQUREKSAtbHB0aHJl YWQKK2dlbV93c2ltX0xEQUREID0gJChMREFERCkgJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJpZ3Rf cGVyZi5sYSAtbHB0aHJlYWQKIAogRVhUUkFfRElTVD1SRUFETUUKZGlmZiAtLWdpdCBhL2JlbmNo bWFya3MvZ2VtX3dzaW0uYyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwppbmRleCA4MmZlNmJhOWVj NWYuLjhiMmNkOTA2NTlhOSAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9nZW1fd3NpbS5jCisrKyBi L2JlbmNobWFya3MvZ2VtX3dzaW0uYwpAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgImludGVs X2lvLmgiCiAjaW5jbHVkZSAiaWd0X2F1eC5oIgogI2luY2x1ZGUgImlndF9yYW5kLmgiCisjaW5j bHVkZSAiaWd0X3BlcmYuaCIKICNpbmNsdWRlICJzd19zeW5jLmgiCiAKICNpbmNsdWRlICJld21h LmgiCkBAIC0xODgsNiArMTg5LDE2IEBAIHN0cnVjdCB3b3JrbG9hZAogCQkJdWludDMyX3QgbGFz dFtOVU1fRU5HSU5FU107CiAJCX0gcnQ7CiAJfTsKKworCXN0cnVjdCBidXN5X2JhbGFuY2VyIHsK KwkJaW50IGZkOworCQlib29sIGZpcnN0OworCQl1bnNpZ25lZCBpbnQgbnVtX2VuZ2luZXM7CisJ CXVuc2lnbmVkIGludCBlbmdpbmVfbWFwWzVdOworCQl1aW50NjRfdCB0X3ByZXY7CisJCXVpbnQ2 NF90IHByZXZbNV07CisJCWRvdWJsZSBidXN5WzVdOworCX0gYnVzeV9iYWxhbmNlcjsKIH07CiAK IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbm9wX2NhbGlicmF0aW9uX3VzID0gMTAwMDsKQEAg LTk5Myw2ICsxMDA0LDggQEAgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyIHsKIAl1bnNpZ25lZCBp bnQgZmxhZ3M7CiAJdW5zaWduZWQgaW50IG1pbl9nZW47CiAKKwlpbnQgKCppbml0KShjb25zdCBz dHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLAorCQkgICAgc3RydWN0IHdvcmtsb2Fk ICp3cmspOwogCXVuc2lnbmVkIGludCAoKmdldF9xZCkoY29uc3Qgc3RydWN0IHdvcmtsb2FkX2Jh bGFuY2VyICpiYWxhbmNlciwKIAkJCSAgICAgICBzdHJ1Y3Qgd29ya2xvYWQgKndyaywKIAkJCSAg ICAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBlbmdpbmUpOwpAQCAtMTI0Miw2ICsxMjU1LDEwOCBA QCBjb250ZXh0X2JhbGFuY2UoY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiYWxhbmNl ciwKIAlyZXR1cm4gZ2V0X3Zjc19lbmdpbmUod3JrLT5jdHhfbGlzdFt3LT5jb250ZXh0XS5zdGF0 aWNfdmNzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludAorZ2V0X2VuZ2luZV9idXN5KGNvbnN0 IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJCXN0cnVjdCB3b3JrbG9hZCAq d3JrLCBlbnVtIGludGVsX2VuZ2luZV9pZCBlbmdpbmUpCit7CisJc3RydWN0IGJ1c3lfYmFsYW5j ZXIgKmJiID0gJndyay0+YnVzeV9iYWxhbmNlcjsKKworCWlmIChlbmdpbmUgPT0gVkNTMiAmJiAo d3JrLT5mbGFncyAmIFZDUzJSRU1BUCkpCisJCWVuZ2luZSA9IEJDUzsKKworCXJldHVybiBiYi0+ YnVzeVtiYi0+ZW5naW5lX21hcFtlbmdpbmVdXTsKK30KKworc3RhdGljIHZvaWQKK2dldF9wbXVf c3RhdHMoY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiLCBzdHJ1Y3Qgd29ya2xvYWQg KndyaykKK3sKKwlzdHJ1Y3QgYnVzeV9iYWxhbmNlciAqYmIgPSAmd3JrLT5idXN5X2JhbGFuY2Vy OworCXVpbnQ2NF90IHZhbFs3XTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWlndF9hc3NlcnRfZXEo cmVhZChiYi0+ZmQsIHZhbCwgc2l6ZW9mKHZhbCkpLAorCQkgICAgICAoMiArIGJiLT5udW1fZW5n aW5lcykgKiBzaXplb2YodWludDY0X3QpKTsKKworCWlmICghYmItPmZpcnN0KSB7CisJCWZvciAo aSA9IDA7IGkgPCBiYi0+bnVtX2VuZ2luZXM7IGkrKykgeworCQkJZG91YmxlIGQ7CisKKwkJCWQg PSAodmFsWzIgKyBpXSAtIGJiLT5wcmV2W2ldKSAqIDEwMDsKKwkJCWQgLz0gdmFsWzFdIC0gYmIt PnRfcHJldjsKKwkJCWJiLT5idXN5W2ldID0gZDsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkg PCBiYi0+bnVtX2VuZ2luZXM7IGkrKykKKwkJYmItPnByZXZbaV0gPSB2YWxbMiArIGldOworCisJ YmItPnRfcHJldiA9IHZhbFsxXTsKKwliYi0+Zmlyc3QgPSBmYWxzZTsKK30KKworc3RhdGljIGVu dW0gaW50ZWxfZW5naW5lX2lkCitidXN5X2F2Z19iYWxhbmNlKGNvbnN0IHN0cnVjdCB3b3JrbG9h ZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJCSBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgc3RydWN0IHdf c3RlcCAqdykKK3sKKwlnZXRfcG11X3N0YXRzKGJhbGFuY2VyLCB3cmspOworCisJcmV0dXJuIHFk YXZnX2JhbGFuY2UoYmFsYW5jZXIsIHdyaywgdyk7Cit9CisKK3N0YXRpYyBlbnVtIGludGVsX2Vu Z2luZV9pZAorYnVzeV9iYWxhbmNlKGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFs YW5jZXIsCisJICAgICBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgc3RydWN0IHdfc3RlcCAqdykKK3sK KwlnZXRfcG11X3N0YXRzKGJhbGFuY2VyLCB3cmspOworCisJcmV0dXJuIHFkX2JhbGFuY2UoYmFs YW5jZXIsIHdyaywgdyk7Cit9CisKK3N0YXRpYyBpbnQKK2J1c3lfaW5pdChjb25zdCBzdHJ1Y3Qg d29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaykKK3sKKwlz dHJ1Y3QgYnVzeV9iYWxhbmNlciAqYmIgPSAmd3JrLT5idXN5X2JhbGFuY2VyOworCXN0cnVjdCBl bmdpbmVfZGVzYyB7CisJCXVuc2lnbmVkIGNsYXNzLCBpbnN0OworCQllbnVtIGludGVsX2VuZ2lu ZV9pZCBpZDsKKwl9ICpkLCBlbmdpbmVzW10gPSB7CisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfUkVO REVSLCAwLCBSQ1MgfSwKKwkJeyBJOTE1X0VOR0lORV9DTEFTU19DT1BZLCAwLCBCQ1MgfSwKKwkJ eyBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMCwgVkNTMSB9LAorCQl7IEk5MTVfRU5HSU5FX0NM QVNTX1ZJREVPLCAxLCBWQ1MyIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU9fRU5IQU5D RSwgMCwgVkVDUyB9LAorCQl7IDAsIDAsIFZDUyB9CisJfTsKKworCWJiLT5udW1fZW5naW5lcyA9 IDA7CisJYmItPmZpcnN0ID0gdHJ1ZTsKKwliYi0+ZmQgPSAtMTsKKworCWZvciAoZCA9ICZlbmdp bmVzWzBdOyBkLT5pZCAhPSBWQ1M7IGQrKykgeworCQlpbnQgcGZkOworCisJCXBmZCA9IHBlcmZf aTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lORV9CVVNZKGQtPmNsYXNzLAorCQkJCQkJCSAg ICAgICAgZC0+aW5zdCksCisJCQkJCSAgIGJiLT5mZCk7CisJCWlmIChwZmQgPCAwKSB7CisJCQlp ZiAoZC0+aWQgIT0gVkNTMikKKwkJCQlyZXR1cm4gLSgxMCArIGJiLT5udW1fZW5naW5lcyk7CisJ CQllbHNlCisJCQkJY29udGludWU7CisJCX0KKworCQlpZiAoYmItPm51bV9lbmdpbmVzID09IDAp CisJCQliYi0+ZmQgPSBwZmQ7CisKKwkJYmItPmVuZ2luZV9tYXBbZC0+aWRdID0gYmItPm51bV9l bmdpbmVzKys7CisJfQorCisJaWYgKGJiLT5udW1fZW5naW5lcyA8IDUgJiYgISh3cmstPmZsYWdz ICYgVkNTMlJFTUFQKSkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgYWxsX2JhbGFuY2Vyc1tdID0gewogCXsKIAkJ LmlkID0gMCwKQEAgLTEzMTUsNiArMTQzMCwyMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHdvcmts b2FkX2JhbGFuY2VyIGFsbF9iYWxhbmNlcnNbXSA9IHsKIAkJLmRlc2MgPSAiU3RhdGljIHJvdW5k LXJvYmluIFZDUyBhc3NpZ25tZW50IGF0IGNvbnRleHQgY3JlYXRpb24uIiwKIAkJLmJhbGFuY2Ug PSBjb250ZXh0X2JhbGFuY2UsCiAJfSwKKwl7CisJCS5pZCA9IDksCisJCS5uYW1lID0gImJ1c3ki LAorCQkuZGVzYyA9ICJFbmdpbmUgYnVzeW5lc3MgYmFzZWQgYmFsYW5jaW5nLiIsCisJCS5pbml0 ID0gYnVzeV9pbml0LAorCQkuZ2V0X3FkID0gZ2V0X2VuZ2luZV9idXN5LAorCQkuYmFsYW5jZSA9 IGJ1c3lfYmFsYW5jZSwKKwl9LAorCXsKKwkJLmlkID0gMTAsCisJCS5uYW1lID0gImJ1c3ktYXZn IiwKKwkJLmRlc2MgPSAiQXZlcmFnZSBlbmdpbmUgYnVzeW5lc3MgYmFzZWQgYmFsYW5jaW5nLiIs CisJCS5pbml0ID0gYnVzeV9pbml0LAorCQkuZ2V0X3FkID0gZ2V0X2VuZ2luZV9idXN5LAorCQku YmFsYW5jZSA9IGJ1c3lfYXZnX2JhbGFuY2UsCisJfSwKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBp bnQKQEAgLTIyMjYsNiArMjM1NywxNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJCQkJICAgICh2ZXJib3NlID4gMCAmJiBtYXN0ZXJfd29ya2xvYWQgPT0gaSk7CiAKIAkJcHJl cGFyZV93b3JrbG9hZChpLCB3W2ldLCBmbGFnc18pOworCisJCWlmIChiYWxhbmNlciAmJiBiYWxh bmNlci0+aW5pdCkgeworCQkJaW50IHJldCA9IGJhbGFuY2VyLT5pbml0KGJhbGFuY2VyLCB3W2ld KTsKKwkJCWlmIChyZXQpIHsKKwkJCQlpZiAodmVyYm9zZSkKKwkJCQkJZnByaW50ZihzdGRlcnIs CisJCQkJCQkiRmFpbGVkIHRvIGluaXRpYWxpemUgYmFsYW5jaW5nISAoJXU9JWQpXG4iLAorCQkJ CQkJaSwgcmV0KTsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJfQogCX0KIAogCWdlbV9xdWllc2Nl bnRfZ3B1KGZkKTsKLS0gCjIuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK