From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 8/9] gem_wsim: Busy stats balancers Date: Tue, 10 Oct 2017 10:30:07 +0100 Message-ID: <20171010093008.22804-9-tvrtko.ursulin@linux.intel.com> References: <20171010093008.22804-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F69C6E3EF for ; Tue, 10 Oct 2017 09:30:22 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id l10so21634015wmg.1 for ; Tue, 10 Oct 2017 02:30:22 -0700 (PDT) In-Reply-To: <20171010093008.22804-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 ZGV4IGQwNjYxMTJhMzJhMi4uYTgxYTU1ZTAxNjk3IDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL01h a2VmaWxlLmFtCisrKyBiL2JlbmNobWFya3MvTWFrZWZpbGUuYW0KQEAgLTIxLDcgKzIxLDcgQEAg Z2VtX2xhdGVuY3lfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVEhSRUFEX0NGTEFHUykKIGdlbV9s YXRlbmN5X0xEQUREID0gJChMREFERCkgLWxwdGhyZWFkCiBnZW1fc3lzbGF0ZW5jeV9DRkxBR1Mg PSAkKEFNX0NGTEFHUykgJChUSFJFQURfQ0ZMQUdTKQogZ2VtX3N5c2xhdGVuY3lfTERBREQgPSAk KExEQUREKSAtbHB0aHJlYWQgLWxydAotZ2VtX3dzaW1fTERBREQgPSAkKExEQUREKSAtbHB0aHJl YWQKK2dlbV93c2ltX0xEQUREID0gJChMREFERCkgJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJpZ3Rf cGVyZi5sYSAtbHB0aHJlYWQKIAogRVhUUkFfRElTVD0gXAogCVJFQURNRSBcCmRpZmYgLS1naXQg YS9iZW5jaG1hcmtzL2dlbV93c2ltLmMgYi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKaW5kZXggODJm ZTZiYTllYzVmLi44YjJjZDkwNjU5YTkgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3MvZ2VtX3dzaW0u YworKysgYi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRl ICJpbnRlbF9pby5oIgogI2luY2x1ZGUgImlndF9hdXguaCIKICNpbmNsdWRlICJpZ3RfcmFuZC5o IgorI2luY2x1ZGUgImlndF9wZXJmLmgiCiAjaW5jbHVkZSAic3dfc3luYy5oIgogCiAjaW5jbHVk ZSAiZXdtYS5oIgpAQCAtMTg4LDYgKzE4OSwxNiBAQCBzdHJ1Y3Qgd29ya2xvYWQKIAkJCXVpbnQz Ml90IGxhc3RbTlVNX0VOR0lORVNdOwogCQl9IHJ0OwogCX07CisKKwlzdHJ1Y3QgYnVzeV9iYWxh bmNlciB7CisJCWludCBmZDsKKwkJYm9vbCBmaXJzdDsKKwkJdW5zaWduZWQgaW50IG51bV9lbmdp bmVzOworCQl1bnNpZ25lZCBpbnQgZW5naW5lX21hcFs1XTsKKwkJdWludDY0X3QgdF9wcmV2Owor CQl1aW50NjRfdCBwcmV2WzVdOworCQlkb3VibGUgYnVzeVs1XTsKKwl9IGJ1c3lfYmFsYW5jZXI7 CiB9OwogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG5vcF9jYWxpYnJhdGlvbl91cyA9IDEw MDA7CkBAIC05OTMsNiArMTAwNCw4IEBAIHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciB7CiAJdW5z aWduZWQgaW50IGZsYWdzOwogCXVuc2lnbmVkIGludCBtaW5fZ2VuOwogCisJaW50ICgqaW5pdCko Y29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiYWxhbmNlciwKKwkJICAgIHN0cnVjdCB3 b3JrbG9hZCAqd3JrKTsKIAl1bnNpZ25lZCBpbnQgKCpnZXRfcWQpKGNvbnN0IHN0cnVjdCB3b3Jr bG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCiAJCQkgICAgICAgc3RydWN0IHdvcmtsb2FkICp3cmss CiAJCQkgICAgICAgZW51bSBpbnRlbF9lbmdpbmVfaWQgZW5naW5lKTsKQEAgLTEyNDIsNiArMTI1 NSwxMDggQEAgY29udGV4dF9iYWxhbmNlKGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAq YmFsYW5jZXIsCiAJcmV0dXJuIGdldF92Y3NfZW5naW5lKHdyay0+Y3R4X2xpc3Rbdy0+Y29udGV4 dF0uc3RhdGljX3Zjcyk7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK2dldF9lbmdpbmVfYnVz eShjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLAorCQlzdHJ1Y3Qgd29y a2xvYWQgKndyaywgZW51bSBpbnRlbF9lbmdpbmVfaWQgZW5naW5lKQoreworCXN0cnVjdCBidXN5 X2JhbGFuY2VyICpiYiA9ICZ3cmstPmJ1c3lfYmFsYW5jZXI7CisKKwlpZiAoZW5naW5lID09IFZD UzIgJiYgKHdyay0+ZmxhZ3MgJiBWQ1MyUkVNQVApKQorCQllbmdpbmUgPSBCQ1M7CisKKwlyZXR1 cm4gYmItPmJ1c3lbYmItPmVuZ2luZV9tYXBbZW5naW5lXV07Cit9CisKK3N0YXRpYyB2b2lkCitn ZXRfcG11X3N0YXRzKGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYiwgc3RydWN0IHdv cmtsb2FkICp3cmspCit7CisJc3RydWN0IGJ1c3lfYmFsYW5jZXIgKmJiID0gJndyay0+YnVzeV9i YWxhbmNlcjsKKwl1aW50NjRfdCB2YWxbN107CisJdW5zaWduZWQgaW50IGk7CisKKwlpZ3RfYXNz ZXJ0X2VxKHJlYWQoYmItPmZkLCB2YWwsIHNpemVvZih2YWwpKSwKKwkJICAgICAgKDIgKyBiYi0+ bnVtX2VuZ2luZXMpICogc2l6ZW9mKHVpbnQ2NF90KSk7CisKKwlpZiAoIWJiLT5maXJzdCkgewor CQlmb3IgKGkgPSAwOyBpIDwgYmItPm51bV9lbmdpbmVzOyBpKyspIHsKKwkJCWRvdWJsZSBkOwor CisJCQlkID0gKHZhbFsyICsgaV0gLSBiYi0+cHJldltpXSkgKiAxMDA7CisJCQlkIC89IHZhbFsx XSAtIGJiLT50X3ByZXY7CisJCQliYi0+YnVzeVtpXSA9IGQ7CisJCX0KKwl9CisKKwlmb3IgKGkg PSAwOyBpIDwgYmItPm51bV9lbmdpbmVzOyBpKyspCisJCWJiLT5wcmV2W2ldID0gdmFsWzIgKyBp XTsKKworCWJiLT50X3ByZXYgPSB2YWxbMV07CisJYmItPmZpcnN0ID0gZmFsc2U7Cit9CisKK3N0 YXRpYyBlbnVtIGludGVsX2VuZ2luZV9pZAorYnVzeV9hdmdfYmFsYW5jZShjb25zdCBzdHJ1Y3Qg d29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLAorCQkgc3RydWN0IHdvcmtsb2FkICp3cmssIHN0 cnVjdCB3X3N0ZXAgKncpCit7CisJZ2V0X3BtdV9zdGF0cyhiYWxhbmNlciwgd3JrKTsKKworCXJl dHVybiBxZGF2Z19iYWxhbmNlKGJhbGFuY2VyLCB3cmssIHcpOworfQorCitzdGF0aWMgZW51bSBp bnRlbF9lbmdpbmVfaWQKK2J1c3lfYmFsYW5jZShjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5j ZXIgKmJhbGFuY2VyLAorCSAgICAgc3RydWN0IHdvcmtsb2FkICp3cmssIHN0cnVjdCB3X3N0ZXAg KncpCit7CisJZ2V0X3BtdV9zdGF0cyhiYWxhbmNlciwgd3JrKTsKKworCXJldHVybiBxZF9iYWxh bmNlKGJhbGFuY2VyLCB3cmssIHcpOworfQorCitzdGF0aWMgaW50CitidXN5X2luaXQoY29uc3Qg c3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiYWxhbmNlciwgc3RydWN0IHdvcmtsb2FkICp3cmsp Cit7CisJc3RydWN0IGJ1c3lfYmFsYW5jZXIgKmJiID0gJndyay0+YnVzeV9iYWxhbmNlcjsKKwlz dHJ1Y3QgZW5naW5lX2Rlc2MgeworCQl1bnNpZ25lZCBjbGFzcywgaW5zdDsKKwkJZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7CisJfSAqZCwgZW5naW5lc1tdID0geworCQl7IEk5MTVfRU5HSU5FX0NM QVNTX1JFTkRFUiwgMCwgUkNTIH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCwgQkNT IH0sCisJCXsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDAsIFZDUzEgfSwKKwkJeyBJOTE1X0VO R0lORV9DTEFTU19WSURFTywgMSwgVkNTMiB9LAorCQl7IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP X0VOSEFOQ0UsIDAsIFZFQ1MgfSwKKwkJeyAwLCAwLCBWQ1MgfQorCX07CisKKwliYi0+bnVtX2Vu Z2luZXMgPSAwOworCWJiLT5maXJzdCA9IHRydWU7CisJYmItPmZkID0gLTE7CisKKwlmb3IgKGQg PSAmZW5naW5lc1swXTsgZC0+aWQgIT0gVkNTOyBkKyspIHsKKwkJaW50IHBmZDsKKworCQlwZmQg PSBwZXJmX2k5MTVfb3Blbl9ncm91cChJOTE1X1BNVV9FTkdJTkVfQlVTWShkLT5jbGFzcywKKwkJ CQkJCQkgICAgICAgIGQtPmluc3QpLAorCQkJCQkgICBiYi0+ZmQpOworCQlpZiAocGZkIDwgMCkg eworCQkJaWYgKGQtPmlkICE9IFZDUzIpCisJCQkJcmV0dXJuIC0oMTAgKyBiYi0+bnVtX2VuZ2lu ZXMpOworCQkJZWxzZQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGJiLT5udW1fZW5naW5l cyA9PSAwKQorCQkJYmItPmZkID0gcGZkOworCisJCWJiLT5lbmdpbmVfbWFwW2QtPmlkXSA9IGJi LT5udW1fZW5naW5lcysrOworCX0KKworCWlmIChiYi0+bnVtX2VuZ2luZXMgPCA1ICYmICEod3Jr LT5mbGFncyAmIFZDUzJSRU1BUCkpCisJCXJldHVybiAtMTsKKworCXJldHVybiAwOworfQorCiBz dGF0aWMgY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyIGFsbF9iYWxhbmNlcnNbXSA9IHsK IAl7CiAJCS5pZCA9IDAsCkBAIC0xMzE1LDYgKzE0MzAsMjIgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCB3b3JrbG9hZF9iYWxhbmNlciBhbGxfYmFsYW5jZXJzW10gPSB7CiAJCS5kZXNjID0gIlN0YXRp YyByb3VuZC1yb2JpbiBWQ1MgYXNzaWdubWVudCBhdCBjb250ZXh0IGNyZWF0aW9uLiIsCiAJCS5i YWxhbmNlID0gY29udGV4dF9iYWxhbmNlLAogCX0sCisJeworCQkuaWQgPSA5LAorCQkubmFtZSA9 ICJidXN5IiwKKwkJLmRlc2MgPSAiRW5naW5lIGJ1c3luZXNzIGJhc2VkIGJhbGFuY2luZy4iLAor CQkuaW5pdCA9IGJ1c3lfaW5pdCwKKwkJLmdldF9xZCA9IGdldF9lbmdpbmVfYnVzeSwKKwkJLmJh bGFuY2UgPSBidXN5X2JhbGFuY2UsCisJfSwKKwl7CisJCS5pZCA9IDEwLAorCQkubmFtZSA9ICJi dXN5LWF2ZyIsCisJCS5kZXNjID0gIkF2ZXJhZ2UgZW5naW5lIGJ1c3luZXNzIGJhc2VkIGJhbGFu Y2luZy4iLAorCQkuaW5pdCA9IGJ1c3lfaW5pdCwKKwkJLmdldF9xZCA9IGdldF9lbmdpbmVfYnVz eSwKKwkJLmJhbGFuY2UgPSBidXN5X2F2Z19iYWxhbmNlLAorCX0sCiB9OwogCiBzdGF0aWMgdW5z aWduZWQgaW50CkBAIC0yMjI2LDYgKzIzNTcsMTcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogCQkJCSAgICAodmVyYm9zZSA+IDAgJiYgbWFzdGVyX3dvcmtsb2FkID09IGkpOwog CiAJCXByZXBhcmVfd29ya2xvYWQoaSwgd1tpXSwgZmxhZ3NfKTsKKworCQlpZiAoYmFsYW5jZXIg JiYgYmFsYW5jZXItPmluaXQpIHsKKwkJCWludCByZXQgPSBiYWxhbmNlci0+aW5pdChiYWxhbmNl ciwgd1tpXSk7CisJCQlpZiAocmV0KSB7CisJCQkJaWYgKHZlcmJvc2UpCisJCQkJCWZwcmludGYo c3RkZXJyLAorCQkJCQkJIkZhaWxlZCB0byBpbml0aWFsaXplIGJhbGFuY2luZyEgKCV1PSVkKVxu IiwKKwkJCQkJCWksIHJldCk7CisJCQkJcmV0dXJuIDE7CisJCQl9CisJCX0KIAl9CiAKIAlnZW1f cXVpZXNjZW50X2dwdShmZCk7Ci0tIAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==