From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 31/39] drm/i915: Move GEM client throttling to its own file Date: Wed, 13 Mar 2019 14:43:53 +0000 Message-ID: <20190313144401.17735-31-chris@chris-wilson.co.uk> References: <20190313144401.17735-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 CC7CE6E0C8 for ; Wed, 13 Mar 2019 14:45:04 +0000 (UTC) In-Reply-To: <20190313144401.17735-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 Q29udGludWluZyB0aGUgZGVjbHV0dGVyaW5nIG9mIGk5MTVfZ2VtLmMgYnkgbW92aW5nIHRoZSBj bGllbnQgc2VsZgp0aHJvdHRsaW5nIGludG8gaXRzIG93biBmaWxlLgoKU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fdGhyb3R0bGUuYyB8IDc0ICsrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICB8ICA2IC0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgICB8IDU4IC0tLS0tLS0tLS0t LS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdGhy b3R0bGUuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggNTBiYzhmMzQ0MDAwLi5hNzgzZTViMjQ3 NzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC05MCw2ICs5MCw3IEBAIGk5MTUteSArPSBcCiAJ ICBnZW0vaTkxNV9nZW1fc2htZW0ubyBcCiAJICBnZW0vaTkxNV9nZW1fc2hyaW5rZXIubyBcCiAJ ICBnZW0vaTkxNV9nZW1fc3RvbGVuLm8gXAorCSAgZ2VtL2k5MTVfZ2VtX3Rocm90dGxlLm8gXAog CSAgZ2VtL2k5MTVfZ2VtX3RpbGluZy5vIFwKIAkgIGdlbS9pOTE1X2dlbV91c2VycHRyLm8gXAog CSAgZ2VtL2k5MTVfZ2VtX3dhaXQubyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fdGhyb3R0bGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV90aHJvdHRsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NDkxYmMyOGMxNzVkCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3Rocm90dGxlLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBNSVQKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxNC0yMDE2IEludGVsIENv cnBvcmF0aW9uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKworI2luY2x1ZGUg PGRybS9kcm1fZmlsZS5oPgorCisjaW5jbHVkZSAiaTkxNV9nZW1faW9jdGxzLmgiCisjaW5jbHVk ZSAiaTkxNV9nZW1fb2JqZWN0LmgiCisKKyNpbmNsdWRlICIuLi9pOTE1X2Rydi5oIgorCisvKgor ICogMjBtcyBpcyBhIGZhaXJseSBhcmJpdHJhcnkgbGltaXQgKGdyZWF0ZXIgdGhhbiB0aGUgYXZl cmFnZSBmcmFtZSB0aW1lKQorICogY2hvc2VuIHRvIHByZXZlbnQgdGhlIENQVSBnZXR0aW5nIG1v cmUgdGhhbiBhIGZyYW1lIGFoZWFkIG9mIHRoZSBHUFUKKyAqICh3aGVuIHVzaW5nIGxheCB0aHJv dHRsaW5nIGZvciB0aGUgZnJvbnRidWZmZXIpLiBXZSBhbHNvIHVzZSBpdCB0bworICogb2ZmZXIg ZnJlZSBHUFUgd2FpdGJvb3N0cyBmb3Igc2V2ZXJlbHkgY29uZ2VzdGVkIHdvcmtsb2Fkcy4KKyAq LworI2RlZmluZSBEUk1fSTkxNV9USFJPVFRMRV9KSUZGSUVTIG1zZWNzX3RvX2ppZmZpZXMoMjAp CisKKy8qCisgKiBUaHJvdHRsZSBvdXIgcmVuZGVyaW5nIGJ5IHdhaXRpbmcgdW50aWwgdGhlIHJp bmcgaGFzIGNvbXBsZXRlZCBvdXIgcmVxdWVzdHMKKyAqIGVtaXR0ZWQgb3ZlciAyMCBtc2VjIGFn by4KKyAqCisgKiBOb3RlIHRoYXQgaWYgd2Ugd2VyZSB0byB1c2UgdGhlIGN1cnJlbnQgamlmZmll cyBlYWNoIHRpbWUgYXJvdW5kIHRoZSBsb29wLAorICogd2Ugd291bGRuJ3QgZXNjYXBlIHRoZSBm dW5jdGlvbiB3aXRoIGFueSBmcmFtZXMgb3V0c3RhbmRpbmcgaWYgdGhlIHRpbWUgdG8KKyAqIHJl bmRlciBhIGZyYW1lIHdhcyBvdmVyIDIwbXMuCisgKgorICogVGhpcyBzaG91bGQgZ2V0IHVzIHJl YXNvbmFibGUgcGFyYWxsZWxpc20gYmV0d2VlbiBDUFUgYW5kIEdQVSBidXQgYWxzbworICogcmVs YXRpdmVseSBsb3cgbGF0ZW5jeSB3aGVuIGJsb2NraW5nIG9uIGEgcGFydGljdWxhciByZXF1ZXN0 IHRvIGZpbmlzaC4KKyAqLworaW50CitpOTE1X2dlbV90aHJvdHRsZV9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJc3RydWN0IGRybV9maWxlICpmaWxlKQorewor CXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9w cml2OworCXVuc2lnbmVkIGxvbmcgcmVjZW50X2Vub3VnaCA9IGppZmZpZXMgLSBEUk1fSTkxNV9U SFJPVFRMRV9KSUZGSUVTOworCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsICp0YXJnZXQg PSBOVUxMOworCWxvbmcgcmV0OworCisJLyogQUJJOiByZXR1cm4gLUVJTyBpZiBhbHJlYWR5IHdl ZGdlZCAqLworCXJldCA9IGk5MTVfdGVybWluYWxseV93ZWRnZWQodG9faTkxNShkZXYpKTsKKwlp ZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJc3Bpbl9sb2NrKCZmaWxlX3ByaXYtPm1tLmxvY2sp OworCWxpc3RfZm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9s aXN0LCBjbGllbnRfbGluaykgeworCQlpZiAodGltZV9hZnRlcl9lcShyZXF1ZXN0LT5lbWl0dGVk X2ppZmZpZXMsIHJlY2VudF9lbm91Z2gpKQorCQkJYnJlYWs7CisKKwkJaWYgKHRhcmdldCkgewor CQkJbGlzdF9kZWwoJnRhcmdldC0+Y2xpZW50X2xpbmspOworCQkJdGFyZ2V0LT5maWxlX3ByaXYg PSBOVUxMOworCQl9CisKKwkJdGFyZ2V0ID0gcmVxdWVzdDsKKwl9CisJaWYgKHRhcmdldCkKKwkJ aTkxNV9yZXF1ZXN0X2dldCh0YXJnZXQpOworCXNwaW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1tLmxv Y2spOworCisJaWYgKCF0YXJnZXQpCisJCXJldHVybiAwOworCisJcmV0ID0gaTkxNV9yZXF1ZXN0 X3dhaXQodGFyZ2V0LAorCQkJCUk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLAorCQkJCU1BWF9TQ0hF RFVMRV9USU1FT1VUKTsKKwlpOTE1X3JlcXVlc3RfcHV0KHRhcmdldCk7CisKKwlyZXR1cm4gcmV0 IDwgMCA/IHJldCA6IDA7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBlZmI5NmI0YTU1 MDcuLjJiOWQ5MmExNjcyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTAsMTIgKzIx MCw2IEBAIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgewogCXN0cnVjdCB7CiAJCXNwaW5s b2NrX3QgbG9jazsKIAkJc3RydWN0IGxpc3RfaGVhZCByZXF1ZXN0X2xpc3Q7Ci0vKiAyMG1zIGlz IGEgZmFpcmx5IGFyYml0cmFyeSBsaW1pdCAoZ3JlYXRlciB0aGFuIHRoZSBhdmVyYWdlIGZyYW1l IHRpbWUpCi0gKiBjaG9zZW4gdG8gcHJldmVudCB0aGUgQ1BVIGdldHRpbmcgbW9yZSB0aGFuIGEg ZnJhbWUgYWhlYWQgb2YgdGhlIEdQVQotICogKHdoZW4gdXNpbmcgbGF4IHRocm90dGxpbmcgZm9y IHRoZSBmcm9udGJ1ZmZlcikuIFdlIGFsc28gdXNlIGl0IHRvCi0gKiBvZmZlciBmcmVlIEdQVSB3 YWl0Ym9vc3RzIGZvciBzZXZlcmVseSBjb25nZXN0ZWQgd29ya2xvYWRzLgotICovCi0jZGVmaW5l IERSTV9JOTE1X1RIUk9UVExFX0pJRkZJRVMgbXNlY3NfdG9famlmZmllcygyMCkKIAl9IG1tOwog CXN0cnVjdCBpZHIgY29udGV4dF9pZHI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDFm NjQxYTQ0ZTlhYS4uZGU2ZGI5NWU4MTJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTEy MTEsNTcgKzEyMTEsNiBAQCBpbnQgaTkxNV9nZW1fd2FpdF9mb3JfaWRsZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwKIAlyZXR1cm4gMDsKIH0KIAotLyogVGhyb3R0bGUgb3VyIHJlbmRl cmluZyBieSB3YWl0aW5nIHVudGlsIHRoZSByaW5nIGhhcyBjb21wbGV0ZWQgb3VyIHJlcXVlc3Rz Ci0gKiBlbWl0dGVkIG92ZXIgMjAgbXNlYyBhZ28uCi0gKgotICogTm90ZSB0aGF0IGlmIHdlIHdl cmUgdG8gdXNlIHRoZSBjdXJyZW50IGppZmZpZXMgZWFjaCB0aW1lIGFyb3VuZCB0aGUgbG9vcCwK LSAqIHdlIHdvdWxkbid0IGVzY2FwZSB0aGUgZnVuY3Rpb24gd2l0aCBhbnkgZnJhbWVzIG91dHN0 YW5kaW5nIGlmIHRoZSB0aW1lIHRvCi0gKiByZW5kZXIgYSBmcmFtZSB3YXMgb3ZlciAyMG1zLgot ICoKLSAqIFRoaXMgc2hvdWxkIGdldCB1cyByZWFzb25hYmxlIHBhcmFsbGVsaXNtIGJldHdlZW4g Q1BVIGFuZCBHUFUgYnV0IGFsc28KLSAqIHJlbGF0aXZlbHkgbG93IGxhdGVuY3kgd2hlbiBibG9j a2luZyBvbiBhIHBhcnRpY3VsYXIgcmVxdWVzdCB0byBmaW5pc2guCi0gKi8KLXN0YXRpYyBpbnQK LWk5MTVfZ2VtX3JpbmdfdGhyb3R0bGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBm aWxlLT5kcml2ZXJfcHJpdjsKLQl1bnNpZ25lZCBsb25nIHJlY2VudF9lbm91Z2ggPSBqaWZmaWVz IC0gRFJNX0k5MTVfVEhST1RUTEVfSklGRklFUzsKLQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1 ZXN0LCAqdGFyZ2V0ID0gTlVMTDsKLQlsb25nIHJldDsKLQotCS8qIEFCSTogcmV0dXJuIC1FSU8g aWYgYWxyZWFkeSB3ZWRnZWQgKi8KLQlyZXQgPSBpOTE1X3Rlcm1pbmFsbHlfd2VkZ2VkKGRldl9w cml2KTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0Jc3Bpbl9sb2NrKCZmaWxlX3ByaXYt Pm1tLmxvY2spOwotCWxpc3RfZm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJmZpbGVfcHJpdi0+bW0u cmVxdWVzdF9saXN0LCBjbGllbnRfbGluaykgewotCQlpZiAodGltZV9hZnRlcl9lcShyZXF1ZXN0 LT5lbWl0dGVkX2ppZmZpZXMsIHJlY2VudF9lbm91Z2gpKQotCQkJYnJlYWs7Ci0KLQkJaWYgKHRh cmdldCkgewotCQkJbGlzdF9kZWwoJnRhcmdldC0+Y2xpZW50X2xpbmspOwotCQkJdGFyZ2V0LT5m aWxlX3ByaXYgPSBOVUxMOwotCQl9Ci0KLQkJdGFyZ2V0ID0gcmVxdWVzdDsKLQl9Ci0JaWYgKHRh cmdldCkKLQkJaTkxNV9yZXF1ZXN0X2dldCh0YXJnZXQpOwotCXNwaW5fdW5sb2NrKCZmaWxlX3By aXYtPm1tLmxvY2spOwotCi0JaWYgKHRhcmdldCA9PSBOVUxMKQotCQlyZXR1cm4gMDsKLQotCXJl dCA9IGk5MTVfcmVxdWVzdF93YWl0KHRhcmdldCwKLQkJCQlJOTE1X1dBSVRfSU5URVJSVVBUSUJM RSwKLQkJCQlNQVhfU0NIRURVTEVfVElNRU9VVCk7Ci0JaTkxNV9yZXF1ZXN0X3B1dCh0YXJnZXQp OwotCi0JcmV0dXJuIHJldCA8IDAgPyByZXQgOiAwOwotfQotCiBzdHJ1Y3QgaTkxNV92bWEgKgog aTkxNV9nZW1fb2JqZWN0X2dndHRfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCQkgY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LApAQCAtMTM0MSwxMyArMTI5 MCw2IEBAIGk5MTVfZ2VtX29iamVjdF9nZ3R0X3BpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogCXJldHVybiB2bWE7CiB9CiAKLWludAotaTkxNV9nZW1fdGhyb3R0bGVfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKLQkJCXN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2KQotewotCXJldHVybiBpOTE1X2dlbV9yaW5nX3Rocm90dGxlKGRldiwgZmlsZV9w cml2KTsKLX0KLQogaW50CiBpOTE1X2dlbV9tYWR2aXNlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikK LS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4