From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH i-g-t 19/19] i915/gem_exec_balancer: Exercise bonded pairs Date: Fri, 8 Mar 2019 18:11:29 +0000 Message-ID: <20190308181129.15562-19-chris@chris-wilson.co.uk> References: <20190308181129.15562-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7EDA06E412 for ; Fri, 8 Mar 2019 18:18:23 +0000 (UTC) In-Reply-To: <20190308181129.15562-1-chris@chris-wilson.co.uk> 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 VGhlIHN1Ym1pdC1mZW5jZSArIGxvYWRfYmFsYW5jaW5nIGFwaXMgYWxsb3cgZm9yIHVzIHRvIGV4 ZWN1dGUgYSBuYW1lZApwYWlyIG9mIGVuZ2luZXMgaW4gcGFyYWxsZWw7IHRoYXQgdGhpcyBieSBz dWJtaXR0aW5nIGEgcmVxdWVzdCB0byBvbmUKZW5naW5lLCB3ZSBjYW4gdGhlbiB1c2UgdGhlIGdl bmVyYXRlZCBzdWJtaXQtZmVuY2UgdG8gc3VibWl0IGEgc2Vjb25kCnJlcXVlc3QgdG8gYW5vdGhl ciBlbmdpbmUgYW5kIGhhdmUgaXQgZXhlY3V0ZSBhdCB0aGUgc2FtZSB0aW1lLgpGdXJ0aGVybW9y ZSwgYnkgc3BlY2lmeWluZyBib25kZWQgcGFpcnMsIHdlIGNhbiBkaXJlY3QgdGhlIHZpcnR1YWwK ZW5naW5lIHRvIHVzZSBhIHBhcnRpY3VsYXIgZW5naW5lIGluIHBhcmFsbGVsIHRvIHRoZSBmaXJz dCByZXF1ZXN0LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Ci0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19iYWxhbmNlci5jIHwgMTc0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDE2NSBpbnNlcnRp b25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNf YmFsYW5jZXIuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFsYW5jZXIuYwppbmRleCBkOWZkZmZl NjcuLmU3MjcwOTBlNCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19iYWxhbmNlci5j CisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFsYW5jZXIuYwpAQCAtMTAyLDEyICsxMDIsNDQg QEAgbGlzdF9lbmdpbmVzKGludCBpOTE1LCB1aW50MzJfdCBjbGFzc19tYXNrLCB1bnNpZ25lZCBp bnQgKm91dCkKIAlyZXR1cm4gZW5naW5lczsKIH0KIAorc3RhdGljIGludCBfX3NldF9lbmdpbmVz KGludCBpOTE1LCB1aW50MzJfdCBjdHgsCisJCQkgY29uc3Qgc3RydWN0IGNsYXNzX2luc3RhbmNl ICpjaSwKKwkJCSB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJc3RydWN0IGVuZ2luZXMgeworCQl1 aW50NjRfdCBleHRlbnNpb247CisJCXVpbnQ2NF90IGNsYXNzX2luc3RhbmNlW2NvdW50XTsKKwl9 IGVuZ2luZXM7CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHAgPSB7CisJCS5j dHhfaWQgPSBjdHgsCisJCS5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9FTkdJTkVTLAorCQku c2l6ZSA9IHNpemVvZihlbmdpbmVzKSwKKwkJLnZhbHVlID0gdG9fdXNlcl9wb2ludGVyKCZlbmdp bmVzKQorCX07CisKKwllbmdpbmVzLmV4dGVuc2lvbiA9IDA7CisJbWVtY3B5KGVuZ2luZXMuY2xh c3NfaW5zdGFuY2UsIGNpLCBzaXplb2YoZW5naW5lcy5jbGFzc19pbnN0YW5jZSkpOworCisJcmV0 dXJuIF9fZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGk5MTUsICZwKTsKK30KKworc3RhdGljIHZvaWQg c2V0X2VuZ2luZXMoaW50IGk5MTUsIHVpbnQzMl90IGN0eCwKKwkJCWNvbnN0IHN0cnVjdCBjbGFz c19pbnN0YW5jZSAqY2ksCisJCQl1bnNpZ25lZCBpbnQgY291bnQpCit7CisJaWd0X2Fzc2VydF9l cShfX3NldF9lbmdpbmVzKGk5MTUsIGN0eCwgY2ksIGNvdW50KSwgMCk7Cit9CisKIHN0YXRpYyBp bnQgX19zZXRfbG9hZF9iYWxhbmNlcihpbnQgaTkxNSwgdWludDMyX3QgY3R4LAogCQkJICAgICAg IGNvbnN0IHN0cnVjdCBjbGFzc19pbnN0YW5jZSAqY2ksCi0JCQkgICAgICAgdW5zaWduZWQgaW50 IGNvdW50KQorCQkJICAgICAgIHVuc2lnbmVkIGludCBjb3VudCwKKwkJCSAgICAgICB2b2lkICpl eHQpCiB7CiAJc3RydWN0IGk5MTVfY29udGV4dF9lbmdpbmVzX2xvYWRfYmFsYW5jZSBiYWxhbmNl ciA9IHsKLQkJeyAubmFtZSA9IEk5MTVfQ09OVEVYVF9FTkdJTkVTX0VYVF9MT0FEX0JBTEFOQ0Ug fSwKKwkJeyAKKwkJCS5uZXh0X2V4dGVuc2lvbiA9IHRvX3VzZXJfcG9pbnRlcihleHQpLAorCQkJ Lm5hbWUgPSBJOTE1X0NPTlRFWFRfRU5HSU5FU19FWFRfTE9BRF9CQUxBTkNFCisJICAgICAgIAl9 LAogCQkuZW5naW5lc19tYXNrID0gfjB1bGwsCiAJfTsKIAlJOTE1X0RFRklORV9DT05URVhUX1BB UkFNX0VOR0lORVMoZW5naW5lcywgY291bnQgKyAxKTsKQEAgLTEyOCw5ICsxNjAsMTAgQEAgc3Rh dGljIGludCBfX3NldF9sb2FkX2JhbGFuY2VyKGludCBpOTE1LCB1aW50MzJfdCBjdHgsCiAKIHN0 YXRpYyB2b2lkIHNldF9sb2FkX2JhbGFuY2VyKGludCBpOTE1LCB1aW50MzJfdCBjdHgsCiAJCQkg ICAgICBjb25zdCBzdHJ1Y3QgY2xhc3NfaW5zdGFuY2UgKmNpLAotCQkJICAgICAgdW5zaWduZWQg aW50IGNvdW50KQorCQkJICAgICAgdW5zaWduZWQgaW50IGNvdW50LAorCQkJICAgICAgdm9pZCAq ZXh0KQogewotCWlndF9hc3NlcnRfZXEoX19zZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBjdHgsIGNp LCBjb3VudCksIDApOworCWlndF9hc3NlcnRfZXEoX19zZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBj dHgsIGNpLCBjb3VudCwgZXh0KSwgMCk7CiB9CiAKIHN0YXRpYyB1aW50MzJfdCBsb2FkX2JhbGFu Y2VyX2NyZWF0ZShpbnQgaTkxNSwKQEAgLTE0MCw3ICsxNzMsNyBAQCBzdGF0aWMgdWludDMyX3Qg bG9hZF9iYWxhbmNlcl9jcmVhdGUoaW50IGk5MTUsCiAJdWludDMyX3QgY3R4OwogCiAJY3R4ID0g Z2VtX2NvbnRleHRfY3JlYXRlKGk5MTUpOwotCXNldF9sb2FkX2JhbGFuY2VyKGk5MTUsIGN0eCwg Y2ksIGNvdW50KTsKKwlzZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBjdHgsIGNpLCBjb3VudCwgTlVM TCk7CiAKIAlyZXR1cm4gY3R4OwogfQpAQCAtMjU0LDcgKzI4Nyw3IEBAIHN0YXRpYyB2b2lkIGlu ZGl2aWR1YWwoaW50IGk5MTUpCiAKIAkJZm9yIChpbnQgcGFzcyA9IDA7IHBhc3MgPCBjb3VudDsg cGFzcysrKSB7IC8qIGFwcHJveC4gY291bnQhICovCiAJCQlpZ3RfcGVybXV0ZV9hcnJheShjaSwg Y291bnQsIGlndF9leGNoYW5nZV9pbnQ2NCk7Ci0JCQlzZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBj dHgsIGNpLCBjb3VudCk7CisJCQlzZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBjdHgsIGNpLCBjb3Vu dCwgTlVMTCk7CiAJCQlmb3IgKHVuc2lnbmVkIGludCBuID0gMDsgbiA8IGNvdW50OyBuKyspCiAJ CQkJY2hlY2tfaW5kaXZpZHVhbF9lbmdpbmUoaTkxNSwgY3R4LCBjaSwgbik7CiAJCX0KQEAgLTI2 NSw2ICsyOTgsMTIzIEBAIHN0YXRpYyB2b2lkIGluZGl2aWR1YWwoaW50IGk5MTUpCiAJZ2VtX2Nv bnRleHRfZGVzdHJveShpOTE1LCBjdHgpOwogfQogCitzdGF0aWMgdm9pZCBib25kZWQoaW50IGk5 MTUsIHVuc2lnbmVkIGludCBmbGFncykKKyNkZWZpbmUgQ09SSyAweDEKK3sKKwlzdHJ1Y3QgY2xh c3NfaW5zdGFuY2UgKm1hc3Rlcl9lbmdpbmVzOworCXVpbnQzMl90IG1hc3RlcjsKKwlzdHJ1Y3Qg Ym9uZCB7CisJCXVpbnQ2NF90IG5leHRfZXh0ZW5zaW9uOworCQl1aW50NjRfdCBuYW1lOworCisJ CXVpbnQxNl90IGNsYXNzOworCQl1aW50MTZfdCBpbnN0OworCQl1aW50MzJfdCBmbGFnczsKKwkJ dWludDY0X3QgbWFzazsKKwl9IGJvbmRzWzE2XTsKKworCS8qCisJICogSTkxNV9DT05URVhUX1BB UkFNX0VOR0lORSBwcm92aWRlcyBhbiBleHRlbnNpb24gdGhhdCBhbGxvd3MgdXMKKwkgKiB0byBz cGVjaWZ5IHdoaWNoIGVuZ2luZShzKSB0byBwYWlyIHdpdGggYSBwYXJhbGxlbCAoRVhFQ19TVUJN SVQpCisJICogcmVxdWVzdCBzdWJtaXR0ZWQgdG8gYW5vdGhlciBlbmdpbmUuCisJICovCisKKwlt YXN0ZXIgPSBnZW1fcXVldWVfY3JlYXRlKGk5MTUpOworCisJbWVtc2V0KGJvbmRzLCAwLCBzaXpl b2YoYm9uZHMpKTsKKwlmb3IgKGludCBuID0gMDsgbiA8IEFSUkFZX1NJWkUoYm9uZHMpOyBuKysp IHsKKwkJYm9uZHNbbl0ubmFtZSA9IEk5MTVfQ09OVEVYVF9FTkdJTkVTX0VYVF9CT05EOworCQli b25kc1tuXS5uZXh0X2V4dGVuc2lvbiA9CisJCQluID8gdG9fdXNlcl9wb2ludGVyKCZib25kc1tu IC0gMV0pIDogMDsKKwkJYm9uZHNbbl0ubWFzayA9IDEgPDwgbjsKKwl9CisKKwlmb3IgKGludCBt YXNrID0gMDsgbWFzayA8IDMyOyBtYXNrKyspIHsKKwkJdW5zaWduZWQgaW50IGNvdW50LCBsaW1p dDsKKwkJc3RydWN0IGNsYXNzX2luc3RhbmNlICpzaWJsaW5nczsKKwkJdWludDMyX3QgY3R4Owor CQlpbnQgbjsKKworCQlzaWJsaW5ncyA9IGxpc3RfZW5naW5lcyhpOTE1LCAxdSA8PCBtYXNrLCAm Y291bnQpOworCQlpZiAoIXNpYmxpbmdzKQorCQkJY29udGludWU7CisKKwkJaWYgKGNvdW50IDwg MikgeworCQkJZnJlZShzaWJsaW5ncyk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlndF9kZWJ1 ZygiRm91bmQgJWQgZW5naW5lcyBvZiBjbGFzcyAlZFxuIiwgY291bnQsIG1hc2spOworCisJCW1h c3Rlcl9lbmdpbmVzID0gbGlzdF9lbmdpbmVzKGk5MTUsIH4oMXUgPDwgbWFzayksICZsaW1pdCk7 CisJCXNldF9lbmdpbmVzKGk5MTUsIG1hc3RlciwgbWFzdGVyX2VuZ2luZXMsIGxpbWl0KTsKKwor CQlsaW1pdCA9IG1pbihjb3VudCwgbGltaXQpOworCQlmb3IgKG4gPSAwOyBuIDwgbGltaXQ7IG4r KykgeworCQkJYm9uZHNbbl0uY2xhc3MgPSBtYXN0ZXJfZW5naW5lc1tuXS5jbGFzczsKKwkJCWJv bmRzW25dLmluc3QgPSBtYXN0ZXJfZW5naW5lc1tuXS5pbnN0YW5jZTsKKwkJfQorCisJCWN0eCA9 IGdlbV9jb250ZXh0X2Nsb25lKGk5MTUsCisJCQkJICAgICAgIAltYXN0ZXIsIEk5MTVfQ09OVEVY VF9DTE9ORV9WTSwKKwkJCQkJSTkxNV9DT05URVhUX0NSRUFURV9GTEFHU19TSU5HTEVfVElNRUxJ TkUpOworCQlzZXRfbG9hZF9iYWxhbmNlcihpOTE1LCBjdHgsIHNpYmxpbmdzLCBjb3VudCwgJmJv bmRzW2xpbWl0IC0gMV0pOworCisJCWZvciAobiA9IDA7IG4gPCBsaW1pdDsgbisrKSB7CisJCQlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGViOworCQkJSUdUX0NPUktfSEFORExFKGNv cmspOworCQkJaWd0X3NwaW5fdCAqc3BpbiwgKnBsdWc7CisJCQlkb3VibGUgbG9hZDsKKwkJCWlu dCBwbXU7CisKKwkJCWlndF9hc3NlcnQoc2libGluZ3Nbbl0uY2xhc3MgIT0gbWFzdGVyX2VuZ2lu ZXNbbl0uY2xhc3MpOworCisJCQlwbXUgPSBwZXJmX2k5MTVfb3BlbihJOTE1X1BNVV9FTkdJTkVf QlVTWShzaWJsaW5nc1tuXS5jbGFzcywKKwkJCQkJCQkJICBzaWJsaW5nc1tuXS5pbnN0YW5jZSkp OworCisJCQlwbHVnID0gTlVMTDsKKwkJCWlmIChmbGFncyAmIENPUkspIHsKKwkJCQlwbHVnID0g X19pZ3Rfc3Bpbl9iYXRjaF9uZXcoaTkxNSwKKwkJCQkJCQkgICAgLmN0eCA9IG1hc3RlciwKKwkJ CQkJCQkgICAgLmVuZ2luZSA9IG4gKyAxLAorCQkJCQkJCSAgICAuZGVwZW5kZW5jeSA9IGlndF9j b3JrX3BsdWcoJmNvcmssIGk5MTUpKTsKKwkJCX0KKworCQkJc3BpbiA9IF9faWd0X3NwaW5fYmF0 Y2hfbmV3KGk5MTUsCisJCQkJCQkgICAgLmN0eCA9IG1hc3RlciwKKwkJCQkJCSAgICAuZW5naW5l ID0gbiArIDEsCisJCQkJCQkgICAgLmZsYWdzID0gSUdUX1NQSU5fRkVOQ0VfT1VUKTsKKworCQkJ ZWIgPSBzcGluLT5leGVjYnVmOworCQkJZWIucnN2ZDEgPSBjdHg7CisJCQllYi5yc3ZkMiA9IHNw aW4tPm91dF9mZW5jZTsKKwkJCWViLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX1NVQk1JVDsKKwkJ CWdlbV9leGVjYnVmKGk5MTUsICZlYik7CisKKwkJCWlmIChwbHVnKSB7CisJCQkJaWd0X2Nvcmtf dW5wbHVnKCZjb3JrKTsKKwkJCQlpZ3Rfc3Bpbl9iYXRjaF9mcmVlKGk5MTUsIHBsdWcpOworCQkJ fQorCisJCQlsb2FkID0gbWVhc3VyZV9sb2FkKHBtdSwgMTAwMDApOworCQkJaWd0X3NwaW5fYmF0 Y2hfZnJlZShpOTE1LCBzcGluKTsKKworCQkJY2xvc2UocG11KTsKKworCQkJaWd0X2Fzc2VydF9m KGxvYWQgPiAwLjkwLAorCQkJCSAgICAgImVuZ2luZSAlZCAoY2xhc3M6aW5zdGFuY2UgJWQ6JWQp IHdhcyBmb3VuZCB0byBiZSBvbmx5ICUuMWYlJSBidXN5XG4iLAorCQkJCSAgICAgbiwgc2libGlu Z3Nbbl0uY2xhc3MsIHNpYmxpbmdzW25dLmluc3RhbmNlLAorCQkJCSAgICAgbG9hZCoxMDApOwor CQl9CisKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShpOTE1LCBjdHgpOworCQlmcmVlKG1hc3Rlcl9l bmdpbmVzKTsKKwkJZnJlZShzaWJsaW5ncyk7CisJfQorCisJZ2VtX2NvbnRleHRfZGVzdHJveShp OTE1LCBtYXN0ZXIpOworfQorCiBzdGF0aWMgaW50IGFkZF9wbXUoaW50IHBtdSwgY29uc3Qgc3Ry dWN0IGNsYXNzX2luc3RhbmNlICpjaSkKIHsKIAlyZXR1cm4gcGVyZl9pOTE1X29wZW5fZ3JvdXAo STkxNV9QTVVfRU5HSU5FX0JVU1koY2ktPmNsYXNzLApAQCAtNDQ3LDcgKzU5Nyw3IEBAIHN0YXRp YyB2b2lkIHNlbWFwaG9yZShpbnQgaTkxNSkKIAkJY291bnQgPSBBUlJBWV9TSVpFKGJsb2NrKTsK IAogCQlmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKLQkJCXNldF9sb2FkX2JhbGFu Y2VyKGk5MTUsIGJsb2NrW2ldLCBjaSwgY291bnQpOworCQkJc2V0X2xvYWRfYmFsYW5jZXIoaTkx NSwgYmxvY2tbaV0sIGNpLCBjb3VudCwgTlVMTCk7CiAJCQlzcGluW2ldID0gX19pZ3Rfc3Bpbl9i YXRjaF9uZXcoaTkxNSwKIAkJCQkJCSAgICAgICAuY3R4ID0gYmxvY2tbaV0sCiAJCQkJCQkgICAg ICAgLmRlcGVuZGVuY3kgPSBzY3JhdGNoKTsKQEAgLTQ1OCw3ICs2MDgsNyBAQCBzdGF0aWMgdm9p ZCBzZW1hcGhvcmUoaW50IGk5MTUpCiAJCSAqIG9yIHdlIGxldCB0aGUgdmlwIHRocm91Z2guIElm IG5vdCwgd2UgaGFuZy4KIAkJICovCiAJCXZpcCA9IGdlbV9jb250ZXh0X2NyZWF0ZShpOTE1KTsK LQkJc2V0X2xvYWRfYmFsYW5jZXIoaTkxNSwgdmlwLCBjaSwgY291bnQpOworCQlzZXRfbG9hZF9i YWxhbmNlcihpOTE1LCB2aXAsIGNpLCBjb3VudCwgTlVMTCk7CiAJCXBpbmcoaTkxNSwgdmlwLCAw KTsKIAkJZ2VtX2NvbnRleHRfZGVzdHJveShpOTE1LCB2aXApOwogCkBAIC01NzMsNyArNzIzLDcg QEAgc3RhdGljIGJvb2wgaGFzX2xvYWRfYmFsYW5jZXIoaW50IGk5MTUpCiAJaW50IGVycjsKIAog CWN0eCA9IGdlbV9jb250ZXh0X2NyZWF0ZShpOTE1KTsKLQllcnIgPSBfX3NldF9sb2FkX2JhbGFu Y2VyKGk5MTUsIGN0eCwgJmNpLCAxKTsKKwllcnIgPSBfX3NldF9sb2FkX2JhbGFuY2VyKGk5MTUs IGN0eCwgJmNpLCAxLCBOVUxMKTsKIAlnZW1fY29udGV4dF9kZXN0cm95KGk5MTUsIGN0eCk7CiAK IAlyZXR1cm4gZXJyID09IDA7CkBAIC02MjEsNiArNzcxLDEyIEBAIGlndF9tYWluCiAJaWd0X3N1 YnRlc3QoInNtb2tlIikKIAkJc21va2V0ZXN0KGk5MTUsIDIwKTsKIAorCWlndF9zdWJ0ZXN0KCJi b25kZWQtaW1tIikKKwkJYm9uZGVkKGk5MTUsIDApOworCisJaWd0X3N1YnRlc3QoImJvbmRlZC1j b3JrIikKKwkJYm9uZGVkKGk5MTUsIENPUkspOworCiAJaWd0X2ZpeHR1cmUgewogCQlpZ3Rfc3Rv cF9oYW5nX2RldGVjdG9yKCk7CiAJfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=