From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 1/3] drm/i915/userptr: Flush cancellations before mmu-notifier invalidate returns Date: Tue, 5 Apr 2016 13:05:05 +0100 Message-ID: <5703A9F1.80805@linux.intel.com> References: <1459703647-25795-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 46A6B6E231 for ; Tue, 5 Apr 2016 12:05:21 +0000 (UTC) In-Reply-To: <1459703647-25795-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 Ck9uIDAzLzA0LzE2IDE4OjE0LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSW4gb3JkZXIgdG8gZW5z dXJlIHRoYXQgYWxsIGludmFsaWRhdGlvbnMgYXJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlCj4gb3Bl cmF0aW9uIHJldHVybnMgdG8gdXNlcnNwYWNlIChpLmUuIGJlZm9yZSB0aGUgbW1hcCgpIHN5c2Nh bGwgcmV0dXJucykKPiB3ZSBuZWVkIHRvIGZsdXNoIHRoZSBvdXRzdGFuZGluZyBvcGVyYXRpb25z LiBUbyB0aGlzIGVuZCwgd2Ugc3VibWl0IGFsbAo+IHRoZSBwZXItb2JqZWN0IGludmFsaWRhdGlv biB3b3JrIHRvIGEgcHJpdmF0ZSB3b3JrcXVldWUgYW5kIHRoZW4gZmx1c2gKPiB0aGUgd29ya3F1 ZXVlIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLiBXZSBhcmUgYWxsb3dlZCB0byBibG9jayBp bnNpZGUKPiBpbnZhbGlkYXRlX3JhbmdlX3N0YXJ0LCBhbmQgc3RydWN0X211dGV4IGlzIHRoZSBp bm5lciBsb2NrIHNvIHRoZSB3b3JrZXIKPiBpcyBub3QgaGlkaW5nIGFueSBsb2NrIGludmVyc2lv bnMuIFRoZSBhZHZhbnRhZ2Ugb2YgdXNpbmcgdGhlIHdvcmtxdWV1ZQo+IG92ZXIgZGlyZWN0IGNh bGxpbmcgb2YgY2FuY2VsX3VzZXJwdHIoKSBpcyB0aGF0IGl0IGFsbG93cyB1cyB0bwo+IHBhcmFs bGVsaXNlIHRoZSBwb3RlbnRpYWwgd2FpdHMgYW5kIHVucGlubmluZyBvZiBsYXJnZSBvYmplY3Rz LgoKVGhlcmUgd2FzIG5vIGRpcmVjdCBjYWxsaW5nLCBidXQgcnVubmluZyBpdCBmcm9tIGEgc2hh cmVkIHdxIHdoaWNoIGlzIApub3cgcHJpdmF0ZSwgcGVyIHRhc2stPm1tLgoKQnV0IGl0IHNvdW5k cyBzbyBvYnZpb3VzIG5vdyB0aGF0IHRoZSBtbXUgbm90aWZpZXIgbmVlZHMgdG8gd2FpdCBmb3Ig CmNhbmNlbF91c2VycHRyIHdvcmtlcnMgdG8gY29tcGxldGUgdGhhdCBJIHdvbmRlciBob3cgd2Ug bWlzc2VkIHRoYXQgCnVudGlsIG5vdy4KCkkgd291bGQgYWxzbyBzcGVsbCBvdXQgdGhlIHR3byBu ZXcgYml0cyBleHBsaWNpdGx5IGluIHRoZSBjb21taXQ6IAp3YWl0aW5nIGZvciB3b3JrZXJzIGFu ZCB3YWl0aW5nIG9uIHJlbmRlcmluZy4KCldpdGggc29tZSBtb3JlIGRlc2NyaXB0aW9uIGZvciB0 aGUgbGF0dGVyIC0gd2h5IGl0IGlzIG5lZWRlZD8gCmk5MTVfdm1hX3VuYmluZCB3b3VsZCBiZSBk b2luZyBhIGZsYXZvdXIgb2Ygd2FpdGluZyBhbHJlYWR5LgoKT3RoZXJ3aXNlIEkgZGlkIG5vdCBm aW5kIGFueSBpc3N1ZXMgd2l0aCB0aGUgY29kZSBpdHNlbGYsIGp1c3QgdGhlc2UgCmhpZ2ggbGV2 ZWwgcXVlc3Rpb25zLgoKUmVnYXJkcywKClR2cnRrbwoKPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdz LmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ2OTkKPiBUZXN0Y2FzZTogaWd0L2dl bV91c2VycHRyX2JsaXRzL3N5bmMtdW5tYXAtY3ljbGVzCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwu d2luaWFyc2tpQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3VzZXJwdHIuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAg MSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiBpbmRleCAyOTFhOTM5MzQ5M2QuLjky YjM5MTg2YjA1YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91 c2VycHRyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMK PiBAQCAtNDksNiArNDksNyBAQCBzdHJ1Y3QgaTkxNV9tbXVfbm90aWZpZXIgewo+ICAgCXN0cnVj dCBobGlzdF9ub2RlIG5vZGU7Cj4gICAJc3RydWN0IG1tdV9ub3RpZmllciBtbjsKPiAgIAlzdHJ1 Y3QgcmJfcm9vdCBvYmplY3RzOwo+ICsJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKndxOwo+ICAg fTsKPgo+ICAgc3RydWN0IGk5MTVfbW11X29iamVjdCB7Cj4gQEAgLTYwLDYgKzYxLDQwIEBAIHN0 cnVjdCBpOTE1X21tdV9vYmplY3Qgewo+ICAgCWJvb2wgYXR0YWNoZWQ7Cj4gICB9Owo+Cj4gK3N0 YXRpYyB2b2lkIHdhaXRfcmVuZGVyaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop Cj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2Owo+ICsJc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0c1tJOTE1X05VTV9FTkdJTkVTXTsKPiAr CXVuc2lnbmVkIHJlc2V0X2NvdW50ZXI7Cj4gKwlpbnQgaSwgbjsKPiArCj4gKwlpZiAoIW9iai0+ YWN0aXZlKQo+ICsJCXJldHVybjsKPiArCj4gKwluID0gMDsKPiArCWZvciAoaSA9IDA7IGkgPCBJ OTE1X05VTV9FTkdJTkVTOyBpKyspIHsKPiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcTsKPiArCj4gKwkJcmVxID0gb2JqLT5sYXN0X3JlYWRfcmVxW2ldOwo+ICsJCWlmIChyZXEg PT0gTlVMTCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCXJlcXVlc3RzW24rK10gPSBpOTE1X2dl bV9yZXF1ZXN0X3JlZmVyZW5jZShyZXEpOwo+ICsJfQo+ICsKPiArCXJlc2V0X2NvdW50ZXIgPSBh dG9taWNfcmVhZCgmdG9faTkxNShkZXYpLT5ncHVfZXJyb3IucmVzZXRfY291bnRlcik7Cj4gKwlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg bjsgaSsrKQo+ICsJCV9faTkxNV93YWl0X3JlcXVlc3QocmVxdWVzdHNbaV0sIHJlc2V0X2NvdW50 ZXIsIGZhbHNlLAo+ICsJCQkJICAgIE5VTEwsIE5VTEwpOwo+ICsKPiArCW11dGV4X2xvY2soJmRl di0+c3RydWN0X211dGV4KTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQo+ICsJCWk5 MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVxdWVzdHNbaV0pOwo+ICt9Cj4gKwo+ICAgc3Rh dGljIHZvaWQgY2FuY2VsX3VzZXJwdHIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAgewo+ ICAgCXN0cnVjdCBpOTE1X21tdV9vYmplY3QgKm1vID0gY29udGFpbmVyX29mKHdvcmssIHR5cGVv ZigqbW8pLCB3b3JrKTsKPiBAQCAtNzUsNiArMTEwLDggQEAgc3RhdGljIHZvaWQgY2FuY2VsX3Vz ZXJwdHIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAgCQlzdHJ1Y3QgaTkxNV92bWEgKnZt YSwgKnRtcDsKPiAgIAkJYm9vbCB3YXNfaW50ZXJydXB0aWJsZTsKPgo+ICsJCXdhaXRfcmVuZGVy aW5nKG9iaik7Cj4gKwo+ICAgCQl3YXNfaW50ZXJydXB0aWJsZSA9IGRldl9wcml2LT5tbS5pbnRl cnJ1cHRpYmxlOwo+ICAgCQlkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSA9IGZhbHNlOwo+Cj4g QEAgLTE0MCw3ICsxNzcsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV91c2VycHRyX21uX2ludmFs aWRhdGVfcmFuZ2Vfc3RhcnQoc3RydWN0IG1tdV9ub3RpZmllciAqX21uLAo+ICAgCQkgKi8KPiAg IAkJbW8gPSBjb250YWluZXJfb2YoaXQsIHN0cnVjdCBpOTE1X21tdV9vYmplY3QsIGl0KTsKPiAg IAkJaWYgKGtyZWZfZ2V0X3VubGVzc196ZXJvKCZtby0+b2JqLT5iYXNlLnJlZmNvdW50KSkKPiAt CQkJc2NoZWR1bGVfd29yaygmbW8tPndvcmspOwo+ICsJCQlxdWV1ZV93b3JrKG1uLT53cSwgJm1v LT53b3JrKTsKPgo+ICAgCQlsaXN0X2FkZCgmbW8tPmxpbmssICZjYW5jZWxsZWQpOwo+ICAgCQlp dCA9IGludGVydmFsX3RyZWVfaXRlcl9uZXh0KGl0LCBzdGFydCwgZW5kKTsKPiBAQCAtMTQ4LDYg KzE4NSw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3VzZXJwdHJfbW5faW52YWxpZGF0ZV9yYW5n ZV9zdGFydChzdHJ1Y3QgbW11X25vdGlmaWVyICpfbW4sCj4gICAJbGlzdF9mb3JfZWFjaF9lbnRy eShtbywgJmNhbmNlbGxlZCwgbGluaykKPiAgIAkJZGVsX29iamVjdChtbyk7Cj4gICAJc3Bpbl91 bmxvY2soJm1uLT5sb2NrKTsKPiArCj4gKwlmbHVzaF93b3JrcXVldWUobW4tPndxKTsKPiAgIH0K Pgo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBtbXVfbm90aWZpZXJfb3BzIGk5MTVfZ2VtX3VzZXJw dHJfbm90aWZpZXIgPSB7Cj4gQEAgLTE2NywxMCArMjA2LDE2IEBAIGk5MTVfbW11X25vdGlmaWVy X2NyZWF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiAgIAlzcGluX2xvY2tfaW5pdCgmbW4tPmxv Y2spOwo+ICAgCW1uLT5tbi5vcHMgPSAmaTkxNV9nZW1fdXNlcnB0cl9ub3RpZmllcjsKPiAgIAlt bi0+b2JqZWN0cyA9IFJCX1JPT1Q7Cj4gKwltbi0+d3EgPSBhbGxvY193b3JrcXVldWUoImk5MTUt dXNlcnB0ci1yZWxlYXNlIiwgV1FfVU5CT1VORCwgMCk7Cj4gKwlpZiAobW4tPndxID09IE5VTEwp IHsKPiArCQlrZnJlZShtbik7Cj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwl9Cj4K PiAgIAkgLyogUHJvdGVjdGVkIGJ5IG1tYXBfc2VtICh3cml0ZS1sb2NrKSAqLwo+ICAgCXJldCA9 IF9fbW11X25vdGlmaWVyX3JlZ2lzdGVyKCZtbi0+bW4sIG1tKTsKPiAgIAlpZiAocmV0KSB7Cj4g KwkJZGVzdHJveV93b3JrcXVldWUobW4tPndxKTsKPiAgIAkJa2ZyZWUobW4pOwo+ICAgCQlyZXR1 cm4gRVJSX1BUUihyZXQpOwo+ICAgCX0KPiBAQCAtMjU2LDYgKzMwMSw3IEBAIGk5MTVfbW11X25v dGlmaWVyX2ZyZWUoc3RydWN0IGk5MTVfbW11X25vdGlmaWVyICptbiwKPiAgIAkJcmV0dXJuOwo+ Cj4gICAJbW11X25vdGlmaWVyX3VucmVnaXN0ZXIoJm1uLT5tbiwgbW0pOwo+ICsJZGVzdHJveV93 b3JrcXVldWUobW4tPndxKTsKPiAgIAlrZnJlZShtbik7Cj4gICB9Cj4KPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK