From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kuehling, Felix" Subject: Re: [PATCH 2/3] drm/amdgpu: support userptr cross VMAs case with HMM Date: Wed, 6 Mar 2019 20:11:41 +0000 Message-ID: References: <20190305180915.15216-1-Philip.Yang@amd.com> <20190305180915.15216-3-Philip.Yang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190305180915.15216-3-Philip.Yang-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US Content-ID: <2C8057A95AA0204AB372B8FBD099500B-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Yang, Philip" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" U29tZSBjb21tZW50cyBpbmxpbmUgLi4uDQoNCk9uIDMvNS8yMDE5IDE6MDkgUE0sIFlhbmcsIFBo aWxpcCB3cm90ZToNCj4gdXNlcnB0ciBtYXkgY3Jvc3MgdHdvIFZNQXMgaWYgdGhlIGZvcmtlZCBj aGlsZCBwcm9jZXNzIChub3QgY2FsbCBleGVjDQo+IGFmdGVyIGZvcmspIG1hbGxvYyBidWZmZXIs IHRoZW4gZnJlZSBpdCwgYW5kIHRoZW4gbWFsbG9jIGxhcmdlciBzaXplDQo+IGJ1Ziwga2VyZW5s IHdpbGwgY3JlYXRlIG5ldyBWTUEgYWRqYWNlbnQgdG8gb2xkIFZNQSB3aGljaCB3YXMgY2xvbmVk DQo+IGZyb20gcGFyZW50IHByb2Nlc3MsIHNvbWUgcGFnZXMgb2YgdXNlcnB0ciBhcmUgaW4gdGhl IGZpcnN0IFZNQSwgdGhlDQo+IHJlc3QgcGFnZXMgYXJlIGluIHRoZSBzZWNvbmQgVk1BLg0KPg0K PiBITU0gZXhwZWN0cyByYW5nZSBvbmx5IGhhdmUgb25lIFZNQSwgbG9vcCBvdmVyIGFsbCBWTUFz IGluIHRoZSBhZGRyZXNzDQo+IHJhbmdlLCBjcmVhdGUgbXVsdGlwbGUgcmFuZ2VzIHRvIGhhbmRs ZSB0aGlzIGNhc2UuIFNlZQ0KPiBpc19tZXJnZWFibGVfYW5vbl92bWEgaW4gbW0vbW1hcC5jIGZv ciBkZXRhaWxzLg0KPg0KPiBDaGFuZ2UtSWQ6IEkwY2E4Yzc3ZTI4ZGVhYmNjYzEzOTkwNmY5ZmZl ZTA0YjdlMzgzMzE0DQo+IFNpZ25lZC1vZmYtYnk6IFBoaWxpcCBZYW5nIDxQaGlsaXAuWWFuZ0Bh bWQuY29tPg0KPiAtLS0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRt LmMgfCAxMjIgKysrKysrKysrKysrKysrKystLS0tLS0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDg3 IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jDQo+IGluZGV4IGNkMGNjZmJiY2I4NC4uMTczYmY0ZGI1OTk0IDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMNCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jDQo+IEBAIC03MTEs NyArNzExLDggQEAgc3RydWN0IGFtZGdwdV90dG1fdHQgew0KPiAgIAlzdHJ1Y3QgdGFza19zdHJ1 Y3QJKnVzZXJ0YXNrOw0KPiAgIAl1aW50MzJfdAkJdXNlcmZsYWdzOw0KPiAgICNpZiBJU19FTkFC TEVEKENPTkZJR19EUk1fQU1ER1BVX1VTRVJQVFIpDQo+IC0Jc3RydWN0IGhtbV9yYW5nZQlyYW5n ZTsNCj4gKwlzdHJ1Y3QgaG1tX3JhbmdlCSpyYW5nZXM7DQo+ICsJaW50CQkJbnJfcmFuZ2VzOw0K PiAgICNlbmRpZg0KPiAgIH07DQo+ICAgDQo+IEBAIC03MjMsNjIgKzcyNCwxMDQgQEAgc3RydWN0 IGFtZGdwdV90dG1fdHQgew0KPiAgICAqIG9uY2UgYWZ0ZXJ3YXJkcyB0byBzdG9wIEhNTSB0cmFj a2luZw0KPiAgICAqLw0KPiAgICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fQU1ER1BVX1VTRVJQ VFIpDQo+ICsNCj4gKy8qIFN1cHBvcnQgVXNlcnB0ciBwYWdlcyBjcm9zcyBtYXggMTYgdm1hcyAq Lw0KPiArI2RlZmluZSBNQVhfTlJfVk1BUwkoMTYpDQo+ICsNCj4gICBpbnQgYW1kZ3B1X3R0bV90 dF9nZXRfdXNlcl9wYWdlcyhzdHJ1Y3QgdHRtX3R0ICp0dG0sIHN0cnVjdCBwYWdlICoqcGFnZXMp DQo+ICAgew0KPiAgIAlzdHJ1Y3QgYW1kZ3B1X3R0bV90dCAqZ3R0ID0gKHZvaWQgKil0dG07DQo+ ICAgCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gZ3R0LT51c2VydGFzay0+bW07DQo+IC0JdW5zaWdu ZWQgbG9uZyBlbmQgPSBndHQtPnVzZXJwdHIgKyB0dG0tPm51bV9wYWdlcyAqIFBBR0VfU0laRTsN Cj4gLQlzdHJ1Y3QgaG1tX3JhbmdlICpyYW5nZSA9ICZndHQtPnJhbmdlOw0KPiAtCWludCByID0g MCwgaTsNCj4gKwl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gZ3R0LT51c2VycHRyOw0KPiArCXVuc2ln bmVkIGxvbmcgZW5kID0gc3RhcnQgKyB0dG0tPm51bV9wYWdlcyAqIFBBR0VfU0laRTsNCj4gKwlz dHJ1Y3QgaG1tX3JhbmdlICpyYW5nZXM7DQo+ICsJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEg PSBOVUxMLCAqdm1hc1tNQVhfTlJfVk1BU107DQo+ICsJdWludDY0X3QgKnBmbnMsIGY7DQo+ICsJ aW50IHIgPSAwLCBpLCBucl9wYWdlczsNCj4gICANCj4gICAJaWYgKCFtbSkgLyogSGFwcGVucyBk dXJpbmcgcHJvY2VzcyBzaHV0ZG93biAqLw0KPiAgIAkJcmV0dXJuIC1FU1JDSDsNCj4gICANCj4g LQlhbWRncHVfaG1tX2luaXRfcmFuZ2UocmFuZ2UpOw0KPiAtDQo+ICAgCWRvd25fcmVhZCgmbW0t Pm1tYXBfc2VtKTsNCj4gICANCj4gLQlyYW5nZS0+dm1hID0gZmluZF92bWEobW0sIGd0dC0+dXNl cnB0cik7DQo+IC0JaWYgKCFyYW5nZV9pbl92bWEocmFuZ2UtPnZtYSwgZ3R0LT51c2VycHRyLCBl bmQpKQ0KPiAtCQlyID0gLUVGQVVMVDsNCj4gLQllbHNlIGlmICgoZ3R0LT51c2VyZmxhZ3MgJiBB TURHUFVfR0VNX1VTRVJQVFJfQU5PTk9OTFkpICYmDQo+IC0JCXJhbmdlLT52bWEtPnZtX2ZpbGUp DQo+ICsJLyogdXNlciBwYWdlcyBtYXkgY3Jvc3MgbXVsdGlwbGUgVk1BcyAqLw0KPiArCWd0dC0+ bnJfcmFuZ2VzID0gMDsNCj4gKwlkbyB7DQo+ICsJCXZtYSA9IGZpbmRfdm1hKG1tLCB2bWEgPyB2 bWEtPnZtX2VuZCA6IHN0YXJ0KTsNCj4gKwkJaWYgKHVubGlrZWx5KCF2bWEpKSB7DQo+ICsJCQly ID0gLUVGQVVMVDsNCj4gKwkJCWdvdG8gb3V0Ow0KPiArCQl9DQo+ICsJCXZtYXNbZ3R0LT5ucl9y YW5nZXMrK10gPSB2bWE7DQo+ICsJCWlmIChndHQtPm5yX3JhbmdlcyA+PSBNQVhfTlJfVk1BUykg ew0KDQpUaGlzIHdpbGwgbGVhZCB0byBhIGZhaWx1cmUgd2hlbiB5b3UgaGF2ZSBleGFjdGx5IDE2 IFZNQXMuIElmIHlvdSBtb3ZlIA0KdGhlIGNoZWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgbG9vcCwg aXQgd2lsbCBvbmx5IHRyaWdnZXIgd2hlbiB5b3UgZXhjZWVkIA0KdGhlIGxpbWl0IG5vdCBqdXN0 IGFmdGVyIHlvdSByZWFjaCBpdC4NCg0KDQo+ICsJCQlEUk1fRVJST1IoImludmFsaWQgdXNlcnB0 ciByYW5nZVxuIik7DQoNClRoZSB1c2VycHRyIHJhbmdlIGlzIG5vdCByZWFsbHkgaW52YWxpZC4g SXQgb25seSBleGNlZWRzIHNvbWUgYXJ0aWZpY2lhbCANCmxpbWl0YXRpb24gaW4gdGhpcyBjb2Rl LiBBIG1lc3NhZ2UgbGlrZSAiVG9vIG1hbnkgVk1BcyBpbiB1c2VycHRyIHJhbmdlIiANCndvdWxk IGJlIG1vcmUgYXBwcm9wcmlhdGUuDQoNCg0KPiArCQkJciA9IC1FRkFVTFQ7DQo+ICsJCQlnb3Rv IG91dDsNCj4gKwkJfQ0KPiArCX0gd2hpbGUgKGVuZCA+IHZtYS0+dm1fZW5kKTsNCj4gKw0KPiAr CURSTV9ERUJVR19EUklWRVIoIjB4JWx4IG5yX3JhbmdlcyAlZCBwYWdlcyAweCVseFxuIiwNCj4g KwkJc3RhcnQsIGd0dC0+bnJfcmFuZ2VzLCB0dG0tPm51bV9wYWdlcyk7DQo+ICsNCj4gKwlpZiAo dW5saWtlbHkoKGd0dC0+dXNlcmZsYWdzICYgQU1ER1BVX0dFTV9VU0VSUFRSX0FOT05PTkxZKSAm Jg0KPiArCQl2bWFzWzBdLT52bV9maWxlKSkgew0KPiAgIAkJciA9IC1FUEVSTTsNCj4gLQlpZiAo cikNCj4gICAJCWdvdG8gb3V0Ow0KPiArCX0NCj4gICANCj4gLQlyYW5nZS0+cGZucyA9IGt2bWFs bG9jX2FycmF5KHR0bS0+bnVtX3BhZ2VzLCBzaXplb2YodWludDY0X3QpLA0KPiAtCQkJCSAgICAg R0ZQX0tFUk5FTCk7DQo+IC0JaWYgKHJhbmdlLT5wZm5zID09IE5VTEwpIHsNCj4gKwlyYW5nZXMg PSBrdm1hbGxvY19hcnJheShndHQtPm5yX3Jhbmdlcywgc2l6ZW9mKCpyYW5nZXMpLCBHRlBfS0VS TkVMKTsNCj4gKwlpZiAodW5saWtlbHkoIXJhbmdlcykpIHsNCj4gICAJCXIgPSAtRU5PTUVNOw0K PiAgIAkJZ290byBvdXQ7DQo+ICAgCX0NCj4gLQlyYW5nZS0+c3RhcnQgPSBndHQtPnVzZXJwdHI7 DQo+IC0JcmFuZ2UtPmVuZCA9IGVuZDsNCj4gICANCj4gLQlyYW5nZS0+cGZuc1swXSA9IHJhbmdl LT5mbGFnc1tITU1fUEZOX1ZBTElEXTsNCj4gLQlyYW5nZS0+cGZuc1swXSB8PSBhbWRncHVfdHRt X3R0X2lzX3JlYWRvbmx5KHR0bSkgPw0KPiAtCQkJCTAgOiByYW5nZS0+ZmxhZ3NbSE1NX1BGTl9X UklURV07DQo+IC0JZm9yIChpID0gMTsgaSA8IHR0bS0+bnVtX3BhZ2VzOyBpKyspDQo+IC0JCXJh bmdlLT5wZm5zW2ldID0gcmFuZ2UtPnBmbnNbMF07DQo+ICsJcGZucyA9IGt2bWFsbG9jX2FycmF5 KHR0bS0+bnVtX3BhZ2VzLCBzaXplb2YoKnBmbnMpLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAodW5s aWtlbHkoIXBmbnMpKSB7DQo+ICsJCXIgPSAtRU5PTUVNOw0KPiArCQlnb3RvIG91dF9mcmVlX3Jh bmdlczsNCj4gKwl9DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgZ3R0LT5ucl9yYW5nZXM7IGkr KykNCj4gKwkJYW1kZ3B1X2htbV9pbml0X3JhbmdlKCZyYW5nZXNbaV0pOw0KPiArDQo+ICsJZiA9 IHJhbmdlc1swXS5mbGFnc1tITU1fUEZOX1ZBTElEXTsNCj4gKwlmIHw9IGFtZGdwdV90dG1fdHRf aXNfcmVhZG9ubHkodHRtKSA/DQo+ICsJCQkJMCA6IHJhbmdlc1swXS5mbGFnc1tITU1fUEZOX1dS SVRFXTsNCj4gKwltZW1zZXQ2NChwZm5zLCBmLCB0dG0tPm51bV9wYWdlcyk7DQo+ICsNCj4gKwlm b3IgKG5yX3BhZ2VzID0gMCwgaSA9IDA7IGkgPCBndHQtPm5yX3JhbmdlczsgaSsrKSB7DQo+ICsJ CXJhbmdlc1tpXS52bWEgPSB2bWFzW2ldOw0KPiArCQlyYW5nZXNbaV0uc3RhcnQgPSBtYXgoc3Rh cnQsIHZtYXNbaV0tPnZtX3N0YXJ0KTsNCj4gKwkJcmFuZ2VzW2ldLmVuZCA9IG1pbihlbmQsIHZt YXNbaV0tPnZtX2VuZCk7DQo+ICsJCXJhbmdlc1tpXS5wZm5zID0gcGZucyArIG5yX3BhZ2VzOw0K PiArCQlucl9wYWdlcyArPSAocmFuZ2VzW2ldLmVuZCAtIHJhbmdlc1tpXS5zdGFydCkgLyBQQUdF X1NJWkU7DQo+ICsNCj4gKwkJciA9IGhtbV92bWFfZmF1bHQoJnJhbmdlc1tpXSwgdHJ1ZSk7DQo+ ICsJCWlmICh1bmxpa2VseShyKSkNCj4gKwkJCWJyZWFrOw0KPiArCX0NCj4gKwlpZiAodW5saWtl bHkocikpIHsNCj4gKwkJd2hpbGUgKGktLSkNCj4gKwkJCWhtbV92bWFfcmFuZ2VfZG9uZSgmcmFu Z2VzW2ldKTsNCj4gICANCj4gLQkvKiBUaGlzIG1heSB0cmlnZ2VyIHBhZ2UgdGFibGUgdXBkYXRl ICovDQo+IC0JciA9IGhtbV92bWFfZmF1bHQocmFuZ2UsIHRydWUpOw0KPiAtCWlmIChyKQ0KPiAg IAkJZ290byBvdXRfZnJlZV9wZm5zOw0KPiArCX0NCj4gICANCj4gICAJdXBfcmVhZCgmbW0tPm1t YXBfc2VtKTsNCj4gICANCj4gICAJZm9yIChpID0gMDsgaSA8IHR0bS0+bnVtX3BhZ2VzOyBpKysp DQo+IC0JCXBhZ2VzW2ldID0gaG1tX3Bmbl90b19wYWdlKHJhbmdlLCByYW5nZS0+cGZuc1tpXSk7 DQo+ICsJCXBhZ2VzW2ldID0gaG1tX3Bmbl90b19wYWdlKCZyYW5nZXNbMF0sIHBmbnNbaV0pOw0K DQpUaGlzIGxvb2tzIHdyb25nLiBEb24ndCB5b3UgbmVlZCB0byB1c2UgdGhlIGNvcnJlY3QgcmFu Z2UgaGVyZSBpbnN0ZWFkIA0Kb2YgcmFuZ2VbMF0/DQoNCg0KPiArCWd0dC0+cmFuZ2VzID0gcmFu Z2VzOw0KPiAgIA0KPiAgIAlyZXR1cm4gMDsNCj4gICANCj4gICBvdXRfZnJlZV9wZm5zOg0KPiAt CWt2ZnJlZShyYW5nZS0+cGZucyk7DQo+IC0JcmFuZ2UtPnBmbnMgPSBOVUxMOw0KPiArCWt2ZnJl ZShwZm5zKTsNCj4gK291dF9mcmVlX3JhbmdlczoNCj4gKwlrdmZyZWUocmFuZ2VzKTsNCj4gICBv dXQ6DQo+ICAgCXVwX3JlYWQoJm1tLT5tbWFwX3NlbSk7DQo+ICsNCj4gICAJcmV0dXJuIHI7DQo+ ICAgfQ0KPiAgIA0KPiBAQCAtNzkyLDE1ICs4MzUsMjMgQEAgYm9vbCBhbWRncHVfdHRtX3R0X2dl dF91c2VyX3BhZ2VzX2RvbmUoc3RydWN0IHR0bV90dCAqdHRtKQ0KPiAgIHsNCj4gICAJc3RydWN0 IGFtZGdwdV90dG1fdHQgKmd0dCA9ICh2b2lkICopdHRtOw0KPiAgIAlib29sIHIgPSBmYWxzZTsN Cj4gKwlpbnQgaTsNCj4gICANCj4gICAJaWYgKCFndHQgfHwgIWd0dC0+dXNlcnB0cikNCj4gICAJ CXJldHVybiBmYWxzZTsNCj4gICANCj4gLQlXQVJOX09OQ0UoIWd0dC0+cmFuZ2UucGZucywgIk5v IHVzZXIgcGFnZXMgdG8gY2hlY2tcbiIpOw0KPiAtCWlmIChndHQtPnJhbmdlLnBmbnMpIHsNCj4g LQkJciA9IGhtbV92bWFfcmFuZ2VfZG9uZSgmZ3R0LT5yYW5nZSk7DQo+IC0JCWt2ZnJlZShndHQt PnJhbmdlLnBmbnMpOw0KPiAtCQlndHQtPnJhbmdlLnBmbnMgPSBOVUxMOw0KPiArCURSTV9ERUJV R19EUklWRVIoInVzZXJfcGFnZXNfZG9uZSAweCVsbHggbnJfcmFuZ2VzICVkIHBhZ2VzIDB4JWx4 XG4iLA0KPiArCQlndHQtPnVzZXJwdHIsIGd0dC0+bnJfcmFuZ2VzLCB0dG0tPm51bV9wYWdlcyk7 DQo+ICsNCj4gKwlXQVJOX09OQ0UoIWd0dC0+cmFuZ2VzIHx8ICFndHQtPnJhbmdlc1swXS5wZm5z LA0KPiArCQkiTm8gdXNlciBwYWdlcyB0byBjaGVja1xuIik7DQo+ICsNCj4gKwlpZiAoZ3R0LT5y YW5nZXMpIHsNCj4gKwkJZm9yIChpID0gMDsgaSA8IGd0dC0+bnJfcmFuZ2VzOyBpKyspDQo+ICsJ CQlyIHw9IGhtbV92bWFfcmFuZ2VfZG9uZSgmZ3R0LT5yYW5nZXNbaV0pOw0KPiArCQlrdmZyZWUo Z3R0LT5yYW5nZXNbMF0ucGZucyk7DQoNClNob3VsZG4ndCB0aGlzIGJlIGluIHRoZSBsb29wIGFu ZCBhcHBseSB0byBndHQtPnJhbmdlc1tpXS5wZm5zPw0KDQpSZWdhcmRzLA0KIMKgIEZlbGl4DQoN Cj4gKwkJa3ZmcmVlKGd0dC0+cmFuZ2VzKTsNCj4gKwkJZ3R0LT5yYW5nZXMgPSBOVUxMOw0KPiAg IAl9DQo+ICAgDQo+ICAgCXJldHVybiByOw0KPiBAQCAtODg0LDggKzkzNSw5IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV90dG1fdHRfdW5waW5fdXNlcnB0cihzdHJ1Y3QgdHRtX3R0ICp0dG0pDQo+ICAg CXNnX2ZyZWVfdGFibGUodHRtLT5zZyk7DQo+ICAgDQo+ICAgI2lmIElTX0VOQUJMRUQoQ09ORklH X0RSTV9BTURHUFVfVVNFUlBUUikNCj4gLQlpZiAoZ3R0LT5yYW5nZS5wZm5zICYmDQo+IC0JICAg IHR0bS0+cGFnZXNbMF0gPT0gaG1tX3Bmbl90b19wYWdlKCZndHQtPnJhbmdlLCBndHQtPnJhbmdl LnBmbnNbMF0pKQ0KPiArCWlmIChndHQtPnJhbmdlcyAmJg0KPiArCSAgICB0dG0tPnBhZ2VzWzBd ID09IGhtbV9wZm5fdG9fcGFnZSgmZ3R0LT5yYW5nZXNbMF0sDQo+ICsJCQkJCSAgICAgZ3R0LT5y YW5nZXNbMF0ucGZuc1swXSkpDQo+ICAgCQlXQVJOX09OQ0UoMSwgIk1pc3NpbmcgZ2V0X3VzZXJf cGFnZV9kb25lXG4iKTsNCj4gICAjZW5kaWYNCj4gICB9DQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZng=