From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2] drm/i915: Track GGTT writes on the vma Date: Tue, 5 Dec 2017 13:12:37 +0000 Message-ID: <20171205131237.15202-1-chris@chris-wilson.co.uk> References: <20171205121703.27462-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 AD91089E23 for ; Tue, 5 Dec 2017 13:12:48 +0000 (UTC) In-Reply-To: <20171205121703.27462-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 QXMgd3JpdGVzIHRocm91Z2ggdGhlIEdUVCBhbmQgR0dUVCBQVEUgdXBkYXRlcyBkbyBub3Qgc2hh cmUgdGhlIHNhbWUKcGF0aCwgdGhleSBhcmUgbm90IHN0cmljdGx5IG9yZGVyZWQgYW5kIHNvIHdl IG11c3QgZXhwbGljaXRseSBmbHVzaCB0aGUKaW5kaXJlY3Qgd3JpdGVzIHByaW9yIHRvIG1vZGlm eWluZyB0aGUgUFRFLiBXZSBkbyB0cmFjayBvdXRzdGFuZGluZyBHR1RUCndyaXRlcyBvbiB0aGUg b2JqZWN0IGl0c2VsZiwgYnV0IHNpbmNlIHRoZSBvYmplY3QgbWF5IGhhdmUgbXVsdGlwbGUgR0dU VAp2bWEsIHRoYXQgaXMgb3Zlcmx5IGNvYXJzZSBhcyB3ZSBjYW4gdHJhY2sgYW5kIGZsdXNoIGlu ZGl2aWR1YWwgdm1hIGFzCnJlcXVpcmVkLgoKV2hpbHN0IGhlcmUsIHVwZGF0ZSB0aGUgR0dUVCBm bHVzaGluZyBiZWhhdmlvdXIgZm9yIENhbm5vbmxha2UuCgp2MjogSGFyZC1jb2RlIHJpbmcgb2Zm c2V0IHRvIGFsbG93IHVzZSBkdXJpbmcgdW5sb2FkIChhZnRlciBSQ1MgbWF5IGhhdmUKYmVlbiBm cmVlZCwgb3IgbmV2ZXIgZXhpc3RlZCEpCgpSZWZlcmVuY2VzOiBodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQwMDIKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIHwgNTUgKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmMgfCAyMiArKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92bWEuaCB8IDE5ICsrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDgwIGlu c2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDU5NGZkMTRlNjZjNS4uNWNmNThlMDQ5ZGJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTM4NzksNiArMzg3OSw4IEBAIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZXZpY3RfZm9yX25v ZGUoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJCSB1bnNpZ25lZCBpbnQgZmxh Z3MpOwogaW50IGk5MTVfZ2VtX2V2aWN0X3ZtKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt KTsKIAordm9pZCBpOTE1X2dlbV9mbHVzaF9nZ3R0X3dyaXRlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOworCiAvKiBiZWxvbmdzIGluIGk5MTVfZ2VtX2d0dC5oICovCiBzdGF0 aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY2hpcHNldF9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA4MGI3OGZiNWRh YWMuLjM3NjAwMDAwYmIwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC02NjYsMTcgKzY2 NiwxMyBAQCBmYl93cml0ZV9vcmlnaW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwg dW5zaWduZWQgaW50IGRvbWFpbikKIAkJb2JqLT5mcm9udGJ1ZmZlcl9nZ3R0X29yaWdpbiA6IE9S SUdJTl9DUFUpOwogfQogCi1zdGF0aWMgdm9pZAotZmx1c2hfd3JpdGVfZG9tYWluKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIHVuc2lnbmVkIGludCBmbHVzaF9kb21haW5zKQordm9p ZCBpOTE1X2dlbV9mbHVzaF9nZ3R0X3dyaXRlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShv YmotPmJhc2UuZGV2KTsKLQotCWlmICghKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBmbHVzaF9k b21haW5zKSkKLQkJcmV0dXJuOwotCi0JLyogTm8gYWN0dWFsIGZsdXNoaW5nIGlzIHJlcXVpcmVk IGZvciB0aGUgR1RUIHdyaXRlIGRvbWFpbi4gIFdyaXRlcwotCSAqIHRvIGl0ICJpbW1lZGlhdGVs eSIgZ28gdG8gbWFpbiBtZW1vcnkgYXMgZmFyIGFzIHdlIGtub3csIHNvIHRoZXJlJ3MKLQkgKiBu byBjaGlwc2V0IGZsdXNoLiAgSXQgYWxzbyBkb2Vzbid0IGxhbmQgaW4gcmVuZGVyIGNhY2hlLgor CS8qCisJICogTm8gYWN0dWFsIGZsdXNoaW5nIGlzIHJlcXVpcmVkIGZvciB0aGUgR1RUIHdyaXRl IGRvbWFpbiBmb3IgcmVhZHMKKwkgKiBmcm9tIHRoZSBHVFQgZG9tYWluLiBXcml0ZXMgdG8gaXQg ImltbWVkaWF0ZWx5IiBnbyB0byBtYWluIG1lbW9yeQorCSAqIGFzIGZhciBhcyB3ZSBrbm93LCBz byB0aGVyZSdzIG5vIGNoaXBzZXQgZmx1c2guIEl0IGFsc28gZG9lc24ndAorCSAqIGxhbmQgaW4g dGhlIEdQVSByZW5kZXIgY2FjaGUuCiAJICoKIAkgKiBIb3dldmVyLCB3ZSBkbyBoYXZlIHRvIGVu Zm9yY2UgdGhlIG9yZGVyIHNvIHRoYXQgYWxsIHdyaXRlcyB0aHJvdWdoCiAJICogdGhlIEdUVCBs YW5kIGJlZm9yZSBhbnkgd3JpdGVzIHRvIHRoZSBkZXZpY2UsIHN1Y2ggYXMgdXBkYXRlcyB0bwpA QCAtNjg3LDIyICs2ODMsNDMgQEAgZmx1c2hfd3JpdGVfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosIHVuc2lnbmVkIGludCBmbHVzaF9kb21haW5zKQogCSAqIHRpbWluZy4g VGhpcyBpc3N1ZSBoYXMgb25seSBiZWVuIG9ic2VydmVkIHdoZW4gc3dpdGNoaW5nIHF1aWNrbHkK IAkgKiBiZXR3ZWVuIEdUVCB3cml0ZXMgYW5kIENQVSByZWFkcyBmcm9tIGluc2lkZSB0aGUga2Vy bmVsIG9uIHJlY2VudCBodywKIAkgKiBhbmQgaXQgYXBwZWFycyB0byBvbmx5IGFmZmVjdCBkaXNj cmV0ZSBHVFQgYmxvY2tzIChpLmUuIG9uIExMQwotCSAqIHN5c3RlbSBhZ2VudHMgd2UgY2Fubm90 IHJlcHJvZHVjZSB0aGlzIGJlaGF2aW91cikuCisJICogc3lzdGVtIGFnZW50cyB3ZSBjYW5ub3Qg cmVwcm9kdWNlIHRoaXMgYmVoYXZpb3VyLCB1bnRpbCBDYW5ub25sYWtlCisJICogdGhhdCB3YXMh KS4KIAkgKi8KKwogCXdtYigpOwogCisJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwor CXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT51bmNvcmUubG9jayk7CisKKwlQT1NUSU5HX1JFQURf RlcoUklOR19IRUFEKFJFTkRFUl9SSU5HX0JBU0UpKTsKKworCXNwaW5fdW5sb2NrX2lycSgmZGV2 X3ByaXYtPnVuY29yZS5sb2NrKTsKKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cit9 CisKK3N0YXRpYyB2b2lkCitmbHVzaF93cml0ZV9kb21haW4oc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwgdW5zaWduZWQgaW50IGZsdXNoX2RvbWFpbnMpCit7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKKwlzdHJ1Y3Qg aTkxNV92bWEgKnZtYTsKKworCWlmICghKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBmbHVzaF9k b21haW5zKSkKKwkJcmV0dXJuOworCiAJc3dpdGNoIChvYmotPmJhc2Uud3JpdGVfZG9tYWluKSB7 CiAJY2FzZSBJOTE1X0dFTV9ET01BSU5fR1RUOgotCQlpZiAoIUhBU19MTEMoZGV2X3ByaXYpKSB7 Ci0JCQlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7Ci0JCQlzcGluX2xvY2tfaXJxKCZk ZXZfcHJpdi0+dW5jb3JlLmxvY2spOwotCQkJUE9TVElOR19SRUFEX0ZXKFJJTkdfSEVBRChkZXZf cHJpdi0+ZW5naW5lW1JDU10tPm1taW9fYmFzZSkpOwotCQkJc3Bpbl91bmxvY2tfaXJxKCZkZXZf cHJpdi0+dW5jb3JlLmxvY2spOwotCQkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwot CQl9CisJCWk5MTVfZ2VtX2ZsdXNoX2dndHRfd3JpdGVzKGRldl9wcml2KTsKIAogCQlpbnRlbF9m Yl9vYmpfZmx1c2gob2JqLAogCQkJCSAgIGZiX3dyaXRlX29yaWdpbihvYmosIEk5MTVfR0VNX0RP TUFJTl9HVFQpKTsKKworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3Qs IG9ial9saW5rKSB7CisJCQlpZiAoIWk5MTVfdm1hX2lzX2dndHQodm1hKSkKKwkJCQlicmVhazsK KworCQkJaTkxNV92bWFfdW5zZXRfZ2d0dF93cml0ZSh2bWEpOworCQl9CiAJCWJyZWFrOwogCiAJ Y2FzZSBJOTE1X0dFTV9ET01BSU5fQ1BVOgpAQCAtMTk2NSw2ICsxOTgyLDggQEAgaW50IGk5MTVf Z2VtX2ZhdWx0KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCQlsaXN0X2FkZCgmb2JqLT51c2VyZmF1 bHRfbGluaywgJmRldl9wcml2LT5tbS51c2VyZmF1bHRfbGlzdCk7CiAJR0VNX0JVR19PTighb2Jq LT51c2VyZmF1bHRfY291bnQpOwogCisJaTkxNV92bWFfc2V0X2dndHRfd3JpdGUodm1hKTsKKwog ZXJyX2ZlbmNlOgogCWk5MTVfdm1hX3VucGluX2ZlbmNlKHZtYSk7CiBlcnJfdW5waW46CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92bWEuYwppbmRleCBiZjZkOGQxZWFhYmUuLmMxMjA0YTAxY2IwOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3ZtYS5jCkBAIC0zMjIsNiArMzIyLDcgQEAgdm9pZCBfX2lvbWVtICppOTE1 X3ZtYV9waW5faW9tYXAoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAJaWYgKGVycikKIAkJZ290byBl cnJfdW5waW47CiAKKwlpOTE1X3ZtYV9zZXRfZ2d0dF93cml0ZSh2bWEpOwogCXJldHVybiBwdHI7 CiAKIGVycl91bnBpbjoKQEAgLTMzMCwxMiArMzMxLDI0IEBAIHZvaWQgX19pb21lbSAqaTkxNV92 bWFfcGluX2lvbWFwKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiBJT19FUlJfUFRSKGVy cik7CiB9CiAKK3ZvaWQgaTkxNV92bWFfZmx1c2hfd3JpdGVzKHN0cnVjdCBpOTE1X3ZtYSAqdm1h KQoreworCWlmICghaTkxNV92bWFfaGFzX2dndHRfd3JpdGUodm1hKSkKKwkJcmV0dXJuOworCisJ aTkxNV9nZW1fZmx1c2hfZ2d0dF93cml0ZXModm1hLT52bS0+aTkxNSk7CisKKwlpOTE1X3ZtYV91 bnNldF9nZ3R0X3dyaXRlKHZtYSk7Cit9CisKIHZvaWQgaTkxNV92bWFfdW5waW5faW9tYXAoc3Ry dWN0IGk5MTVfdm1hICp2bWEpCiB7CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmdm1hLT5vYmotPmJh c2UuZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiAJR0VNX0JVR19PTih2bWEtPmlvbWFwID09IE5VTEwp OwogCisJaTkxNV92bWFfZmx1c2hfd3JpdGVzKHZtYSk7CisKIAlpOTE1X3ZtYV91bnBpbl9mZW5j ZSh2bWEpOwogCWk5MTVfdm1hX3VucGluKHZtYSk7CiB9CkBAIC03OTAsNiArODAzLDE1IEBAIGlu dCBpOTE1X3ZtYV91bmJpbmQoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAJR0VNX0JVR19PTighaTkx NV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSk7CiAKIAlpZiAoaTkxNV92bWFfaXNf bWFwX2FuZF9mZW5jZWFibGUodm1hKSkgeworCQkvKgorCQkgKiBDaGVjayB0aGF0IHdlIGhhdmUg Zmx1c2hlZCBhbGwgd3JpdGVzIHRocm91Z2ggdGhlIEdHVFQKKwkJICogYmVmb3JlIHRoZSB1bmJp bmQsIG90aGVyIGR1ZSB0byBub24tc3RyaWN0IG5hdHVyZSBvZiB0aG9zZQorCQkgKiBpbmRpcmVj dCB3cml0ZXMgdGhleSBtYXkgZW5kIHVwIHJlZmVyZW5jaW5nIHRoZSBHR1RUIFBURQorCQkgKiBh ZnRlciB0aGUgdW5iaW5kLgorCQkgKi8KKwkJaTkxNV92bWFfZmx1c2hfd3JpdGVzKHZtYSk7CisJ CUdFTV9CVUdfT04oaTkxNV92bWFfaGFzX2dndHRfd3JpdGUodm1hKSk7CisKIAkJLyogcmVsZWFz ZSB0aGUgZmVuY2UgcmVnIF9hZnRlcl8gZmx1c2hpbmcgKi8KIAkJcmV0ID0gaTkxNV92bWFfcHV0 X2ZlbmNlKHZtYSk7CiAJCWlmIChyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZtYS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaAppbmRleCAxZTJi YzliM2MzYWMuLmY2MzYyNDNlYjhmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV92bWEuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oCkBAIC05MCw2 ICs5MCw3IEBAIHN0cnVjdCBpOTE1X3ZtYSB7CiAjZGVmaW5lIEk5MTVfVk1BX0NMT1NFRAkJQklU KDEwKQogI2RlZmluZSBJOTE1X1ZNQV9VU0VSRkFVTFRfQklUCTExCiAjZGVmaW5lIEk5MTVfVk1B X1VTRVJGQVVMVAlCSVQoSTkxNV9WTUFfVVNFUkZBVUxUX0JJVCkKKyNkZWZpbmUgSTkxNV9WTUFf R0dUVF9XUklURQlCSVQoMTIpCiAKIAl1bnNpZ25lZCBpbnQgYWN0aXZlOwogCXN0cnVjdCBpOTE1 X2dlbV9hY3RpdmUgbGFzdF9yZWFkW0k5MTVfTlVNX0VOR0lORVNdOwpAQCAtMTM4LDYgKzEzOSwy NCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV92bWFfaXNfZ2d0dChjb25zdCBzdHJ1Y3QgaTkx NV92bWEgKnZtYSkKIAlyZXR1cm4gdm1hLT5mbGFncyAmIEk5MTVfVk1BX0dHVFQ7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3ZtYV9oYXNfZ2d0dF93cml0ZShjb25zdCBzdHJ1Y3QgaTkx NV92bWEgKnZtYSkKK3sKKwlyZXR1cm4gdm1hLT5mbGFncyAmIEk5MTVfVk1BX0dHVFRfV1JJVEU7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3ZtYV9zZXRfZ2d0dF93cml0ZShzdHJ1Y3Qg aTkxNV92bWEgKnZtYSkKK3sKKwlHRU1fQlVHX09OKCFpOTE1X3ZtYV9pc19nZ3R0KHZtYSkpOwor CXZtYS0+ZmxhZ3MgfD0gSTkxNV9WTUFfR0dUVF9XUklURTsKK30KKworc3RhdGljIGlubGluZSB2 b2lkIGk5MTVfdm1hX3Vuc2V0X2dndHRfd3JpdGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCit7CisJ dm1hLT5mbGFncyAmPSB+STkxNV9WTUFfR0dUVF9XUklURTsKK30KKwordm9pZCBpOTE1X3ZtYV9m bHVzaF93cml0ZXMoc3RydWN0IGk5MTVfdm1hICp2bWEpOworCiBzdGF0aWMgaW5saW5lIGJvb2wg aTkxNV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUoY29uc3Qgc3RydWN0IGk5MTVfdm1hICp2bWEp CiB7CiAJcmV0dXJuIHZtYS0+ZmxhZ3MgJiBJOTE1X1ZNQV9DQU5fRkVOQ0U7Ci0tIAoyLjE1LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=