From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 1/3] drm/i915/userptr: Flush cancellations before mmu-notifier invalidate returns Date: Tue, 5 Apr 2016 16:27:08 +0100 Message-ID: <5703D94C.5040103@linux.intel.com> References: <1459703647-25795-1-git-send-email-chris@chris-wilson.co.uk> <1459864801-28606-1-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B9566E160 for ; Tue, 5 Apr 2016 15:27:10 +0000 (UTC) In-Reply-To: <1459864801-28606-1-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 Ck9uIDA1LzA0LzE2IDE0OjU5LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSW4gb3JkZXIgdG8gZW5z dXJlIHRoYXQgYWxsIGludmFsaWRhdGlvbnMgYXJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlCj4gb3Bl cmF0aW9uIHJldHVybnMgdG8gdXNlcnNwYWNlIChpLmUuIGJlZm9yZSB0aGUgbXVubWFwKCkgc3lz Y2FsbCByZXR1cm5zKQo+IHdlIG5lZWQgdG8gd2FpdCB1cG9uIHRoZSBvdXRzdGFuZGluZyBvcGVy YXRpb25zLgo+Cj4gV2UgYXJlIGFsbG93ZWQgdG8gYmxvY2sgaW5zaWRlIHRoZSBpbnZhbGlkYXRl X3JhbmdlX3N0YXJ0IGNhbGxiYWNrLCBhbmQKPiBhcyBzdHJ1Y3RfbXV0ZXggaXMgdGhlIGlubmVy IGxvY2sgd2l0aCBtbWFwX3NlbSB3ZSBjYW4gd2FpdCB1cG9uIHRoZQo+IHN0cnVjdF9tdXRleCB3 aXRob3V0IHByb3Zva2luZyBsb2NrZGVwIGludG8gd2FybmluZyBhYm91dCBhIGRlYWRsb2NrLgo+ IEhvd2V2ZXIsIHdlIGRvbid0IGFjdHVhbGx5IHdhbnQgdG8gd2FpdCB1cG9uIG91dHN0YW5kaW5n IHJlbmRlcmluZwo+IHdoaWxzdCBob2xkaW5nIHRoZSBzdHJ1Y3RfbXV0ZXggaWYgd2UgY2FuIGhl bHAgaXQgb3RoZXJ3aXNlIHdlIGFsc28KPiBibG9jayBvdGhlciBwcm9jZXNzZXMgZnJvbSBzdWJt aXR0aW5nIHdvcmsgdG8gdGhlIEdQVS4gU28gZmlyc3Qgd2UgZG8gYQo+IHdhaXQgd2l0aG91dCB0 aGUgbG9jayBhbmQgdGhlbiB3aGVuIHdlIHJlYWNxdWlyZSB0aGUgbG9jaywgd2UgZG91YmxlCj4g Y2hlY2sgdGhhdCBldmVyeXRoaW5nIGlzIHJlYWR5IGZvciByZW1vdmluZyB0aGUgaW52YWxpZGF0 ZWQgcGFnZXMuCj4KPiBGaW5hbGx5IHRvIHdhaXQgdXBvbiB0aGUgb3V0c3RhbmRpbmcgdW5waW5u aW5nIHRhc2tzLCB3ZSBjcmVhdGUgYQo+IHByaXZhdGUgd29ya3F1ZXVlIGFzIGEgbWVhbnMgdG8g Y29udmVuaWVudGx5IHdhaXQgdXBvbiBhbGwgYXQgb25jZS4gVGhlCj4gZHJhd2JhY2sgaXMgdGhh dCB0aGlzIHdvcmtxdWV1ZSBpcyBwZXItbW0sIHNvIGFueSB0aHJlYWRzIGNvbmN1cnJlbnRseQo+ IGludmFsaWRhdGluZyBvYmplY3RzIHdpbGwgd2FpdCB1cG9uIGVhY2ggb3RoZXIuIFRoZSBhZHZh bnRhZ2Ugb2YgdXNpbmcKPiB0aGUgd29ya3F1ZXVlIGlzIHRoYXQgd2UgY2FuIHdhaXQgaW4gcGFy YWxsZWwgZm9yIGNvbXBsZXRpb24gb2YKPiByZW5kZXJpbmcgYW5kIHVucGlubmluZyBvZiBzZXZl cmFsIG9iamVjdHMgKG9mIHBhcnRpY3VsYXIgaW1wb3J0YW5jZSBpZgo+IHRoZSBwcm9jZXNzIHRl cm1pbmF0ZXMgd2l0aCBhIHdob2xlIG1tIGZ1bGwgb2Ygb2JqZWN0cykuCj4KPiB2MjogQXBwbHkg YSBjdXAgb2YgdGVhIHRvIHRoZSBjaGFuZ2Vsb2cuCj4KPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdz LmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ2OTkKPiBUZXN0Y2FzZTogaWd0L2dl bV91c2VycHRyX2JsaXRzL3N5bmMtdW5tYXAtY3ljbGVzCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwu d2luaWFyc2tpQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3VzZXJwdHIuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAg MSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCkxvb2tzIE9L IHRvIG1lLgoKUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRl bC5jb20+CgpSZWdhcmRzLAoKVHZydGtvCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91 c2VycHRyLmMKPiBpbmRleCAyOTFhOTM5MzQ5M2QuLjkyYjM5MTg2YjA1YSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiBAQCAtNDksNiArNDksNyBAQCBzdHJ1 Y3QgaTkxNV9tbXVfbm90aWZpZXIgewo+ICAgCXN0cnVjdCBobGlzdF9ub2RlIG5vZGU7Cj4gICAJ c3RydWN0IG1tdV9ub3RpZmllciBtbjsKPiAgIAlzdHJ1Y3QgcmJfcm9vdCBvYmplY3RzOwo+ICsJ c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKndxOwo+ICAgfTsKPgo+ICAgc3RydWN0IGk5MTVfbW11 X29iamVjdCB7Cj4gQEAgLTYwLDYgKzYxLDQwIEBAIHN0cnVjdCBpOTE1X21tdV9vYmplY3Qgewo+ ICAgCWJvb2wgYXR0YWNoZWQ7Cj4gICB9Owo+Cj4gK3N0YXRpYyB2b2lkIHdhaXRfcmVuZGVyaW5n KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0c1tJOTE1X05VTV9FTkdJTkVTXTsKPiArCXVuc2lnbmVkIHJlc2V0X2NvdW50ZXI7 Cj4gKwlpbnQgaSwgbjsKPiArCj4gKwlpZiAoIW9iai0+YWN0aXZlKQo+ICsJCXJldHVybjsKPiAr Cj4gKwluID0gMDsKPiArCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9FTkdJTkVTOyBpKyspIHsK PiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKPiArCj4gKwkJcmVxID0gb2Jq LT5sYXN0X3JlYWRfcmVxW2ldOwo+ICsJCWlmIChyZXEgPT0gTlVMTCkKPiArCQkJY29udGludWU7 Cj4gKwo+ICsJCXJlcXVlc3RzW24rK10gPSBpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShyZXEp Owo+ICsJfQo+ICsKPiArCXJlc2V0X2NvdW50ZXIgPSBhdG9taWNfcmVhZCgmdG9faTkxNShkZXYp LT5ncHVfZXJyb3IucmVzZXRfY291bnRlcik7Cj4gKwltdXRleF91bmxvY2soJmRldi0+c3RydWN0 X211dGV4KTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQo+ICsJCV9faTkxNV93YWl0 X3JlcXVlc3QocmVxdWVzdHNbaV0sIHJlc2V0X2NvdW50ZXIsIGZhbHNlLAo+ICsJCQkJICAgIE5V TEwsIE5VTEwpOwo+ICsKPiArCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCj4g Kwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQo+ICsJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVu Y2UocmVxdWVzdHNbaV0pOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgY2FuY2VsX3VzZXJwdHIo c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAgewo+ICAgCXN0cnVjdCBpOTE1X21tdV9vYmpl Y3QgKm1vID0gY29udGFpbmVyX29mKHdvcmssIHR5cGVvZigqbW8pLCB3b3JrKTsKPiBAQCAtNzUs NiArMTEwLDggQEAgc3RhdGljIHZvaWQgY2FuY2VsX3VzZXJwdHIoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQo+ICAgCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgKnRtcDsKPiAgIAkJYm9vbCB3YXNf aW50ZXJydXB0aWJsZTsKPgo+ICsJCXdhaXRfcmVuZGVyaW5nKG9iaik7Cj4gKwo+ICAgCQl3YXNf aW50ZXJydXB0aWJsZSA9IGRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlOwo+ICAgCQlkZXZfcHJp di0+bW0uaW50ZXJydXB0aWJsZSA9IGZhbHNlOwo+Cj4gQEAgLTE0MCw3ICsxNzcsNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2dlbV91c2VycHRyX21uX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoc3RydWN0 IG1tdV9ub3RpZmllciAqX21uLAo+ICAgCQkgKi8KPiAgIAkJbW8gPSBjb250YWluZXJfb2YoaXQs IHN0cnVjdCBpOTE1X21tdV9vYmplY3QsIGl0KTsKPiAgIAkJaWYgKGtyZWZfZ2V0X3VubGVzc196 ZXJvKCZtby0+b2JqLT5iYXNlLnJlZmNvdW50KSkKPiAtCQkJc2NoZWR1bGVfd29yaygmbW8tPndv cmspOwo+ICsJCQlxdWV1ZV93b3JrKG1uLT53cSwgJm1vLT53b3JrKTsKPgo+ICAgCQlsaXN0X2Fk ZCgmbW8tPmxpbmssICZjYW5jZWxsZWQpOwo+ICAgCQlpdCA9IGludGVydmFsX3RyZWVfaXRlcl9u ZXh0KGl0LCBzdGFydCwgZW5kKTsKPiBAQCAtMTQ4LDYgKzE4NSw4IEBAIHN0YXRpYyB2b2lkIGk5 MTVfZ2VtX3VzZXJwdHJfbW5faW52YWxpZGF0ZV9yYW5nZV9zdGFydChzdHJ1Y3QgbW11X25vdGlm aWVyICpfbW4sCj4gICAJbGlzdF9mb3JfZWFjaF9lbnRyeShtbywgJmNhbmNlbGxlZCwgbGluaykK PiAgIAkJZGVsX29iamVjdChtbyk7Cj4gICAJc3Bpbl91bmxvY2soJm1uLT5sb2NrKTsKPiArCj4g KwlmbHVzaF93b3JrcXVldWUobW4tPndxKTsKPiAgIH0KPgo+ICAgc3RhdGljIGNvbnN0IHN0cnVj dCBtbXVfbm90aWZpZXJfb3BzIGk5MTVfZ2VtX3VzZXJwdHJfbm90aWZpZXIgPSB7Cj4gQEAgLTE2 NywxMCArMjA2LDE2IEBAIGk5MTVfbW11X25vdGlmaWVyX2NyZWF0ZShzdHJ1Y3QgbW1fc3RydWN0 ICptbSkKPiAgIAlzcGluX2xvY2tfaW5pdCgmbW4tPmxvY2spOwo+ICAgCW1uLT5tbi5vcHMgPSAm aTkxNV9nZW1fdXNlcnB0cl9ub3RpZmllcjsKPiAgIAltbi0+b2JqZWN0cyA9IFJCX1JPT1Q7Cj4g Kwltbi0+d3EgPSBhbGxvY193b3JrcXVldWUoImk5MTUtdXNlcnB0ci1yZWxlYXNlIiwgV1FfVU5C T1VORCwgMCk7Cj4gKwlpZiAobW4tPndxID09IE5VTEwpIHsKPiArCQlrZnJlZShtbik7Cj4gKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwl9Cj4KPiAgIAkgLyogUHJvdGVjdGVkIGJ5IG1t YXBfc2VtICh3cml0ZS1sb2NrKSAqLwo+ICAgCXJldCA9IF9fbW11X25vdGlmaWVyX3JlZ2lzdGVy KCZtbi0+bW4sIG1tKTsKPiAgIAlpZiAocmV0KSB7Cj4gKwkJZGVzdHJveV93b3JrcXVldWUobW4t PndxKTsKPiAgIAkJa2ZyZWUobW4pOwo+ICAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICAgCX0K PiBAQCAtMjU2LDYgKzMwMSw3IEBAIGk5MTVfbW11X25vdGlmaWVyX2ZyZWUoc3RydWN0IGk5MTVf bW11X25vdGlmaWVyICptbiwKPiAgIAkJcmV0dXJuOwo+Cj4gICAJbW11X25vdGlmaWVyX3VucmVn aXN0ZXIoJm1uLT5tbiwgbW0pOwo+ICsJZGVzdHJveV93b3JrcXVldWUobW4tPndxKTsKPiAgIAlr ZnJlZShtbik7Cj4gICB9Cj4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK