From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 12/17] drm/i915: Track per-context engine busyness Date: Wed, 25 Oct 2017 16:36:27 +0100 Message-ID: <20171025153632.557-13-tvrtko.ursulin@linux.intel.com> References: <20171025153632.557-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-x243.google.com (mail-wr0-x243.google.com [IPv6:2a00:1450:400c:c0c::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 177086E6F0 for ; Wed, 25 Oct 2017 15:36:52 +0000 (UTC) Received: by mail-wr0-x243.google.com with SMTP id g90so413598wrd.6 for ; Wed, 25 Oct 2017 08:36:52 -0700 (PDT) In-Reply-To: <20171025153632.557-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 Cc: gordon.kelly@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNvbWUgY3Vz dG9tZXJzIHdhbnQgdG8ga25vdyBob3cgbXVjaCBvZiB0aGUgR1BVIHRpbWUgYXJlIHRoZWlyIGNs aWVudHMKdXNpbmcgaW4gb3JkZXIgdG8gbWFrZSBkeW5hbWljIGxvYWQgYmFsYW5jaW5nIGRlY2lz aW9ucy4KCldpdGggdGhlIGhvb2tzIGFscmVhZHkgaW4gcGxhY2Ugd2hpY2ggdHJhY2sgdGhlIG92 ZXJhbGwgZW5naW5lIGJ1c3luZXNzLAp3ZSBjYW4gZXh0ZW5kIHRoYXQgc2xpZ2h0bHkgdG8gc3Bs aXQgdGhhdCB0aW1lIGJldHdlZW4gY29udGV4dHMuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogZ29yZG9uLmtlbGx5QGludGVsLmNv bQotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaCB8ICA0ICsrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8IDE0ICsrKysrKystLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgMzkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMo KyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu aAppbmRleCA0NDY4OGUyMmE1YzIuLjE1MTM0MzI5ZGJmMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuaApAQCAtMTU4LDYgKzE1OCwxMCBAQCBzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCB7CiAJCXU2NCBscmNfZGVzYzsKIAkJaW50IHBpbl9jb3VudDsKIAkJYm9vbCBpbml0 aWFsaXNlZDsKKwkJc3RydWN0IHsKKwkJCWt0aW1lX3Qgc3RhcnQ7CisJCQlrdGltZV90IHRvdGFs OworCQl9IHN0YXRzOwogCX0gZW5naW5lW0k5MTVfTlVNX0VOR0lORVNdOwogCiAJLyoqIHJpbmdf c2l6ZTogc2l6ZSBmb3IgYWxsb2NhdGluZyB0aGUgcGVyLWVuZ2luZSByaW5nIGJ1ZmZlciAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBmY2RkMWM1MmY1YWUuLjJmNDk2ODk0YWE0MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTQwMSwxNiArNDAxLDE5IEBAIGV4ZWNsaXN0 c19jb250ZXh0X3N0YXR1c19jaGFuZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSwK IH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1leGVjbGlzdHNfY29udGV4dF9zY2hlZHVsZV9pbihz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQorZXhlY2xpc3RzX2NvbnRleHRfc2NoZWR1 bGVfaW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSwKKwkJCSAgICAgIHVuc2lnbmVk IGludCBwb3J0KQogewogCWV4ZWNsaXN0c19jb250ZXh0X3N0YXR1c19jaGFuZ2UocnEsIElOVEVM X0NPTlRFWFRfU0NIRURVTEVfSU4pOwotCWludGVsX2VuZ2luZV9jb250ZXh0X2luKHJxLT5lbmdp bmUpOworCWludGVsX2VuZ2luZV9jb250ZXh0X2luKHJxLT5lbmdpbmUsCisJCQkJJnJxLT5jdHgt PmVuZ2luZVtycS0+ZW5naW5lLT5pZF0sCisJCQkJcG9ydCA9PSAwKTsKIH0KIAogc3RhdGljIGlu bGluZSB2b2lkCiBleGVjbGlzdHNfY29udGV4dF9zY2hlZHVsZV9vdXQoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpycSkKIHsKLQlpbnRlbF9lbmdpbmVfY29udGV4dF9vdXQocnEtPmVuZ2lu ZSk7CisJaW50ZWxfZW5naW5lX2NvbnRleHRfb3V0KHJxLT5lbmdpbmUsICZycS0+Y3R4LT5lbmdp bmVbcnEtPmVuZ2luZS0+aWRdKTsKIAlleGVjbGlzdHNfY29udGV4dF9zdGF0dXNfY2hhbmdlKHJx LCBJTlRFTF9DT05URVhUX1NDSEVEVUxFX09VVCk7CiB9CiAKQEAgLTQ2NSw3ICs0NjgsNyBAQCBz dGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3BvcnRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIAkJaWYgKHJxKSB7CiAJCQlHRU1fQlVHX09OKGNvdW50ID4gIW4pOwogCQkJaWYg KCFjb3VudCsrKQotCQkJCWV4ZWNsaXN0c19jb250ZXh0X3NjaGVkdWxlX2luKHJxKTsKKwkJCQll eGVjbGlzdHNfY29udGV4dF9zY2hlZHVsZV9pbihycSwgbik7CiAJCQlwb3J0X3NldCgmcG9ydFtu XSwgcG9ydF9wYWNrKHJxLCBjb3VudCkpOwogCQkJZGVzYyA9IGV4ZWNsaXN0c191cGRhdGVfY29u dGV4dChycSk7CiAJCQlHRU1fREVCVUdfRVhFQyhwb3J0W25dLmNvbnRleHRfaWQgPSB1cHBlcl8z Ml9iaXRzKGRlc2MpKTsKQEAgLTcxNCw3ICs3MTcsOCBAQCBleGVjbGlzdF9jYW5jZWxfcG9ydF9y ZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3RzKQogCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxID0gcG9ydF9yZXF1ZXN0KHBvcnQpOwogCiAJCUdF TV9CVUdfT04oIWV4ZWNsaXN0cy0+YWN0aXZlKTsKLQkJaW50ZWxfZW5naW5lX2NvbnRleHRfb3V0 KHJxLT5lbmdpbmUpOworCQlpbnRlbF9lbmdpbmVfY29udGV4dF9vdXQocnEtPmVuZ2luZSwKKwkJ CQkJICZycS0+Y3R4LT5lbmdpbmVbcnEtPmVuZ2luZS0+aWRdKTsKIAkJZXhlY2xpc3RzX2NvbnRl eHRfc3RhdHVzX2NoYW5nZShycSwgSU5URUxfQ09OVEVYVF9TQ0hFRFVMRV9QUkVFTVBURUQpOwog CQlpOTE1X2dlbV9yZXF1ZXN0X3B1dChycSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaAppbmRleCAzYjFkYmNiYjlkMWYuLjI1ZGQyMzhkNWQwMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUg PGxpbnV4L2hhc2h0YWJsZS5oPgogI2luY2x1ZGUgImk5MTVfZ2VtX2JhdGNoX3Bvb2wuaCIKKyNp bmNsdWRlICJpOTE1X2dlbV9jb250ZXh0LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fcmVxdWVzdC5o IgogI2luY2x1ZGUgImk5MTVfZ2VtX3RpbWVsaW5lLmgiCiAjaW5jbHVkZSAiaTkxNV9wbXUuaCIK QEAgLTk1MywyNSArOTU0LDM3IEBAIHZvaWQgaW50ZWxfZW5naW5lX2R1bXAoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwogc3RydWN0IGludGVs X2VuZ2luZV9jcyAqCiBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsIHU4IGNsYXNzLCB1OCBpbnN0YW5jZSk7CiAKLXN0YXRpYyBpbmxpbmUgdm9p ZCBpbnRlbF9lbmdpbmVfY29udGV4dF9pbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CitzdGF0aWMgaW5saW5lIHZvaWQKK2ludGVsX2VuZ2luZV9jb250ZXh0X2luKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKKwkJCWJv b2wgc3VibWl0KQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJa3RpbWVfdCBub3c7CiAKIAlp ZiAoUkVBRF9PTkNFKGVuZ2luZS0+c3RhdHMuZW5hYmxlZCkgPT0gMCkKIAkJcmV0dXJuOwogCiAJ c3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOwogCisJbm93ID0g c3VibWl0ID8ga3RpbWVfZ2V0KCkgOiAwOworCWNlLT5zdGF0cy5zdGFydCA9IG5vdzsKKwogCWlm IChlbmdpbmUtPnN0YXRzLmVuYWJsZWQgPiAwKSB7Ci0JCWlmIChlbmdpbmUtPnN0YXRzLmFjdGl2 ZSsrID09IDApCi0JCQllbmdpbmUtPnN0YXRzLnN0YXJ0ID0ga3RpbWVfZ2V0KCk7CisJCWlmIChl bmdpbmUtPnN0YXRzLmFjdGl2ZSsrID09IDApIHsKKwkJCWlmICghbm93KQorCQkJCW5vdyA9IGt0 aW1lX2dldCgpOworCQkJZW5naW5lLT5zdGF0cy5zdGFydCA9IG5vdzsKKwkJfQogCQlHRU1fQlVH X09OKGVuZ2luZS0+c3RhdHMuYWN0aXZlID09IDApOwogCX0KIAogCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgaW50ZWxfZW5naW5lX2NvbnRleHRfb3V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKK3N0YXRpYyBpbmxpbmUgdm9pZAoraW50ZWxfZW5naW5lX2NvbnRleHRfb3V0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiB7 CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtOTgxLDE0ICs5OTQsMjggQEAgc3RhdGljIGlu bGluZSB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0X291dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3Mp OwogCiAJaWYgKGVuZ2luZS0+c3RhdHMuZW5hYmxlZCA+IDApIHsKKwkJc3RydWN0IGV4ZWNsaXN0 X3BvcnQgKm5leHRfcG9ydCA9ICZlbmdpbmUtPmV4ZWNsaXN0cy5wb3J0WzFdOworCQlrdGltZV90 IG5vdyA9IGt0aW1lX2dldCgpOwogCQlrdGltZV90IGxhc3Q7CiAKKwkJR0VNX0JVR19PTighY2Ut PnN0YXRzLnN0YXJ0KTsKKwkJY2UtPnN0YXRzLnRvdGFsID0ga3RpbWVfYWRkKGNlLT5zdGF0cy50 b3RhbCwKKwkJCQkJICAgIGt0aW1lX3N1Yihub3csIGNlLT5zdGF0cy5zdGFydCkpOworCQlpZiAo cG9ydF9pc3NldChuZXh0X3BvcnQpKSB7CisJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg Km5leHRfcmVxID0KKwkJCQkJCXBvcnRfcmVxdWVzdChuZXh0X3BvcnQpOworCQkJc3RydWN0IGlu dGVsX2NvbnRleHQgKm5leHRfY2UgPQorCQkJCQkmbmV4dF9yZXEtPmN0eC0+ZW5naW5lW2VuZ2lu ZS0+aWRdOworCisJCQluZXh0X2NlLT5zdGF0cy5zdGFydCA9IG5vdzsKKwkJfQorCiAJCWlmIChl bmdpbmUtPnN0YXRzLmFjdGl2ZSAmJiAtLWVuZ2luZS0+c3RhdHMuYWN0aXZlID09IDApIHsKIAkJ CS8qCiAJCQkgKiBEZWNyZW1lbnQgdGhlIGFjdGl2ZSBjb250ZXh0IGNvdW50IGFuZCBpbiBjYXNl IEdQVQogCQkJICogaXMgbm93IGlkbGUgYWRkIHVwIHRvIHRoZSBydW5uaW5nIHRvdGFsLgogCQkJ ICovCi0JCQlsYXN0ID0ga3RpbWVfc3ViKGt0aW1lX2dldCgpLCBlbmdpbmUtPnN0YXRzLnN0YXJ0 KTsKKwkJCWxhc3QgPSBrdGltZV9zdWIobm93LCBlbmdpbmUtPnN0YXRzLnN0YXJ0KTsKIAogCQkJ ZW5naW5lLT5zdGF0cy50b3RhbCA9IGt0aW1lX2FkZChlbmdpbmUtPnN0YXRzLnRvdGFsLAogCQkJ CQkJCWxhc3QpOwpAQCAtOTk4LDcgKzEwMjUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxf ZW5naW5lX2NvbnRleHRfb3V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJCSAq IHRoZSBmaXJzdCBldmVudCBpbiB3aGljaCBjYXNlIHdlIGFjY291bnQgZnJvbSB0aGUKIAkJCSAq IHRpbWUgc3RhdHMgZ2F0aGVyaW5nIHdhcyB0dXJuZWQgb24uCiAJCQkgKi8KLQkJCWxhc3QgPSBr dGltZV9zdWIoa3RpbWVfZ2V0KCksIGVuZ2luZS0+c3RhdHMuZW5hYmxlZF9hdCk7CisJCQlsYXN0 ID0ga3RpbWVfc3ViKG5vdywgZW5naW5lLT5zdGF0cy5lbmFibGVkX2F0KTsKIAogCQkJZW5naW5l LT5zdGF0cy50b3RhbCA9IGt0aW1lX2FkZChlbmdpbmUtPnN0YXRzLnRvdGFsLAogCQkJCQkJCWxh c3QpOwotLSAKMi45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=