From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 5/6] drm/i915: Expose per-engine client busyness Date: Fri, 10 May 2019 14:22:39 +0100 Message-ID: <20190510132240.11029-6-tvrtko.ursulin@linux.intel.com> References: <20190510132240.11029-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id C18998938C for ; Fri, 10 May 2019 13:22:52 +0000 (UTC) In-Reply-To: <20190510132240.11029-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBw ZXItY2xpZW50IGFuZCBwZXItZW5naW5lIGJ1c3luZXNzIHVuZGVyIHRoZSBwcmV2aW91c2x5IGFk ZGVkIHN5c2ZzCmNsaWVudCByb290LgoKVGhlIG5ldyBmaWxlcyBhcmUgb25lIHBlci1lbmdpbmUg aW5zdGFuY2UgYW5kIGxvY2F0ZWQgdW5kZXIgdGhlICdidXN5JwpkaXJlY3RvcnkuIEVhY2ggY29u dGFpbnMgYSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgbmFuby1zZWNvbmQgcmVzb2x1dGlvbgp0 aW1lcyBlYWNoIGNsaWVudCdzIGpvYnMgd2VyZSBleGVjdXRpbmcgb24gdGhlIEdQVS4KClRoaXMg ZW5hYmxlcyB1c2Vyc3BhY2UgdG8gY3JlYXRlIGEgdG9wLWxpa2UgdG9vbCBmb3IgR1BVIHV0aWxp emF0aW9uOgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KaW50ZWwtZ3B1LXRvcCAtICA5MzUvIDkzNSBNSHo7 ICAgIDAlIFJDNjsgMTQuNzMgV2F0dHM7ICAgICAxMDk3IGlycXMvcwoKICAgICAgSU1DIHJlYWRz OiAgICAgMTQwMSBNaUIvcwogICAgIElNQyB3cml0ZXM6ICAgICAgICA0IE1pQi9zCgogICAgICAg ICAgRU5HSU5FICAgICAgQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1JX1NF TUEgTUlfV0FJVAogICAgIFJlbmRlci8zRC8wICAgNjMuNzMlIHzilojilojilojilojilojiloji lojilojilojilojilojilojilojilojilojilojilojilojiloggICAgICAgICAgIHwgICAgICAz JSAgICAgIDAlCiAgICAgICBCbGl0dGVyLzAgICAgOS41MyUgfOKWiOKWiOKWiiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICA2JSAgICAgIDAlCiAgICAgICAgIFZpZGVvLzAgICAzOS4z MiUgfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiiAgICAgICAgICAgICAgICAg IHwgICAgIDE2JSAgICAgIDAlCiAgICAgICAgIFZpZGVvLzEgICAxNS42MiUgfOKWiOKWiOKWiOKW iOKWiyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgMCUgICAgICAwJQogIFZpZGVvRW5o YW5jZS8wICAgIDAuMDAlIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgMCUg ICAgICAwJQoKICBQSUQgICAgICAgICAgICBOQU1FICAgICBSQ1MgICAgICAgICAgQkNTICAgICAg ICAgIFZDUyAgICAgICAgIFZFQ1MKIDQwODQgICAgICAgIGdlbV93c2ltIHzilojilojilojiloji lojilowgICAgIHx84paIICAgICAgICAgIHx8ICAgICAgICAgICB8fCAgICAgICAgICAgfAogNDA4 NiAgICAgICAgZ2VtX3dzaW0gfOKWiOKWjCAgICAgICAgIHx8ICAgICAgICAgICB8fOKWiOKWiOKW iCAgICAgICAgfHwgICAgICAgICAgIHwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnYyOiBVc2UgaW50ZWxf Y29udGV4dF9lbmdpbmVfZ2V0X2J1c3lfdGltZS4KdjM6IE5ldyBkaXJlY3Rvcnkgc3RydWN0dXJl Lgp2NDogUmViYXNlLgp2NTogc3lzZnNfYXR0cl9pbml0Lgp2NjogU21hbGwgdGlkeSBpbiBpOTE1 X2dlbV9hZGRfY2xpZW50Lgp2NzogUmViYXNlIHRvIGJlIGVuZ2luZSBjbGFzcyBiYXNlZC4KClNp Z25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCB8ICAgOCArKysKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgfCAxMDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0KIDIgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYjZmYTNkNDVlZDIyLi5lNjYzOTI0ZGZjNzggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjA0LDYgKzIwNCwxMiBAQCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZTsKIHN0cnVjdCBpOTE1X21tX3N0cnVjdDsKIHN0cnVjdCBpOTE1X21tdV9vYmpl Y3Q7CiAKK3N0cnVjdCBpOTE1X2VuZ2luZV9idXN5X2F0dHJpYnV0ZSB7CisJc3RydWN0IGRldmlj ZV9hdHRyaWJ1dGUgYXR0cjsKKwlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3By aXY7CisJdW5zaWduZWQgaW50IGVuZ2luZV9jbGFzczsKK307CisKIHN0cnVjdCBkcm1faTkxNV9m aWxlX3ByaXZhdGUgewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdjsKIAlzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGU7CkBAIC0yNTAsMTAgKzI1NiwxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVf ZmlsZV9wcml2YXRlIHsKIAkJY2hhciAqbmFtZTsKIAogCQlzdHJ1Y3Qga29iamVjdCAqcm9vdDsK KwkJc3RydWN0IGtvYmplY3QgKmJ1c3lfcm9vdDsKIAogCQlzdHJ1Y3QgewogCQkJc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgcGlkOwogCQkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgbmFtZTsKKwkJ CXN0cnVjdCBpOTE1X2VuZ2luZV9idXN5X2F0dHJpYnV0ZSBidXN5W01BWF9FTkdJTkVfQ0xBU1Nd OwogCQl9IGF0dHI7CiAJfSBjbGllbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXgg MDNjYWM2Y2UwYzMxLi5hZGViYTVjMWQzNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAt NDgzNCwxNSArNDgzNCw2NyBAQCBzaG93X2NsaWVudF9waWQoc3RydWN0IGRldmljZSAqa2Rldiwg c3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIAlyZXR1cm4gc25wcmlu dGYoYnVmLCBQQUdFX1NJWkUsICIldSIsIGZpbGVfcHJpdi0+Y2xpZW50LnBpZCk7CiB9CiAKK3N0 cnVjdCBidXN5X2N0eCB7CisJdW5zaWduZWQgaW50IGVuZ2luZV9jbGFzczsKKwl1NjQgdG90YWw7 Cit9OworCitzdGF0aWMgaW50IGJ1c3lfYWRkKGludCBpZCwgdm9pZCAqcCwgdm9pZCAqZGF0YSkK K3sKKwlzdHJ1Y3QgYnVzeV9jdHggKmJjID0gZGF0YTsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAqY3R4ID0gcDsKKwl1bnNpZ25lZCBpbnQgZW5naW5lX2NsYXNzID0gYmMtPmVuZ2luZV9jbGFz czsKKwlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lc19pdGVyIGl0OworCXN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjZTsKKwl1aW50NjRfdCB0b3RhbCA9IGJjLT50b3RhbDsKKworCWZvcl9lYWNoX2dlbV9l bmdpbmUoY2UsIGk5MTVfZ2VtX2NvbnRleHRfbG9ja19lbmdpbmVzKGN0eCksIGl0KSB7CisJCWlm IChjZS0+ZW5naW5lLT51YWJpX2NsYXNzID09IGVuZ2luZV9jbGFzcykKKwkJCXRvdGFsICs9IGt0 aW1lX3RvX25zKGludGVsX2NvbnRleHRfZ2V0X2J1c3lfdGltZShjZSkpOworCX0KKwlpOTE1X2dl bV9jb250ZXh0X3VubG9ja19lbmdpbmVzKGN0eCk7CisKKwliYy0+dG90YWwgPSB0b3RhbDsKKwor CXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdAorc2hvd19jbGllbnRfYnVzeShzdHJ1Y3Qg ZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQor eworCXN0cnVjdCBpOTE1X2VuZ2luZV9idXN5X2F0dHJpYnV0ZSAqaTkxNV9hdHRyID0KKwkJY29u dGFpbmVyX29mKGF0dHIsIHR5cGVvZigqaTkxNV9hdHRyKSwgYXR0cik7CisJc3RydWN0IGRybV9p OTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gaTkxNV9hdHRyLT5maWxlX3ByaXY7CisJc3Ry dWN0IGJ1c3lfY3R4IGJjID0geyAuZW5naW5lX2NsYXNzID0gaTkxNV9hdHRyLT5lbmdpbmVfY2xh c3MgfTsKKwlpbnQgcmV0OworCisJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZmaWxl X3ByaXYtPmNvbnRleHRfaWRyX2xvY2spOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlp ZHJfZm9yX2VhY2goJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGJ1c3lfYWRkLCAmYmMpOworCisJ bXV0ZXhfdW5sb2NrKCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyX2xvY2spOworCisJcmV0dXJuIHNu cHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWxsdVxuIiwgYmMudG90YWwpOworfQorCitzdGF0aWMg Y29uc3QgY2hhciAqdWFiaV9jbGFzc19uYW1lc1tdID0geworCVtJOTE1X0VOR0lORV9DTEFTU19S RU5ERVJdID0gIjAiLAorCVtJOTE1X0VOR0lORV9DTEFTU19DT1BZXSA9ICIxIiwKKwlbSTkxNV9F TkdJTkVfQ0xBU1NfVklERU9dID0gIjIiLAorCVtDT1BZX0VOR0lORV9DTEFTU10gPSAiMyIsCit9 OworCiBpbnQKIGk5MTVfZ2VtX2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCiAJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwKIAkJc3RydWN0 IHRhc2tfc3RydWN0ICp0YXNrLAogCQl1bnNpZ25lZCBpbnQgc2VyaWFsKQogewotCWludCByZXQg PSAtRU5PTUVNOworCWludCBpLCByZXQgPSAtRU5PTUVNOwogCXN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyOwotCWNoYXIgaWRbMzJdOworCWNoYXIgaWRzdHJbMzJdOwogCiAJaWYgKCFpOTE1 LT5jbGllbnRzLnJvb3QpCiAJCWdvdG8gZXJyX25hbWU7CkBAIC00ODUxLDggKzQ5MDMsOCBAQCBp OTE1X2dlbV9hZGRfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCWlmICgh ZmlsZV9wcml2LT5jbGllbnQubmFtZSkKIAkJZ290byBlcnJfbmFtZTsKIAotCXNucHJpbnRmKGlk LCBzaXplb2YoaWQpLCAiJXUiLCBzZXJpYWwpOwotCWZpbGVfcHJpdi0+Y2xpZW50LnJvb3QgPSBr b2JqZWN0X2NyZWF0ZV9hbmRfYWRkKGlkLAorCXNucHJpbnRmKGlkc3RyLCBzaXplb2YoaWRzdHIp LCAiJXUiLCBzZXJpYWwpOworCWZpbGVfcHJpdi0+Y2xpZW50LnJvb3QgPSBrb2JqZWN0X2NyZWF0 ZV9hbmRfYWRkKGlkc3RyLAogCQkJCQkJCWk5MTUtPmNsaWVudHMucm9vdCk7CiAJaWYgKCFmaWxl X3ByaXYtPmNsaWVudC5yb290KQogCQlnb3RvIGVycl9jbGllbnQ7CkBAIC00ODc5LDEwICs0OTMx LDQ0IEBAIGk5MTVfZ2VtX2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CiAJaWYgKHJldCkKIAkJZ290byBlcnJfYXR0cl9waWQ7CiAKKwlmaWxlX3ByaXYtPmNsaWVudC5i dXN5X3Jvb3QgPQorCQkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgiYnVzeSIsIGZpbGVfcHJpdi0+ Y2xpZW50LnJvb3QpOworCWlmICghZmlsZV9wcml2LT5jbGllbnQuYnVzeV9yb290KQorCQlnb3Rv IGVycl9idXN5X3Jvb3Q7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh1YWJpX2NsYXNz X25hbWVzKTsgaSsrKSB7CisJCXN0cnVjdCBpOTE1X2VuZ2luZV9idXN5X2F0dHJpYnV0ZSAqaTkx NV9hdHRyID0KKwkJCSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLmJ1c3lbaV07CisKKwkJaTkxNV9h dHRyLT5maWxlX3ByaXYgPSBmaWxlX3ByaXY7CisJCWk5MTVfYXR0ci0+ZW5naW5lX2NsYXNzID0g aTsKKworCQlhdHRyID0gJmk5MTVfYXR0ci0+YXR0cjsKKworCQlzeXNmc19hdHRyX2luaXQoJmF0 dHItPmF0dHIpOworCisJCWF0dHItPmF0dHIubmFtZSA9IHVhYmlfY2xhc3NfbmFtZXNbaV07CisJ CWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJCWF0dHItPnNob3cgPSBzaG93X2NsaWVudF9idXN5 OworCisJCXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LmJ1c3lfcm9v dCwKKwkJCQkgICAgICAgIChzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJCWlmIChyZXQpCisJ CQlnb3RvIGVycl9hdHRyX2J1c3k7CisJfQorCiAJZmlsZV9wcml2LT5jbGllbnQucGlkID0gcGlk X25yKGdldF90YXNrX3BpZCh0YXNrLCBQSURUWVBFX1BJRCkpOwogCiAJcmV0dXJuIDA7CiAKK2Vy cl9hdHRyX2J1c3k6CisJZm9yICgtLWk7IGkgPj0gMDsgaS0tKQorCQlzeXNmc19yZW1vdmVfZmls ZShmaWxlX3ByaXYtPmNsaWVudC5idXN5X3Jvb3QsCisJCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAq KSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLmJ1c3lbaV0pOworCWtvYmplY3RfcHV0KGZpbGVfcHJp di0+Y2xpZW50LmJ1c3lfcm9vdCk7CitlcnJfYnVzeV9yb290OgorCXN5c2ZzX3JlbW92ZV9maWxl KGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCisJCQkgIChzdHJ1Y3QgYXR0cmlidXRlICopJmZpbGVf cHJpdi0+Y2xpZW50LmF0dHIucGlkKTsKIGVycl9hdHRyX3BpZDoKIAlzeXNmc19yZW1vdmVfZmls ZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAogCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAqKSZmaWxl X3ByaXYtPmNsaWVudC5hdHRyLm5hbWUpOwpAQCAtNDg5Niw2ICs0OTgyLDE0IEBAIGk5MTVfZ2Vt X2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAKIHZvaWQgaTkxNV9n ZW1fcmVtb3ZlX2NsaWVudChzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYp CiB7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh1YWJp X2NsYXNzX25hbWVzKTsgaSsrKQorCQlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVu dC5idXN5X3Jvb3QsCisJCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmNsaWVu dC5hdHRyLmJ1c3lbaV0pOworCisJa29iamVjdF9wdXQoZmlsZV9wcml2LT5jbGllbnQuYnVzeV9y b290KTsKKwogCXN5c2ZzX3JlbW92ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCiAJCQkg IChzdHJ1Y3QgYXR0cmlidXRlICopJmZpbGVfcHJpdi0+Y2xpZW50LmF0dHIucGlkKTsKIAlzeXNm c19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAotLSAKMi4xOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=