From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 47/64] drm/i915: Be more careful when unbinding vma Date: Tue, 12 Jul 2016 16:04:57 +0100 Message-ID: <57850719.3040104@linux.intel.com> References: <1467880930-23082-1-git-send-email-chris@chris-wilson.co.uk> <1467880930-23082-47-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id BC8DC6E599 for ; Tue, 12 Jul 2016 15:05:45 +0000 (UTC) In-Reply-To: <1467880930-23082-47-git-send-email-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: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA3LzA3LzE2IDA5OjQxLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gV2hlbiB3ZSBjYWxsIGk5 MTVfdm1hX3VuYmluZCgpLCB3ZSB3aWxsIHdhaXQgdXBvbiBvdXRzdGFuZGluZyByZW5kZXJpbmcu Cj4gVGhpcyB3aWxsIGFsc28gdHJpZ2dlciBhIHJldGlyZW1lbnQgcGhhc2UsIHdoaWNoIG1heSB1 cGRhdGUgdGhlIG9iamVjdAo+IGxpc3RzLiBJZiwgd2UgZXh0ZW5kIHJlcXVlc3QgdHJhY2tpbmcg dG8gdGhlIFZNQSBpdHNlbGYgKHJhdGhlciB0aGFuCj4ga2VlcCBpdCBhdCB0aGUgZW5jb21wYXNz aW5nIG9iamVjdCksIHRoZW4gdGhlcmUgaXMgYSBwb3RlbnRpYWwgdGhhdCB0aGUKPiBvYmotPnZt YV9saXN0IGJlIG1vZGlmaWVkIGZvciBvdGhlciBlbGVtZW50cyB1cG9uIGk5MTVfdm1hX3VuYmlu ZCgpLiBBcwo+IGEgcmVzdWx0LCBpZiB3ZSB3YWxrIG92ZXIgdGhlIG9iamVjdCBsaXN0IGFuZCBj YWxsIGk5MTVfdm1hX3VuYmluZCgpLCB3ZQo+IG5lZWQgdG8gYmUgcHJlcGFyZWQgZm9yIHRoYXQg bGlzdCB0byBjaGFuZ2UuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgfCAgMiArKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAg ICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jIHwgIDcgKy0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jICB8ICA0ICstLQo+ICAgNCBmaWxlcyBjaGFu Z2VkLCA0NiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+IGluZGV4IDYzMzU4NTA1NDY2OS4uMjdlMTE4MjU0NGEyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gQEAgLTMwMzIsNiArMzAzMiw4IEBAIGludCBfX211c3RfY2hlY2sg aTkxNV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKPiAgICAqIF9ndWFyYW50ZWVf IFZNQSBpbiBxdWVzdGlvbiBpcyBfbm90IGluIHVzZV8gYW55d2hlcmUuCj4gICAgKi8KPiAgIGlu dCBfX211c3RfY2hlY2sgX19pOTE1X3ZtYV91bmJpbmRfbm9fd2FpdChzdHJ1Y3QgaTkxNV92bWEg KnZtYSk7Cj4gKwo+ICtpbnQgaTkxNV9nZW1fb2JqZWN0X3VuYmluZChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKTsKPiAgIGludCBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwo+ICAgdm9pZCBpOTE1X2dlbV9yZWxlYXNlX2Fs bF9tbWFwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgdm9pZCBpOTE1 X2dlbV9yZWxlYXNlX21tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggYzY4MTZmOTk2OWQ1Li4yOGEzMDc5YTc4OTIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMjgzLDE4ICsyODMsMzggQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9waHlzX29wcyA9 IHsKPiAgIAkucmVsZWFzZSA9IGk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3BoeXMsCj4gICB9Owo+ Cj4gK2ludAo+ICtpOTE1X2dlbV9vYmplY3RfdW5iaW5kKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCj4gK3sKPiArCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICsJTElTVF9IRUFEKHN0 aWxsX2luX2xpc3QpOwo+ICsJaW50IHJldDsKPiArCj4gKwkvKiBUaGUgdm1hIHdpbGwgb25seSBi ZSBmcmVlZCBpZiBpdCBpcyBtYXJrZWQgYXMgY2xvc2VkLCBhbmQgaWYgd2Ugd2FpdAo+ICsJICog dXBvbiByZW5kZXJpbmcgdG8gdGhlIHZtYSwgd2UgbWF5IHVuYmluZCBhbnl0aGluZyBpbiB0aGUg bGlzdC4KPiArCSAqLwo+ICsJd2hpbGUgKCh2bWEgPSBsaXN0X2ZpcnN0X2VudHJ5X29yX251bGwo Jm9iai0+dm1hX2xpc3QsCj4gKwkJCQkJICAgICAgIHN0cnVjdCBpOTE1X3ZtYSwKPiArCQkJCQkg ICAgICAgb2JqX2xpbmspKSkgewo+ICsJCWxpc3RfbW92ZV90YWlsKCZ2bWEtPm9ial9saW5rLCAm c3RpbGxfaW5fbGlzdCk7Cj4gKwkJcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7Cj4gKwkJaWYg KHJldCkKPiArCQkJYnJlYWs7Cj4gKwl9Cj4gKwlsaXN0X3NwbGljZSgmc3RpbGxfaW5fbGlzdCwg Jm9iai0+dm1hX2xpc3QpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gICBzdGF0aWMg aW50Cj4gICBkcm9wX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7 Cj4gLQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgKm5leHQ7Cj4gICAJaW50IHJldDsKPgo+ICAgCWk5 MTVfZ2VtX29iamVjdF9nZXQob2JqKTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEs IG5leHQsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykKPiAtCQlpZiAoaTkxNV92bWFfdW5iaW5k KHZtYSkpCj4gLQkJCWJyZWFrOwo+IC0KPiAtCXJldCA9IGk5MTVfZ2VtX29iamVjdF9wdXRfcGFn ZXMob2JqKTsKPiArCXJldCA9IGk5MTVfZ2VtX29iamVjdF91bmJpbmQob2JqKTsKPiArCWlmIChy ZXQgPT0gMCkKPiArCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaik7Cj4gICAJ aTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+Cj4gICAJcmV0dXJuIHJldDsKPiBAQCAtMzQ0Miw4 ICszNDYyLDcgQEAgaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUpCj4gICBpbnQgaTkxNV9nZW1fb2JqZWN0 X3NldF9jYWNoZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJ CSAgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwpCj4gICB7Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gb2JqLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBpOTE1X3ZtYSAqdm1h LCAqbmV4dDsKPiArCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCWludCByZXQgPSAwOwo+Cj4g ICAJaWYgKG9iai0+Y2FjaGVfbGV2ZWwgPT0gY2FjaGVfbGV2ZWwpCj4gQEAgLTM0NTQsNyArMzQ3 Myw4IEBAIGludCBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCj4gICAJICogY2F0Y2ggdGhlIGlzc3VlIG9mIHRoZSBDUyBwcmVm ZXRjaCBjcm9zc2luZyBwYWdlIGJvdW5kYXJpZXMgYW5kCj4gICAJICogcmVhZGluZyBhbiBpbnZh bGlkIFBURSBvbiBvbGRlciBhcmNoaXRlY3R1cmVzLgo+ICAgCSAqLwo+IC0JbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gK3Jl c3RhcnQ6Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9s aW5rKSB7Cj4gICAJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+ICAg CQkJY29udGludWU7Cj4KPiBAQCAtMzQ2MywxMSArMzQ4MywxOCBAQCBpbnQgaTkxNV9nZW1fb2Jq ZWN0X3NldF9jYWNoZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAg CQkJcmV0dXJuIC1FQlVTWTsKPiAgIAkJfQo+Cj4gLQkJaWYgKCFpOTE1X2dlbV92YWxpZF9ndHRf c3BhY2Uodm1hLCBjYWNoZV9sZXZlbCkpIHsKPiAtCQkJcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZt YSk7Cj4gLQkJCWlmIChyZXQpCj4gLQkJCQlyZXR1cm4gcmV0Owo+IC0JCX0KPiArCQlpZiAoaTkx NV9nZW1fdmFsaWRfZ3R0X3NwYWNlKHZtYSwgY2FjaGVfbGV2ZWwpKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJ cmV0dXJuIHJldDsKPiArCj4gKwkJLyogQXMgdW5iaW5kaW5nIG1heSBhZmZlY3Qgb3RoZXIgZWxl bWVudHMgaW4gdGhlCj4gKwkJICogb2JqLT52bWFfbGlzdCAoZHVlIHRvIHNpZGUtZWZmZWN0cyBm cm9tIHJldGlyaW5nCj4gKwkJICogYW4gYWN0aXZlIHZtYSksIHBsYXkgc2FmZSBhbmQgcmVzdGFy dCB0aGUgaXRlcmF0b3IuCj4gKwkJICovCj4gKwkJZ290byByZXN0YXJ0Owo+ICAgCX0KCkRvZXMg bm90IGxvb2sgZWZmaWNpZW50IGZvciBsb25nIGxpc3RzIGJ1dCBJIGRvbid0IHNlZSBhIHNvbHV0 aW9uIHJpZ2h0IApub3cuIEFueSBjaGFuY2Ugb2YgdGhpcyBPKE5eMikgaXRlcmF0aW9uIGh1cnRp bmcgdXMgaW4gdGhlIHJlYWwgd29ybGQ/Cgo+Cj4gICAJLyogV2UgY2FuIHJldXNlIHRoZSBleGlz dGluZyBkcm1fbW0gbm9kZXMgYnV0IG5lZWQgdG8gY2hhbmdlIHRoZQo+IEBAIC0zNDg2LDcgKzM1 MTMsNyBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIHJldDsKPgo+ IC0JCWlmICghSEFTX0xMQyhkZXYpICYmIGNhY2hlX2xldmVsICE9IEk5MTVfQ0FDSEVfTk9ORSkg ewo+ICsJCWlmICghSEFTX0xMQyhvYmotPmJhc2UuZGV2KSAmJiBjYWNoZV9sZXZlbCAhPSBJOTE1 X0NBQ0hFX05PTkUpIHsKPiAgIAkJCS8qIEFjY2VzcyB0byBzbm9vcGFibGUgcGFnZXMgdGhyb3Vn aCB0aGUgR1RUIGlzCj4gICAJCQkgKiBpbmNvaGVyZW50IGFuZCBvbiBzb21lIG1hY2hpbmVzIGNh dXNlcyBhIGhhcmQKPiAgIAkJCSAqIGxvY2t1cC4gUmVsaW5xdWlzaCB0aGUgQ1BVIG1tYXBpbmcg dG8gZm9yY2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hy aW5rZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBpbmRl eCA3MjVhOGM4OTQ1MTcuLjhhZDk1Njk1ZjgwYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fc2hyaW5rZXIuYwo+IEBAIC0xNTUsNyArMTU1LDYgQEAgaTkxNV9nZW1fc2hyaW5r KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAkJSU5JVF9MSVNUX0hFQUQo JnN0aWxsX2luX2xpc3QpOwo+ICAgCQl3aGlsZSAoY291bnQgPCB0YXJnZXQgJiYgIWxpc3RfZW1w dHkocGhhc2UtPmxpc3QpKSB7Cj4gICAJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq Owo+IC0JCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgKnY7Cj4KPiAgIAkJCW9iaiA9IGxpc3RfZmly c3RfZW50cnkocGhhc2UtPmxpc3QsCj4gICAJCQkJCSAgICAgICB0eXBlb2YoKm9iaiksIGdsb2Jh bF9saXN0KTsKPiBAQCAtMTc4LDExICsxNzcsNyBAQCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgCQkJaTkxNV9nZW1fb2JqZWN0X2dldChvYmop Owo+Cj4gICAJCQkvKiBGb3IgdGhlIHVuYm91bmQgcGhhc2UsIHRoaXMgc2hvdWxkIGJlIGEgbm8t b3AhICovCj4gLQkJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIHYsCj4gLQkJCQkJCSAm b2JqLT52bWFfbGlzdCwgb2JqX2xpbmspCj4gLQkJCQlpZiAoaTkxNV92bWFfdW5iaW5kKHZtYSkp Cj4gLQkJCQkJYnJlYWs7Cj4gLQo+ICsJCQlpOTE1X2dlbV9vYmplY3RfdW5iaW5kKG9iaik7Cj4g ICAJCQlpZiAoaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmopID09IDApCj4gICAJCQkJY291 bnQgKz0gb2JqLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV91c2VycHRyLmMKPiBpbmRleCBjYThiODJhYjkzZDYuLmU5MzViMzI3ZjNmOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiBAQCAtMTA0LDcg KzEwNCw2IEBAIHN0YXRpYyB2b2lkIGNhbmNlbF91c2VycHRyKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKPgo+ICAgCWlmIChvYmotPnBhZ2VzICE9IE5VTEwpIHsKPiAgIAkJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0JCXN0cnVjdCBpOTE1X3Zt YSAqdm1hLCAqdG1wOwo+ICAgCQlib29sIHdhc19pbnRlcnJ1cHRpYmxlOwo+Cj4gICAJCXdhaXRf cmVuZGVyaW5nKG9iaik7Cj4gQEAgLTExMiw4ICsxMTEsNyBAQCBzdGF0aWMgdm9pZCBjYW5jZWxf dXNlcnB0cihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAJCXdhc19pbnRlcnJ1cHRpYmxl ID0gZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGU7Cj4gICAJCWRldl9wcml2LT5tbS5pbnRlcnJ1 cHRpYmxlID0gZmFsc2U7Cj4KPiAtCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB0bXAs ICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykKPiAtCQkJV0FSTl9PTihpOTE1X3ZtYV91bmJpbmQo dm1hKSk7Cj4gKwkJV0FSTl9PTihpOTE1X2dlbV9vYmplY3RfdW5iaW5kKG9iaikpOwo+ICAgCQlX QVJOX09OKGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqKSk7Cj4KPiAgIAkJZGV2X3ByaXYt Pm1tLmludGVycnVwdGlibGUgPSB3YXNfaW50ZXJydXB0aWJsZTsKPgoKUmVnYXJkcywKClR2cnRr bwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK