From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 1/3] drm/i915: Fix eviction when the GGTT is idle but full Date: Tue, 10 Oct 2017 16:50:18 +0100 Message-ID: <20171010155020.8172-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 07C846E544 for ; Tue, 10 Oct 2017 15:50:42 +0000 (UTC) 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 SW4gdGhlIGZ1bGwtcHBndHQgd29ybGQsIHdlIGNhbiBmaWxsIHRoZSBHR1RUIGZ1bGwgb2YgY29u dGV4dCBvYmplY3RzLgpUaGVzZSBjb250ZXh0IG9iamVjdHMgYXJlIGN1cnJlbnRseSBpbXBsaWNp dGx5IHRyYWNrZWQgYnkgdGhlIHJlcXVlc3RzCnRoYXQgcGluIHRoZW0gaS5lLiB0aGV5IGFyZSBv bmx5IHVucGlubmVkIHdoZW4gdGhlIHJlcXVlc3QgaXMgY29tcGxldGVkCmFuZCByZXRpcmVkLCBi dXQgd2UgZG8gbm90IGhhdmUgdGhlIGxpbmsgZnJvbSB0aGUgdm1hIHRvIHRoZSByZXF1ZXN0Cihh bnltb3JlKS4gSW4gb3JkZXIgdG8gdW5waW4gdGhvc2UgY29udGV4dHMsIHdlIGhhdmUgdG8gaXNz dWUgYW5vdGhlcgpyZXF1ZXN0IGFuZCB3YWl0IHVwb24gdGhlIHN3aXRjaCB0byB0aGUga2VybmVs IGNvbnRleHQuCgpUaGUgYnVnIGR1cmluZyBldmljdGlvbiB3YXMgdGhhdCB3ZSBhc3N1bWVkIHRo YXQgYSBmdWxsIEdHVFQgbWVhbnQgd2UKd291bGQgaGF2ZSByZXF1ZXN0cyBvbiB0aGUgR0dUVCB0 aW1lbGluZSwgYW5kIHNvIHdlIG1pc3NlZCBzaXR1YXRpb25zCndoZXJlIHRob3NlIHJlcXVlc3Rz IHdoZXJlIG1lcmVseSBpbiBmbGlnaHQgKGFuZCB3aGVuIGV2ZW4gdGhleSBoYXZlIG5vdAp5ZXQg YmVlbiBzdWJtaXR0ZWQgdG8gaHcgeWV0KS4gVGhlIGZpeCBlbXBsb3llZCBoZXJlIGlzIHRvIGNo YW5nZSB0aGUKYWxyZWFkeS1pcy1pZGxlIHRlc3QgdG8gbm8gbG9vayBhdCB0aGUgZXhlY3V0aW9u IHRpbWVsaW5lLCBidXQgY291bnQgdGhlCm91dHN0YW5kaW5nIHJlcXVlc3RzIGFuZCB0aGVuIGNo ZWNrIHRoYXQgd2UgaGF2ZSBzd2l0Y2hlZCB0byB0aGUga2VybmVsCmNvbnRleHQuIEVycmluZyBv biB0aGUgc2lkZSBvZiBvdmVya2lsbCBoZXJlIGp1c3QgbWVhbnMgdGhhdCB3ZSBzdGFsbCBhCmxp dHRsZSBsb25nZXIgdGhhbiBtYXkgYmUgc3RyaWN0bHkgcmVxdWlyZWQsIGJ1dCB3ZSBvbmx5IGV4 cGVjdCB0byBoaXQKdGhpcyBwYXRoIGluIGV4dHJlbWUgY29ybmVyIGNhc2VzIHdoZXJlIHJldHVy bmluZyBhbiBlcnJvbmVvdXMgZXJyb3IgaXMKd29yc2UgdGhhbiB0aGUgZGVsYXkuCgp2MjogTG9n aWNhbCBpbnZlcnNpb24gd2hlbiBzd2FwcGluZyBvdmVyIGJyYW5jaGVzLgoKRml4ZXM6IDgwYjIw NGJjZThmMiAoImRybS9pOTE1OiBFbmFibGUgbXVsdGlwbGUgdGltZWxpbmVzIikKU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxq b29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V2aWN0LmMgfCA2MyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCmluZGV4IGE1YTViN2U2ZGFhZS4uZWU0ODEx ZmZiN2FhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKQEAgLTMzLDIxICsz MywyMCBAQAogI2luY2x1ZGUgImludGVsX2Rydi5oIgogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIK IAotc3RhdGljIGJvb2wgZ2d0dF9pc19pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK3N0YXRpYyBib29sIGdndHRfaXNfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIHsKLQlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gJmRldl9wcml2LT5nZ3R0OwotCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsK KyAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisgICAgICAgZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7CiAKLQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQp IHsKLQkJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bDsKKyAgICAgICBpZiAoaTkxNS0+Z3QuYWN0 aXZlX3JlcXVlc3RzKQorCSAgICAgICByZXR1cm4gZmFsc2U7CiAKLQkJdGwgPSAmZ2d0dC0+YmFz ZS50aW1lbGluZS5lbmdpbmVbZW5naW5lLT5pZF07Ci0JCWlmIChpOTE1X2dlbV9hY3RpdmVfaXNz ZXQoJnRsLT5sYXN0X3JlcXVlc3QpKQotCQkJcmV0dXJuIGZhbHNlOwotCX0KKyAgICAgICBmb3Jf ZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCSAgICAgICBpZiAoZW5naW5lLT5sYXN0 X3JldGlyZWRfY29udGV4dCAhPSBpOTE1LT5rZXJuZWxfY29udGV4dCkKKwkJICAgICAgIHJldHVy biBmYWxzZTsKKyAgICAgICB9CiAKLQlyZXR1cm4gdHJ1ZTsKKyAgICAgICByZXR1cm4gdHJ1ZTsK IH0KIAogc3RhdGljIGludCBnZ3R0X2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQpAQCAtMTU3LDcgKzE1Niw4IEBAIGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICAgbWluX3NpemUsIGFsaWdubWVudCwgY2FjaGVf bGV2ZWwsCiAJCQkJICAgIHN0YXJ0LCBlbmQsIG1vZGUpOwogCi0JLyogUmV0aXJlIGJlZm9yZSB3 ZSBzZWFyY2ggdGhlIGFjdGl2ZSBsaXN0LiBBbHRob3VnaCB3ZSBoYXZlCisJLyoKKwkgKiBSZXRp cmUgYmVmb3JlIHdlIHNlYXJjaCB0aGUgYWN0aXZlIGxpc3QuIEFsdGhvdWdoIHdlIGhhdmUKIAkg KiByZWFzb25hYmxlIGFjY3VyYWN5IGluIG91ciByZXRpcmVtZW50IGxpc3RzLCB3ZSBtYXkgaGF2 ZQogCSAqIGEgc3RyYXkgcGluIChwcmV2ZW50aW5nIGV2aWN0aW9uKSB0aGF0IGNhbiBvbmx5IGJl IHJlc29sdmVkIGJ5CiAJICogcmV0aXJpbmcuCkBAIC0xODIsNyArMTgyLDggQEAgaTkxNV9nZW1f ZXZpY3Rfc29tZXRoaW5nKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQlCVUdfT04o cmV0KTsKIAl9CiAKLQkvKiBDYW4gd2UgdW5waW4gc29tZSBvYmplY3RzIHN1Y2ggYXMgaWRsZSBo dyBjb250ZW50cywKKwkvKgorCSAqIENhbiB3ZSB1bnBpbiBzb21lIG9iamVjdHMgc3VjaCBhcyBp ZGxlIGh3IGNvbnRlbnRzLAogCSAqIG9yIHBlbmRpbmcgZmxpcHM/IEJ1dCBzaW5jZSBvbmx5IHRo ZSBHR1RUIGhhcyBnbG9iYWwgZW50cmllcwogCSAqIHN1Y2ggYXMgc2Nhbm91dHMsIHJpbmJ1ZmZl cnMgYW5kIGNvbnRleHRzLCB3ZSBjYW4gc2tpcCB0aGUKIAkgKiBwdXJnZSB3aGVuIGluc3BlY3Rp bmcgcGVyLXByb2Nlc3MgbG9jYWwgYWRkcmVzcyBzcGFjZXMuCkBAIC0xOTAsMTkgKzE5MSwzMyBA QCBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s CiAJaWYgKCFpOTE1X2lzX2dndHQodm0pIHx8IGZsYWdzICYgUElOX05PTkJMT0NLKQogCQlyZXR1 cm4gLUVOT1NQQzsKIAotCWlmIChnZ3R0X2lzX2lkbGUoZGV2X3ByaXYpKSB7Ci0JCS8qIElmIHdl IHN0aWxsIGhhdmUgcGVuZGluZyBwYWdlZmxpcCBjb21wbGV0aW9ucywgZHJvcAotCQkgKiBiYWNr IHRvIHVzZXJzcGFjZSB0byBnaXZlIG91ciB3b3JrcXVldWVzIHRpbWUgdG8KLQkJICogYWNxdWly ZSBvdXIgbG9ja3MgYW5kIHVucGluIHRoZSBvbGQgc2Nhbm91dHMuCi0JCSAqLwotCQlyZXR1cm4g aW50ZWxfaGFzX3BlbmRpbmdfZmJfdW5waW4oZGV2X3ByaXYpID8gLUVBR0FJTiA6IC1FTk9TUEM7 Ci0JfQorCS8qCisJICogTm90IGV2ZXJ5dGhpbmcgaW4gdGhlIEdHVFQgaXMgdHJhY2tlZCB2aWEg Vk1BIHVzaW5nCisJICogaTkxNV92bWFfbW92ZV90b19hY3RpdmUoKSwgb3RoZXJ3aXNlIHdlIGNv dWxkIGV2aWN0IGFzIHJlcXVpcmVkCisJICogd2l0aCBtaW5pbWFsIHN0YWxsaW5nLiBJbnN0ZWFk IHdlIGFyZSBmb3JjZWQgdG8gaWRsZSB0aGUgR1BVIGFuZAorCSAqIGV4cGxpY2l0bHkgcmV0aXJl IG91dHN0YW5kaW5nIHJlcXVlc3RzIHdoaWNoIHdpbGwgdGhlbiByZW1vdmUKKwkgKiB0aGUgcGlu bmluZyBmb3IgYWN0aXZlIG9iamVjdHMgc3VjaCBhcyBjb250ZXh0cyBhbmQgcmluZywKKwkgKiBl bmFibGluZyB1cyB0byBldmljdCB0aGVtIG9uIHRoZSBuZXh0IGl0ZXJhdGlvbi4KKwkgKgorCSAq IFRvIGVuc3VyZSB0aGF0IGFsbCB1c2VyIGNvbnRleHRzIGFyZSBldmljdGFibGUsIHdlIHBlcmZv cm0KKwkgKiBhIHN3aXRjaCB0byB0aGUgcGVybWEtcGlubmVkIGtlcm5lbCBjb250ZXh0LiBUaGlz IGFsbCBhbHNvIGdpdmVzCisJICogdXMgYSB0ZXJtaW5hdGlvbiBjb25kaXRpb24sIHdoZW4gdGhl IGxhc3QgcmV0aXJlZCBjb250ZXh0IGlzCisJICogdGhlIGtlcm5lbCdzIHRoZXJlIGlzIG5vIG1v cmUgd2UgY2FuIGV2aWN0LgorCSAqLworCWlmICghZ2d0dF9pc19pZGxlKGRldl9wcml2KSkgewor CQlyZXQgPSBnZ3R0X2ZsdXNoKGRldl9wcml2KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7 CiAKLQlyZXQgPSBnZ3R0X2ZsdXNoKGRldl9wcml2KTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0 OworCQlnb3RvIHNlYXJjaF9hZ2FpbjsKKwl9CiAKLQlnb3RvIHNlYXJjaF9hZ2FpbjsKKwkvKgor CSAqIElmIHdlIHN0aWxsIGhhdmUgcGVuZGluZyBwYWdlZmxpcCBjb21wbGV0aW9ucywgZHJvcAor CSAqIGJhY2sgdG8gdXNlcnNwYWNlIHRvIGdpdmUgb3VyIHdvcmtxdWV1ZXMgdGltZSB0bworCSAq IGFjcXVpcmUgb3VyIGxvY2tzIGFuZCB1bnBpbiB0aGUgb2xkIHNjYW5vdXRzLgorCSAqLworCXJl dHVybiBpbnRlbF9oYXNfcGVuZGluZ19mYl91bnBpbihkZXZfcHJpdikgPyAtRUFHQUlOIDogLUVO T1NQQzsKIAogZm91bmQ6CiAJLyogZHJtX21tIGRvZXNuJ3QgYWxsb3cgYW55IG90aGVyIG90aGVy IG9wZXJhdGlvbnMgd2hpbGUKLS0gCjIuMTUuMC5yYzAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=