From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t v3 8/9] gem_wsim: Busy stats balancers Date: Tue, 21 Nov 2017 19:37:20 +0000 Message-ID: <20171121193720.18179-1-tvrtko.ursulin@linux.intel.com> References: <20171010093008.22804-9-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAEBA89B20 for ; Tue, 21 Nov 2017 19:37:30 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id b189so5742374wmd.5 for ; Tue, 21 Nov 2017 11:37:30 -0800 (PST) In-Reply-To: <20171010093008.22804-9-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 djM6CiAqIEludGVncmF0ZWQgUGV0cmkncyBtZXNvbiBidWlsZCByZWNpcGUuCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ICh2MikKQ2M6IFBldHJp IExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgotLS0KIGJlbmNobWFya3MvTWFrZWZp bGUuYW0gfCAgIDIgKy0KIGJlbmNobWFya3MvZ2VtX3dzaW0uYyAgfCAxNDIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogYmVuY2htYXJrcy9tZXNvbi5i dWlsZCB8ICAgNyArKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTQ5IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9NYWtlZmlsZS5hbSBiL2JlbmNobWFy a3MvTWFrZWZpbGUuYW0KaW5kZXggZDA2NjExMmEzMmEyLi5hODFhNTVlMDE2OTcgMTAwNjQ0Ci0t LSBhL2JlbmNobWFya3MvTWFrZWZpbGUuYW0KKysrIGIvYmVuY2htYXJrcy9NYWtlZmlsZS5hbQpA QCAtMjEsNyArMjEsNyBAQCBnZW1fbGF0ZW5jeV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChUSFJF QURfQ0ZMQUdTKQogZ2VtX2xhdGVuY3lfTERBREQgPSAkKExEQUREKSAtbHB0aHJlYWQKIGdlbV9z eXNsYXRlbmN5X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKFRIUkVBRF9DRkxBR1MpCiBnZW1fc3lz bGF0ZW5jeV9MREFERCA9ICQoTERBREQpIC1scHRocmVhZCAtbHJ0Ci1nZW1fd3NpbV9MREFERCA9 ICQoTERBREQpIC1scHRocmVhZAorZ2VtX3dzaW1fTERBREQgPSAkKExEQUREKSAkKHRvcF9idWls ZGRpcikvbGliL2xpYmlndF9wZXJmLmxhIC1scHRocmVhZAogCiBFWFRSQV9ESVNUPSBcCiAJUkVB RE1FIFwKZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvZ2VtX3dzaW0uYyBiL2JlbmNobWFya3MvZ2Vt X3dzaW0uYwppbmRleCA4MmZlNmJhOWVjNWYuLjhiMmNkOTA2NTlhOSAxMDA2NDQKLS0tIGEvYmVu Y2htYXJrcy9nZW1fd3NpbS5jCisrKyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwpAQCAtNTAsNiAr NTAsNyBAQAogI2luY2x1ZGUgImludGVsX2lvLmgiCiAjaW5jbHVkZSAiaWd0X2F1eC5oIgogI2lu Y2x1ZGUgImlndF9yYW5kLmgiCisjaW5jbHVkZSAiaWd0X3BlcmYuaCIKICNpbmNsdWRlICJzd19z eW5jLmgiCiAKICNpbmNsdWRlICJld21hLmgiCkBAIC0xODgsNiArMTg5LDE2IEBAIHN0cnVjdCB3 b3JrbG9hZAogCQkJdWludDMyX3QgbGFzdFtOVU1fRU5HSU5FU107CiAJCX0gcnQ7CiAJfTsKKwor CXN0cnVjdCBidXN5X2JhbGFuY2VyIHsKKwkJaW50IGZkOworCQlib29sIGZpcnN0OworCQl1bnNp Z25lZCBpbnQgbnVtX2VuZ2luZXM7CisJCXVuc2lnbmVkIGludCBlbmdpbmVfbWFwWzVdOworCQl1 aW50NjRfdCB0X3ByZXY7CisJCXVpbnQ2NF90IHByZXZbNV07CisJCWRvdWJsZSBidXN5WzVdOwor CX0gYnVzeV9iYWxhbmNlcjsKIH07CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbm9wX2Nh bGlicmF0aW9uX3VzID0gMTAwMDsKQEAgLTk5Myw2ICsxMDA0LDggQEAgc3RydWN0IHdvcmtsb2Fk X2JhbGFuY2VyIHsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAJdW5zaWduZWQgaW50IG1pbl9nZW47 CiAKKwlpbnQgKCppbml0KShjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2Vy LAorCQkgICAgc3RydWN0IHdvcmtsb2FkICp3cmspOwogCXVuc2lnbmVkIGludCAoKmdldF9xZCko Y29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyICpiYWxhbmNlciwKIAkJCSAgICAgICBzdHJ1 Y3Qgd29ya2xvYWQgKndyaywKIAkJCSAgICAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBlbmdpbmUp OwpAQCAtMTI0Miw2ICsxMjU1LDEwOCBAQCBjb250ZXh0X2JhbGFuY2UoY29uc3Qgc3RydWN0IHdv cmtsb2FkX2JhbGFuY2VyICpiYWxhbmNlciwKIAlyZXR1cm4gZ2V0X3Zjc19lbmdpbmUod3JrLT5j dHhfbGlzdFt3LT5jb250ZXh0XS5zdGF0aWNfdmNzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGlu dAorZ2V0X2VuZ2luZV9idXN5KGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5j ZXIsCisJCXN0cnVjdCB3b3JrbG9hZCAqd3JrLCBlbnVtIGludGVsX2VuZ2luZV9pZCBlbmdpbmUp Cit7CisJc3RydWN0IGJ1c3lfYmFsYW5jZXIgKmJiID0gJndyay0+YnVzeV9iYWxhbmNlcjsKKwor CWlmIChlbmdpbmUgPT0gVkNTMiAmJiAod3JrLT5mbGFncyAmIFZDUzJSRU1BUCkpCisJCWVuZ2lu ZSA9IEJDUzsKKworCXJldHVybiBiYi0+YnVzeVtiYi0+ZW5naW5lX21hcFtlbmdpbmVdXTsKK30K Kworc3RhdGljIHZvaWQKK2dldF9wbXVfc3RhdHMoY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFu Y2VyICpiLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaykKK3sKKwlzdHJ1Y3QgYnVzeV9iYWxhbmNlciAq YmIgPSAmd3JrLT5idXN5X2JhbGFuY2VyOworCXVpbnQ2NF90IHZhbFs3XTsKKwl1bnNpZ25lZCBp bnQgaTsKKworCWlndF9hc3NlcnRfZXEocmVhZChiYi0+ZmQsIHZhbCwgc2l6ZW9mKHZhbCkpLAor CQkgICAgICAoMiArIGJiLT5udW1fZW5naW5lcykgKiBzaXplb2YodWludDY0X3QpKTsKKworCWlm ICghYmItPmZpcnN0KSB7CisJCWZvciAoaSA9IDA7IGkgPCBiYi0+bnVtX2VuZ2luZXM7IGkrKykg eworCQkJZG91YmxlIGQ7CisKKwkJCWQgPSAodmFsWzIgKyBpXSAtIGJiLT5wcmV2W2ldKSAqIDEw MDsKKwkJCWQgLz0gdmFsWzFdIC0gYmItPnRfcHJldjsKKwkJCWJiLT5idXN5W2ldID0gZDsKKwkJ fQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBiYi0+bnVtX2VuZ2luZXM7IGkrKykKKwkJYmItPnBy ZXZbaV0gPSB2YWxbMiArIGldOworCisJYmItPnRfcHJldiA9IHZhbFsxXTsKKwliYi0+Zmlyc3Qg PSBmYWxzZTsKK30KKworc3RhdGljIGVudW0gaW50ZWxfZW5naW5lX2lkCitidXN5X2F2Z19iYWxh bmNlKGNvbnN0IHN0cnVjdCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJCSBzdHJ1Y3Qg d29ya2xvYWQgKndyaywgc3RydWN0IHdfc3RlcCAqdykKK3sKKwlnZXRfcG11X3N0YXRzKGJhbGFu Y2VyLCB3cmspOworCisJcmV0dXJuIHFkYXZnX2JhbGFuY2UoYmFsYW5jZXIsIHdyaywgdyk7Cit9 CisKK3N0YXRpYyBlbnVtIGludGVsX2VuZ2luZV9pZAorYnVzeV9iYWxhbmNlKGNvbnN0IHN0cnVj dCB3b3JrbG9hZF9iYWxhbmNlciAqYmFsYW5jZXIsCisJICAgICBzdHJ1Y3Qgd29ya2xvYWQgKndy aywgc3RydWN0IHdfc3RlcCAqdykKK3sKKwlnZXRfcG11X3N0YXRzKGJhbGFuY2VyLCB3cmspOwor CisJcmV0dXJuIHFkX2JhbGFuY2UoYmFsYW5jZXIsIHdyaywgdyk7Cit9CisKK3N0YXRpYyBpbnQK K2J1c3lfaW5pdChjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgKmJhbGFuY2VyLCBzdHJ1 Y3Qgd29ya2xvYWQgKndyaykKK3sKKwlzdHJ1Y3QgYnVzeV9iYWxhbmNlciAqYmIgPSAmd3JrLT5i dXN5X2JhbGFuY2VyOworCXN0cnVjdCBlbmdpbmVfZGVzYyB7CisJCXVuc2lnbmVkIGNsYXNzLCBp bnN0OworCQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKKwl9ICpkLCBlbmdpbmVzW10gPSB7CisJ CXsgSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSLCAwLCBSQ1MgfSwKKwkJeyBJOTE1X0VOR0lORV9D TEFTU19DT1BZLCAwLCBCQ1MgfSwKKwkJeyBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMCwgVkNT MSB9LAorCQl7IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAxLCBWQ1MyIH0sCisJCXsgSTkxNV9F TkdJTkVfQ0xBU1NfVklERU9fRU5IQU5DRSwgMCwgVkVDUyB9LAorCQl7IDAsIDAsIFZDUyB9CisJ fTsKKworCWJiLT5udW1fZW5naW5lcyA9IDA7CisJYmItPmZpcnN0ID0gdHJ1ZTsKKwliYi0+ZmQg PSAtMTsKKworCWZvciAoZCA9ICZlbmdpbmVzWzBdOyBkLT5pZCAhPSBWQ1M7IGQrKykgeworCQlp bnQgcGZkOworCisJCXBmZCA9IHBlcmZfaTkxNV9vcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lORV9C VVNZKGQtPmNsYXNzLAorCQkJCQkJCSAgICAgICAgZC0+aW5zdCksCisJCQkJCSAgIGJiLT5mZCk7 CisJCWlmIChwZmQgPCAwKSB7CisJCQlpZiAoZC0+aWQgIT0gVkNTMikKKwkJCQlyZXR1cm4gLSgx MCArIGJiLT5udW1fZW5naW5lcyk7CisJCQllbHNlCisJCQkJY29udGludWU7CisJCX0KKworCQlp ZiAoYmItPm51bV9lbmdpbmVzID09IDApCisJCQliYi0+ZmQgPSBwZmQ7CisKKwkJYmItPmVuZ2lu ZV9tYXBbZC0+aWRdID0gYmItPm51bV9lbmdpbmVzKys7CisJfQorCisJaWYgKGJiLT5udW1fZW5n aW5lcyA8IDUgJiYgISh3cmstPmZsYWdzICYgVkNTMlJFTUFQKSkKKwkJcmV0dXJuIC0xOworCisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd29ya2xvYWRfYmFsYW5jZXIgYWxs X2JhbGFuY2Vyc1tdID0gewogCXsKIAkJLmlkID0gMCwKQEAgLTEzMTUsNiArMTQzMCwyMiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHdvcmtsb2FkX2JhbGFuY2VyIGFsbF9iYWxhbmNlcnNbXSA9IHsK IAkJLmRlc2MgPSAiU3RhdGljIHJvdW5kLXJvYmluIFZDUyBhc3NpZ25tZW50IGF0IGNvbnRleHQg Y3JlYXRpb24uIiwKIAkJLmJhbGFuY2UgPSBjb250ZXh0X2JhbGFuY2UsCiAJfSwKKwl7CisJCS5p ZCA9IDksCisJCS5uYW1lID0gImJ1c3kiLAorCQkuZGVzYyA9ICJFbmdpbmUgYnVzeW5lc3MgYmFz ZWQgYmFsYW5jaW5nLiIsCisJCS5pbml0ID0gYnVzeV9pbml0LAorCQkuZ2V0X3FkID0gZ2V0X2Vu Z2luZV9idXN5LAorCQkuYmFsYW5jZSA9IGJ1c3lfYmFsYW5jZSwKKwl9LAorCXsKKwkJLmlkID0g MTAsCisJCS5uYW1lID0gImJ1c3ktYXZnIiwKKwkJLmRlc2MgPSAiQXZlcmFnZSBlbmdpbmUgYnVz eW5lc3MgYmFzZWQgYmFsYW5jaW5nLiIsCisJCS5pbml0ID0gYnVzeV9pbml0LAorCQkuZ2V0X3Fk ID0gZ2V0X2VuZ2luZV9idXN5LAorCQkuYmFsYW5jZSA9IGJ1c3lfYXZnX2JhbGFuY2UsCisJfSwK IH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQKQEAgLTIyMjYsNiArMjM1NywxNyBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQkJICAgICh2ZXJib3NlID4gMCAmJiBtYXN0ZXJf d29ya2xvYWQgPT0gaSk7CiAKIAkJcHJlcGFyZV93b3JrbG9hZChpLCB3W2ldLCBmbGFnc18pOwor CisJCWlmIChiYWxhbmNlciAmJiBiYWxhbmNlci0+aW5pdCkgeworCQkJaW50IHJldCA9IGJhbGFu Y2VyLT5pbml0KGJhbGFuY2VyLCB3W2ldKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlpZiAodmVyYm9z ZSkKKwkJCQkJZnByaW50ZihzdGRlcnIsCisJCQkJCQkiRmFpbGVkIHRvIGluaXRpYWxpemUgYmFs YW5jaW5nISAoJXU9JWQpXG4iLAorCQkJCQkJaSwgcmV0KTsKKwkJCQlyZXR1cm4gMTsKKwkJCX0K KwkJfQogCX0KIAogCWdlbV9xdWllc2NlbnRfZ3B1KGZkKTsKZGlmZiAtLWdpdCBhL2JlbmNobWFy a3MvbWVzb24uYnVpbGQgYi9iZW5jaG1hcmtzL21lc29uLmJ1aWxkCmluZGV4IDlhYjczOGY3NjU4 OC4uZmE3ZjA3NjQzYTk3IDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL21lc29uLmJ1aWxkCisrKyBi L2JlbmNobWFya3MvbWVzb24uYnVpbGQKQEAgLTMxLDYgKzMxLDExIEBAIGVuZGlmCiBmb3JlYWNo IHByb2cgOiBiZW5jaG1hcmtfcHJvZ3MKIAkjIEZJWE1FIG1lc29uIGRvZXNuJ3QgbGlrZSBiaW5h cmllcyB3aXRoIHRoZSBzYW1lIG5hbWUKIAkjIG1lYW53aGlsZSBqdXN0IHN1ZmZpeCB3aXRoIF9i ZW5jaAorCWxpbmsgPSBbXQorCWlmIHByb2cgPT0gJ2dlbV93c2ltJworCQlsaW5rICs9IGxpYl9p Z3RfcGVyZgorCWVuZGlmCiAJZXhlY3V0YWJsZShwcm9nICsgJ19iZW5jaCcsIHByb2cgKyAnLmMn LAotCQkJZGVwZW5kZW5jaWVzIDogdGVzdF9kZXBzKQorCQkgICBsaW5rX3dpdGggOiBsaW5rLAor CQkgICBkZXBlbmRlbmNpZXMgOiB0ZXN0X2RlcHMpCiBlbmRmb3JlYWNoCi0tIAoyLjE0LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=