From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915/gt: Make deferred context allocation explicit Date: Fri, 9 Aug 2019 17:56:55 +0100 Message-ID: <20190809165655.19948-1-chris@chris-wilson.co.uk> References: <20190809154146.16397-2-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 D6D4D6EE65 for ; Fri, 9 Aug 2019 16:57:14 +0000 (UTC) In-Reply-To: <20190809154146.16397-2-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 UmVmYWN0b3IgdGhlIGJhY2tlbmRzIHRvIGhhbmRsZSB0aGUgZGVmZXJyZWQgY29udGV4dCBhbGxv Y2F0aW9uIGluIGEKY29uc2lzdGVudCBtYW5uZXIsIGFuZCBhbGxvdyBjYWxsaW5nIGl0IGFzIGFu IGV4cGxpY2l0IGZpcnN0IHN0ZXAgaW4KcGlubmluZyBhIGNvbnRleHQgZm9yIHRoZSBmaXJzdCB0 aW1lLiBUaGlzIHNob3VsZCBtYWtlIGl0IGVhc2llciBmb3IKYmFja2VuZHMgdG8ga2VlcCB0cmFj ayBvZiBwYXJ0aWFsbHkgY29uc3RydWN0ZWQgY29udGV4dHMgZnJvbQppbml0aWFsaXNhdGlvbi4K ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpS ZXZpZXdlZC1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+ Ci0tLQpJIG1hbmFnZWQgdG8gYWRkIHRoZSBhc3NlcnRzIGJhY2t3YXJkcy4gR28gbWUuCi0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jICAgICAgIHwgIDggKysrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHRfdHlwZXMuaCB8ICA1ICsrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgICB8IDI5ICsrKysr KysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIu YyAgICB8IDE1ICsrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tfZW5naW5l LmMgICAgICAgICB8IDE3ICsrKysrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlv bnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRl eHQuYwppbmRleCBjODc3N2UyMjJiMTIuLjQxZDM4ZTY2MWRlNyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2NvbnRleHQuYwpAQCAtNTMsNiArNTMsMTQgQEAgaW50IF9faW50ZWxfY29u dGV4dF9kb19waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogCWlmIChsaWtlbHkoIWF0b21p Y19yZWFkKCZjZS0+cGluX2NvdW50KSkpIHsKIAkJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CiAK KwkJaWYgKHVubGlrZWx5KCF0ZXN0X2JpdChDT05URVhUX0FMTE9DX0JJVCwgJmNlLT5mbGFncykp KSB7CisJCQllcnIgPSBjZS0+b3BzLT5hbGxvYyhjZSk7CisJCQlpZiAodW5saWtlbHkoZXJyKSkK KwkJCQlnb3RvIGVycjsKKworCQkJX19zZXRfYml0KENPTlRFWFRfQUxMT0NfQklULCAmY2UtPmZs YWdzKTsKKwkJfQorCiAJCWVyciA9IDA7CiAJCXdpdGhfaW50ZWxfcnVudGltZV9wbSgmY2UtPmVu Z2luZS0+aTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZikKIAkJCWVyciA9IGNlLT5vcHMtPnBpbihj ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5 cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5cGVzLmgKaW5k ZXggNjhhN2U5NzliMWE5Li5jZmY2MjM4YzIxM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2NvbnRleHRfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9jb250ZXh0X3R5cGVzLmgKQEAgLTIzLDYgKzIzLDggQEAgc3RydWN0IGludGVs X2NvbnRleHQ7CiBzdHJ1Y3QgaW50ZWxfcmluZzsKIAogc3RydWN0IGludGVsX2NvbnRleHRfb3Bz IHsKKwlpbnQgKCphbGxvYykoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKKwogCWludCAoKnBp bikoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKIAl2b2lkICgqdW5waW4pKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSk7CiAKQEAgLTUyLDYgKzU0LDkgQEAgc3RydWN0IGludGVsX2NvbnRleHQg ewogCXN0cnVjdCBpOTE1X3ZtYSAqc3RhdGU7CiAJc3RydWN0IGludGVsX3JpbmcgKnJpbmc7CiAK Kwl1bnNpZ25lZCBsb25nIGZsYWdzOworI2RlZmluZSBDT05URVhUX0FMTE9DX0JJVCAwCisKIAl1 MzIgKmxyY19yZWdfc3RhdGU7CiAJdTY0IGxyY19kZXNjOwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2xyYy5jCmluZGV4IDE0YzViZmJlMGE3NC4uYTk4NmVhODdmYmQ5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9scmMuYwpAQCAtMjE5LDggKzIxOSw5IEBAIHN0YXRpYyBzdHJ1Y3Qgdmly dHVhbF9lbmdpbmUgKnRvX3ZpcnR1YWxfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIAlyZXR1cm4gY29udGFpbmVyX29mKGVuZ2luZSwgc3RydWN0IHZpcnR1YWxfZW5naW5l LCBiYXNlKTsKIH0KIAotc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxv YyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCi0JCQkJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpOworc3RhdGljIGludCBfX2V4ZWNsaXN0c19jb250ZXh0X2FsbG9jKHN0cnVj dCBpbnRlbF9jb250ZXh0ICpjZSwKKwkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSk7CisKIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19pbml0X3JlZ19zdGF0ZSh1MzIgKnJlZ19z dGF0ZSwKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAkJCQkgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKQEAgLTE2MTQsOSArMTYxNSw2IEBAIF9fZXhlY2xp c3RzX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAl2b2lkICp2YWRkcjsK IAlpbnQgcmV0OwogCi0JcmV0ID0gZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2MoY2Us IGVuZ2luZSk7Ci0JaWYgKHJldCkKLQkJZ290byBlcnI7CiAJR0VNX0JVR19PTighY2UtPnN0YXRl KTsKIAogCXJldCA9IGludGVsX2NvbnRleHRfYWN0aXZlX2FjcXVpcmUoY2UpOwpAQCAtMTY1NSw2 ICsxNjUzLDExIEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcGluKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSkKIAlyZXR1cm4gX19leGVjbGlzdHNfY29udGV4dF9waW4oY2UsIGNlLT5l bmdpbmUpOwogfQogCitzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X2FsbG9jKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSkKK3sKKwlyZXR1cm4gX19leGVjbGlzdHNfY29udGV4dF9hbGxvYyhj ZSwgY2UtPmVuZ2luZSk7Cit9CisKIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19jb250ZXh0X3Jlc2V0 KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIHsKIAkvKgpAQCAtMTY3OCw2ICsxNjgxLDggQEAg c3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfcmVzZXQoc3RydWN0IGludGVsX2NvbnRleHQg KmNlKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2NvbnRleHRfb3BzIGV4ZWNsaXN0 c19jb250ZXh0X29wcyA9IHsKKwkuYWxsb2MgPSBleGVjbGlzdHNfY29udGV4dF9hbGxvYywKKwog CS5waW4gPSBleGVjbGlzdHNfY29udGV4dF9waW4sCiAJLnVucGluID0gZXhlY2xpc3RzX2NvbnRl eHRfdW5waW4sCiAKQEAgLTMwNzUsOCArMzA4MCw4IEBAIGdldF90aW1lbGluZShzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4LCBzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogCQlyZXR1cm4gaW50ZWxf dGltZWxpbmVfY3JlYXRlKGd0LCBOVUxMKTsKIH0KIAotc3RhdGljIGludCBleGVjbGlzdHNfY29u dGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCi0JCQkJCSAgICBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCitzdGF0aWMgaW50IF9fZXhlY2xpc3RzX2Nv bnRleHRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAorCQkJCSAgICAgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpj dHhfb2JqOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwpAQCAtMzA4NSw5ICszMDkwLDcgQEAgc3Rh dGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY2UsCiAJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlpbnQgcmV0Owog Ci0JaWYgKGNlLT5zdGF0ZSkKLQkJcmV0dXJuIDA7Ci0KKwlHRU1fQlVHX09OKGNlLT5zdGF0ZSk7 CiAJY29udGV4dF9zaXplID0gcm91bmRfdXAoZW5naW5lLT5jb250ZXh0X3NpemUsIEk5MTVfR1RU X1BBR0VfU0laRSk7CiAKIAkvKgpAQCAtMzUzMyw2ICszNTM2LDEyIEBAIGludGVsX2V4ZWNsaXN0 c19jcmVhdGVfdmlydHVhbChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCiAJdmUtPmJh c2UuZmxhZ3MgfD0gSTkxNV9FTkdJTkVfSVNfVklSVFVBTDsKIAorCWVyciA9IF9fZXhlY2xpc3Rz X2NvbnRleHRfYWxsb2MoJnZlLT5jb250ZXh0LCBzaWJsaW5nc1swXSk7CisJaWYgKGVycikKKwkJ Z290byBlcnJfcHV0OworCisJX19zZXRfYml0KENPTlRFWFRfQUxMT0NfQklULCAmdmUtPmNvbnRl eHQuZmxhZ3MpOworCiAJcmV0dXJuICZ2ZS0+Y29udGV4dDsKIAogZXJyX3B1dDoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA3OGI0MjM1ZjljMGYuLjZh Mjg5MjAzMzQ1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmlu Z2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIu YwpAQCAtMTQ4MCwxNiArMTQ4MCwxNiBAQCBhbGxvY19jb250ZXh0X3ZtYShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCiAJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIH0KIAotc3RhdGljIGlu dCByaW5nX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKK3N0YXRpYyBpbnQg cmluZ19jb250ZXh0X2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIHsKIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBjZS0+ZW5naW5lOwotCWludCBlcnI7CiAKIAkvKiBP bmUgcmluZ2J1ZmZlciB0byBydWxlIHRoZW0gYWxsICovCiAJR0VNX0JVR19PTighZW5naW5lLT5i dWZmZXIpOwogCWNlLT5yaW5nID0gZW5naW5lLT5idWZmZXI7CiAKLQlpZiAoIWNlLT5zdGF0ZSAm JiBlbmdpbmUtPmNvbnRleHRfc2l6ZSkgeworCUdFTV9CVUdfT04oY2UtPnN0YXRlKTsKKwlpZiAo ZW5naW5lLT5jb250ZXh0X3NpemUpIHsKIAkJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAKIAkJdm1h ID0gYWxsb2NfY29udGV4dF92bWEoZW5naW5lKTsKQEAgLTE0OTksNiArMTQ5OSwxMyBAQCBzdGF0 aWMgaW50IHJpbmdfY29udGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogCQljZS0+ c3RhdGUgPSB2bWE7CiAJfQogCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmluZ19jb250 ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCit7CisJaW50IGVycjsKKwogCWVyciA9 IGludGVsX2NvbnRleHRfYWN0aXZlX2FjcXVpcmUoY2UpOwogCWlmIChlcnIpCiAJCXJldHVybiBl cnI7CkBAIC0xNTIwLDYgKzE1MjcsOCBAQCBzdGF0aWMgdm9pZCByaW5nX2NvbnRleHRfcmVzZXQo c3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2NvbnRleHRfb3BzIHJpbmdfY29udGV4dF9vcHMgPSB7CisJLmFsbG9jID0gcmluZ19jb250ZXh0 X2FsbG9jLAorCiAJLnBpbiA9IHJpbmdfY29udGV4dF9waW4sCiAJLnVucGluID0gcmluZ19jb250 ZXh0X3VucGluLAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2Vu Z2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYwppbmRleCBkZDAy ZTU5YjE5MmYuLjg0OGE4M2EzOGIwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvbW9ja19lbmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2lu ZS5jCkBAIC0xNDcsMTYgKzE0NywxOSBAQCBzdGF0aWMgdm9pZCBtb2NrX2NvbnRleHRfZGVzdHJv eShzdHJ1Y3Qga3JlZiAqcmVmKQogCWludGVsX2NvbnRleHRfZnJlZShjZSk7CiB9CiAKK3N0YXRp YyBpbnQgbW9ja19jb250ZXh0X2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKK3sKKwlj ZS0+cmluZyA9IG1vY2tfcmluZyhjZS0+ZW5naW5lKTsKKwlpZiAoIWNlLT5yaW5nKQorCQlyZXR1 cm4gLUVOT01FTTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG1vY2tfY29udGV4dF9w aW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogewogCWludCByZXQ7CiAKLQlpZiAoIWNlLT5y aW5nKSB7Ci0JCWNlLT5yaW5nID0gbW9ja19yaW5nKGNlLT5lbmdpbmUpOwotCQlpZiAoIWNlLT5y aW5nKQotCQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCiAJcmV0ID0gaW50ZWxfY29udGV4dF9hY3Rp dmVfYWNxdWlyZShjZSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKQEAgLTE2Niw2ICsxNjks OCBAQCBzdGF0aWMgaW50IG1vY2tfY29udGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNl KQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2NvbnRleHRfb3BzIG1vY2tfY29udGV4 dF9vcHMgPSB7CisJLmFsbG9jID0gbW9ja19jb250ZXh0X2FsbG9jLAorCiAJLnBpbiA9IG1vY2tf Y29udGV4dF9waW4sCiAJLnVucGluID0gbW9ja19jb250ZXh0X3VucGluLAogCi0tIAoyLjIzLjAu cmMxCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=