From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 7/7] drm/amdgpu: enable huge page handling in the VM Date: Thu, 18 May 2017 13:30:12 +0800 Message-ID: <591D3164.7070105@amd.com> References: <1495012972-20698-1-git-send-email-deathsimple@vodafone.de> <1495012972-20698-7-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1495012972-20698-7-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@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: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE35bm0MDXmnIgxN+aXpSAxNzoyMiwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBG cm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4KPiBUaGUg aGFyZHdhcmUgY2FuIHVzZSBodWdlIHBhZ2VzIHRvIG1hcCAyTUIgb2YgYWRkcmVzcyBzcGFjZSB3 aXRoIG9ubHkgb25lIFBERS4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV92bS5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggfCAgNCArKwo+ICAgMiBm aWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gaW5kZXggODYwYTY2OS4uOGJlMWQ3YiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gQEAgLTMyNSw2ICsz MjUsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV9hbGxvY19sZXZlbHMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCj4gICAKPiAgIAkJCWVudHJ5LT5ibyA9IHB0Owo+ICAgCQkJZW50cnktPmFk ZHIgPSAwOwo+ICsJCQllbnRyeS0+aHVnZV9wYWdlID0gZmFsc2U7Cj4gICAJCX0KPiAgIAo+ICAg CQlpZiAobGV2ZWwgPCBhZGV2LT52bV9tYW5hZ2VyLm51bV9sZXZlbCkgewo+IEBAIC0xMDE0LDcg KzEwMTUsOCBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV91cGRhdGVfbGV2ZWwoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCj4gICAKPiAgIAkJcHQgPSBiby0+dGJvLm1lbS5zdGFydCA8PCBQQUdF X1NISUZUOwo+ICAgCQlwdCA9IGFtZGdwdV9nYXJ0X2dldF92bV9wZGUoYWRldiwgcHQpOwo+IC0J CWlmIChwYXJlbnQtPmVudHJpZXNbcHRfaWR4XS5hZGRyID09IHB0KQo+ICsJCWlmIChwYXJlbnQt PmVudHJpZXNbcHRfaWR4XS5hZGRyID09IHB0IHx8Cj4gKwkJICAgIHBhcmVudC0+ZW50cmllc1tw dF9pZHhdLmh1Z2VfcGFnZSkKPiAgIAkJCWNvbnRpbnVlOwo+ICAgCj4gICAJCXBhcmVudC0+ZW50 cmllc1twdF9pZHhdLmFkZHIgPSBwdDsKPiBAQCAtMTE0NiwyOSArMTE0OCw3MCBAQCBpbnQgYW1k Z3B1X3ZtX3VwZGF0ZV9kaXJlY3RvcmllcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAg IH0KPiAgIAo+ICAgLyoqCj4gLSAqIGFtZGdwdV92bV9maW5kX3B0IC0gZmluZCB0aGUgcGFnZSB0 YWJsZSBmb3IgYW4gYWRkcmVzcwo+ICsgKiBhbWRncHVfdm1faGFuZGxlX2h1Z2VfcGFnZXMgLSBo YW5kbGUgdXBkYXRpbmcgdGhlIFBEIHdpdGggaHVnZSBwYWdlcwo+ICAgICoKPiAgICAqIEBwOiBz ZWUgYW1kZ3B1X3B0ZV91cGRhdGVfcGFyYW1zIGRlZmluaXRpb24KPiAgICAqIEBhZGRyOiB2aXJ0 dWFsIGFkZHJlc3MgaW4gcXVlc3Rpb24KPiArICogQG5wdGVzOiBudW1iZXIgb2YgUFRFcyB1cGRh dGVkIHdpdGggdGhpcyBvcGVyYXRpb24KPiArICogQGRzdDogZGVzdGluYXRpb24gYWRkcmVzcyB3 aGVyZSB0aGUgUFRFcyBzaG91bGQgcG9pbnQgdG8KPiArICogQGZsYWdzOiBhY2Nlc3MgZmxhZ3Mg ZnJvIHRoZSBQVEVzCj4gKyAqIEBibzogcmVzdWx0aW5nIHBhZ2UgdGFibGVzIEJPCj4gICAgKgo+ IC0gKiBGaW5kIHRoZSBwYWdlIHRhYmxlIEJPIGZvciBhIHZpcnR1YWwgYWRkcmVzcywgcmV0dXJu IE5VTEwgd2hlbiBub25lIGZvdW5kLgo+ICsgKiBDaGVjayBpZiB3ZSBjYW4gdXBkYXRlIHRoZSBQ RCB3aXRoIGEgaHVnZSBwYWdlLiBBbHNvIGZpbmRzIHRoZSBwYWdlIHRhYmxlCj4gKyAqIEJPIGZv ciBhIHZpcnR1YWwgYWRkcmVzcywgcmV0dXJucyAtRU5PRU5UIHdoZW4gbm90aGluZyBmb3VuZC4K PiAgICAqLwo+IC1zdGF0aWMgc3RydWN0IGFtZGdwdV9ibyAqYW1kZ3B1X3ZtX2dldF9wdChzdHJ1 Y3QgYW1kZ3B1X3B0ZV91cGRhdGVfcGFyYW1zICpwLAo+IC0JCQkJCSAgdWludDY0X3QgYWRkcikK PiArc3RhdGljIGludCBhbWRncHVfdm1faGFuZGxlX2h1Z2VfcGFnZXMoc3RydWN0IGFtZGdwdV9w dGVfdXBkYXRlX3BhcmFtcyAqcCwKPiArCQkJCSAgICAgICB1aW50NjRfdCBhZGRyLCB1bnNpZ25l ZCBucHRlcywKPiArCQkJCSAgICAgICB1aW50NjRfdCBkc3QsIHVpbnQ2NF90IGZsYWdzLAo+ICsJ CQkJICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKipibykKPiAgIHsKPiAtCXN0cnVjdCBhbWRncHVf dm1fcHQgKmVudHJ5ID0gJnAtPnZtLT5yb290Owo+IC0JdW5zaWduZWQgaWR4LCBsZXZlbCA9IHAt PmFkZXYtPnZtX21hbmFnZXIubnVtX2xldmVsOwo+ICsJdW5zaWduZWQgcHRfaWR4LCBsZXZlbCA9 IHAtPmFkZXYtPnZtX21hbmFnZXIubnVtX2xldmVsOwo+ICsJc3RydWN0IGFtZGdwdV92bV9wdCAq ZW50cnkgPSAmcC0+dm0tPnJvb3QsICpwYXJlbnQ7Cj4gKwl1aW50NjRfdCBwZF9hZGRyLCBwZGUs IHB0Owo+ICAgCj4gLQl3aGlsZSAoZW50cnktPmVudHJpZXMpIHsKPiAtCQlpZHggPSBhZGRyID4+ IChwLT5hZGV2LT52bV9tYW5hZ2VyLmJsb2NrX3NpemUgKiBsZXZlbC0tKTsKPiAtCQlpZHggJT0g YW1kZ3B1X2JvX3NpemUoZW50cnktPmJvKSAvIDg7Cj4gLQkJZW50cnkgPSAmZW50cnktPmVudHJp ZXNbaWR4XTsKPiAtCX0KPiArCWRvIHsKPiArCQlwdF9pZHggPSBhZGRyID4+IChwLT5hZGV2LT52 bV9tYW5hZ2VyLmJsb2NrX3NpemUgKiBsZXZlbC0tKTsKPiArCQlwdF9pZHggJT0gYW1kZ3B1X2Jv X3NpemUoZW50cnktPmJvKSAvIDg7Cj4gKwkJcGFyZW50ID0gZW50cnk7Cj4gKwkJZW50cnkgPSAm ZW50cnktPmVudHJpZXNbcHRfaWR4XTsKPiArCX0gd2hpbGUgKGVudHJ5LT5lbnRyaWVzKTsKPiAg IAo+ICAgCWlmIChsZXZlbCkKPiAtCQlyZXR1cm4gTlVMTDsKPiArCQlyZXR1cm4gLUVOT0VOVDsK PiArCj4gKwkqYm8gPSBlbnRyeS0+Ym87Cj4gKwo+ICsJLyogSW4gdGhlIGNhc2Ugb2YgYSBtaXhl ZCBQVCB0aGUgUERFIG11c3QgcG9pbnQgdG8gaXQqLwo+ICsJaWYgKHAtPmFkZXYtPmFzaWNfdHlw ZSA8IENISVBfVkVHQTEwIHx8Cj4gKwkgICAgbnB0ZXMgIT0gQU1ER1BVX1ZNX1BURV9DT1VOVChw LT5hZGV2KSB8fAo+ICsJICAgIHAtPmZ1bmMgIT0gYW1kZ3B1X3ZtX2RvX3NldF9wdGVzIHx8Cj4g KwkgICAgIShmbGFncyAmIEFNREdQVV9QVEVfVkFMSUQpKSB7Cj4gKwo+ICsJCXB0ID0gKCpibykt PnRiby5tZW0uc3RhcnQgPDwgUEFHRV9TSElGVDsKPiArCQlwdCA9IGFtZGdwdV9nYXJ0X2dldF92 bV9wZGUocC0+YWRldiwgcHQpOwo+ICsJCWZsYWdzID0gQU1ER1BVX1BURV9WQUxJRDsKVGhpcyBj YXNlIHNob3VsZCBiZSBoYW5kbGVkIHdoZW4gdXBkYXRpbmcgbGV2ZWxzLCBzbyByZXR1cm4gZGly ZWN0bHk/Cj4gKwl9IGVsc2Ugewo+ICsJCXB0ID0gYW1kZ3B1X2dhcnRfZ2V0X3ZtX3BkZShwLT5h ZGV2LCBkc3QpOwo+ICsJCWZsYWdzIHw9IEFNREdQVV9QREVfUFRFOwo+ICsJfQo+ICAgCj4gLQly ZXR1cm4gZW50cnktPmJvOwo+ICsJaWYgKGVudHJ5LT5hZGRyID09IHB0ICYmCj4gKwkgICAgZW50 cnktPmh1Z2VfcGFnZSA9PSAhIShmbGFncyAmIEFNREdQVV9QREVfUFRFKSkKPiArCQlyZXR1cm4g MDsKPiArCj4gKwllbnRyeS0+YWRkciA9IHB0Owo+ICsJZW50cnktPmh1Z2VfcGFnZSA9ICEhKGZs YWdzICYgQU1ER1BVX1BERV9QVEUpOwo+ICsKPiArCWlmIChwYXJlbnQtPmJvLT5zaGFkb3cpIHsK PiArCQlwZF9hZGRyID0gYW1kZ3B1X2JvX2dwdV9vZmZzZXQocGFyZW50LT5iby0+c2hhZG93KTsK PiArCQlwZGUgPSBwZF9hZGRyICsgcHRfaWR4ICogODsKPiArCQlhbWRncHVfdm1fZG9fc2V0X3B0 ZXMocCwgcGRlLCBwdCwgMSwgMCwgZmxhZ3MpOwogRnJvbSB0aGUgc3BlYyAiYW55IHBkZSBpbiB0 aGUgY2hhaW4gY2FuIGl0c2VsZiB0YWtlIG9uIHRoZSBmb3JtYXQgb2YgYSAKUFRFIGFuZCBwb2lu dCBkaXJlY3RseSB0byBhbiBhbGlnbmVkIGJsb2NrIG9mIGxvZ2ljYWwgYWRkcmVzcyBzcGFjZSBi eSAKc2V0dGluZyB0aGUgUCBiaXQuIiwKU28gaGVyZSBzaG91bGQgcGFzcyBhZGRyIGludG8gUERF IGluc3RlYWQgb2YgcHQuCj4gKwl9Cj4gKwo+ICsJcGRfYWRkciA9IGFtZGdwdV9ib19ncHVfb2Zm c2V0KHBhcmVudC0+Ym8pOwo+ICsJcGRlID0gcGRfYWRkciArIHB0X2lkeCAqIDg7Cj4gKwlhbWRn cHVfdm1fZG9fc2V0X3B0ZXMocCwgcGRlLCBwdCwgMSwgMCwgZmxhZ3MpOwpTaG91bGQgcGFzcyBh ZGRyIGludG8gUERFIGluc3RlYWQgb2YgcHQgYXMgd2VsbC4KCgo+ICsJcmV0dXJuIDA7Cj4gICB9 Cj4gICAKPiAgIC8qKgo+IEBAIC0xMTk0LDE0ICsxMjM3LDIwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZtX3VwZGF0ZV9wdGVzKHN0cnVjdCBhbWRncHVfcHRlX3VwZGF0ZV9wYXJhbXMgKnBhcmFtcywK PiAgIAl1aW50NjRfdCBhZGRyLCBwZV9zdGFydDsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICpwdDsK PiAgIAl1bnNpZ25lZCBucHRlczsKPiArCWludCByOwo+ICAgCj4gICAJLyogd2FsayBvdmVyIHRo ZSBhZGRyZXNzIHNwYWNlIGFuZCB1cGRhdGUgdGhlIHBhZ2UgdGFibGVzICovCj4gICAJZm9yIChh ZGRyID0gc3RhcnQ7IGFkZHIgPCBlbmQ7IGFkZHIgKz0gbnB0ZXMpIHsKPiAtCQlwdCA9IGFtZGdw dV92bV9nZXRfcHQocGFyYW1zLCBhZGRyKTsKPiAtCQlpZiAoIXB0KSB7Cj4gLQkJCXByX2Vycigi UFQgbm90IGZvdW5kLCBhYm9ydGluZyB1cGRhdGVfcHRlc1xuIik7Cj4gLQkJCXJldHVybiAtRUlO VkFMOwo+IC0JCX0KPiArCj4gKwkJaWYgKChhZGRyICYgfm1hc2spID09IChlbmQgJiB+bWFzaykp Cj4gKwkJCW5wdGVzID0gZW5kIC0gYWRkcjsKPiArCQllbHNlCj4gKwkJCW5wdGVzID0gQU1ER1BV X1ZNX1BURV9DT1VOVChhZGV2KSAtIChhZGRyICYgbWFzayk7Cj4gKwo+ICsJCXIgPSBhbWRncHVf dm1faGFuZGxlX2h1Z2VfcGFnZXMocGFyYW1zLCBhZGRyLCBucHRlcywKPiArCQkJCQkJZHN0LCBm bGFncywgJnB0KTsKSWYgaHVnZSBwYWdlIGhhcHBlbnMsIGl0cyBzdWIgUFRFcyBkb24ndCBuZWVk IHRvIHVwZGF0ZSBtb3JlLCB0aGV5IApjYW5ub3QgYmUgaW5kZXhlZCBieSBwYWdlIHRhYmxlIHdo ZW4gdGhhdCBQREUgaXMgUFRFLCByaWdodD8KCkJ0dzogSXMgdGhpcyBCaWdLIHdoaWNoIHBlb3Bs ZSBvZnRlbiBzYWlkPwoKUmVnYXJkcywKRGF2aWQgWmhvdQo+ICsJCWlmIChyKQo+ICsJCQlyZXR1 cm4gcjsKPiAgIAo+ICAgCQlpZiAocGFyYW1zLT5zaGFkb3cpIHsKPiAgIAkJCWlmICghcHQtPnNo YWRvdykKPiBAQCAtMTIwOSwxMSArMTI1OCw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3ZtX3VwZGF0 ZV9wdGVzKHN0cnVjdCBhbWRncHVfcHRlX3VwZGF0ZV9wYXJhbXMgKnBhcmFtcywKPiAgIAkJCXB0 ID0gcHQtPnNoYWRvdzsKPiAgIAkJfQo+ICAgCj4gLQkJaWYgKChhZGRyICYgfm1hc2spID09IChl bmQgJiB+bWFzaykpCj4gLQkJCW5wdGVzID0gZW5kIC0gYWRkcjsKPiAtCQllbHNlCj4gLQkJCW5w dGVzID0gQU1ER1BVX1ZNX1BURV9DT1VOVChhZGV2KSAtIChhZGRyICYgbWFzayk7Cj4gLQo+ICAg CQlwZV9zdGFydCA9IGFtZGdwdV9ib19ncHVfb2Zmc2V0KHB0KTsKPiAgIAkJcGVfc3RhcnQgKz0g KGFkZHIgJiBtYXNrKSAqIDg7Cj4gICAKPiBAQCAtMTM1Myw2ICsxMzk3LDkgQEAgc3RhdGljIGlu dCBhbWRncHVfdm1fYm9fdXBkYXRlX21hcHBpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs Cj4gICAJLyogcGFkZGluZywgZXRjLiAqLwo+ICAgCW5kdyA9IDY0Owo+ICAgCj4gKwkvKiBvbmUg UERFIHdyaXRlIGZvciBlYWNoIGh1Z2UgcGFnZSAqLwo+ICsJbmR3ICs9ICgobnB0ZXMgPj4gYWRl di0+dm1fbWFuYWdlci5ibG9ja19zaXplKSArIDEpICogNzsKPiArCj4gICAJaWYgKHNyYykgewo+ ICAgCQkvKiBvbmx5IGNvcHkgY29tbWFuZHMgbmVlZGVkICovCj4gICAJCW5kdyArPSBuY21kcyAq IDc7Cj4gQEAgLTE0MzcsNiArMTQ4NCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3ZtX2JvX3VwZGF0 ZV9tYXBwaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCj4gICBlcnJvcl9mcmVl Ogo+ICAgCWFtZGdwdV9qb2JfZnJlZShqb2IpOwo+ICsJYW1kZ3B1X3ZtX2ludmFsaWRhdGVfbGV2 ZWwoJnZtLT5yb290KTsKPiAgIAlyZXR1cm4gcjsKPiAgIH0KPiAgIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV92bS5oCj4gaW5kZXggYWZlOTA3My4uMWM1ZTBjZSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCj4gQEAgLTY4LDYgKzY4LDkgQEAgc3Ry dWN0IGFtZGdwdV9ib19saXN0X2VudHJ5Owo+ICAgLyogVElMRUQgZm9yIFZFR0ExMCwgcmVzZXJ2 ZWQgZm9yIG9sZGVyIEFTSUNzICAqLwo+ICAgI2RlZmluZSBBTURHUFVfUFRFX1BSVAkJKDFVTEwg PDwgNTEpCj4gICAKPiArLyogUERFIGlzIGhhbmRsZWQgYXMgUFRFIGZvciBWRUdBMTAgKi8KPiAr I2RlZmluZSBBTURHUFVfUERFX1BURQkJKDFVTEwgPDwgNTQpCj4gKwo+ICAgLyogVkVHQTEwIG9u bHkgKi8KPiAgICNkZWZpbmUgQU1ER1BVX1BURV9NVFlQRShhKSAgICAoKHVpbnQ2NF90KWEgPDwg NTcpCj4gICAjZGVmaW5lIEFNREdQVV9QVEVfTVRZUEVfTUFTSwlBTURHUFVfUFRFX01UWVBFKDNV TEwpCj4gQEAgLTkwLDYgKzkzLDcgQEAgc3RydWN0IGFtZGdwdV9ib19saXN0X2VudHJ5Owo+ICAg c3RydWN0IGFtZGdwdV92bV9wdCB7Cj4gICAJc3RydWN0IGFtZGdwdV9ibwkqYm87Cj4gICAJdWlu dDY0X3QJCWFkZHI7Cj4gKwlib29sCQkJaHVnZV9wYWdlOwo+ICAgCj4gICAJLyogYXJyYXkgb2Yg cGFnZSB0YWJsZXMsIG9uZSBmb3IgZWFjaCBkaXJlY3RvcnkgZW50cnkgKi8KPiAgIAlzdHJ1Y3Qg YW1kZ3B1X3ZtX3B0CSplbnRyaWVzOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cg==