From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 4/4] drm/amdgpu: enable huge page handling in the VM v3 Date: Thu, 1 Jun 2017 11:06:54 +0800 Message-ID: <592F84CE.4030709@amd.com> References: <1496234326-2581-1-git-send-email-deathsimple@vodafone.de> <1496234326-2581-4-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: <1496234326-2581-4-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 CgpPbiAyMDE35bm0MDXmnIgzMeaXpSAyMDozOCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBG cm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4KPiBUaGUg aGFyZHdhcmUgY2FuIHVzZSBodWdlIHBhZ2VzIHRvIG1hcCAyTUIgb2YgYWRkcmVzcyBzcGFjZSB3 aXRoIG9ubHkgb25lIFBERS4KPgo+IHYyOiBmZXcgY2xlYW51cHMgYW5kIHJlYmFzZWQKPiB2Mzog c2tpcCBQVCB1cGRhdGVzIGlmIHdlIGFyZSB1c2luZyB0aGUgUERFCj4KPiBTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ClJldmlld2VkLWJ5 OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgoKPiAtLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgg fCAgIDQgKysKPiAgIDIgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+IGluZGV4IGQw N2EyOGMuLjRjZmVmM2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Ywo+IEBAIC0zMjMsNiArMzIzLDcgQEAgc3RhdGljIGludCBhbWRncHVfdm1fYWxsb2NfbGV2ZWxz KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCj4gICAJCQllbnRyeS0+Ym8gPSBwdDsK PiAgIAkJCWVudHJ5LT5hZGRyID0gMDsKPiArCQkJZW50cnktPmh1Z2VfcGFnZSA9IGZhbHNlOwo+ ICAgCQl9Cj4gICAKPiAgIAkJaWYgKGxldmVsIDwgYWRldi0+dm1fbWFuYWdlci5udW1fbGV2ZWwp IHsKPiBAQCAtOTkwLDcgKzk5MSw4IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3ZtX3VwZGF0ZV9sZXZl bChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAo+ICAgCQlwdCA9IGFtZGdwdV9ib19n cHVfb2Zmc2V0KGJvKTsKPiAgIAkJcHQgPSBhbWRncHVfZ2FydF9nZXRfdm1fcGRlKGFkZXYsIHB0 KTsKPiAtCQlpZiAocGFyZW50LT5lbnRyaWVzW3B0X2lkeF0uYWRkciA9PSBwdCkKPiArCQlpZiAo cGFyZW50LT5lbnRyaWVzW3B0X2lkeF0uYWRkciA9PSBwdCB8fAo+ICsJCSAgICBwYXJlbnQtPmVu dHJpZXNbcHRfaWR4XS5odWdlX3BhZ2UpCj4gICAJCQljb250aW51ZTsKPiAgIAo+ICAgCQlwYXJl bnQtPmVudHJpZXNbcHRfaWR4XS5hZGRyID0gcHQ7Cj4gQEAgLTExMjIsMjkgKzExMjQsODMgQEAg aW50IGFtZGdwdV92bV91cGRhdGVfZGlyZWN0b3JpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCj4gICB9Cj4gICAKPiAgIC8qKgo+IC0gKiBhbWRncHVfdm1fZmluZF9wdCAtIGZpbmQgdGhl IHBhZ2UgdGFibGUgZm9yIGFuIGFkZHJlc3MKPiArICogYW1kZ3B1X3ZtX2ZpbmRfZW50cnkgLSBm aW5kIHRoZSBlbnRyeSBmb3IgYW4gYWRkcmVzcwo+ICAgICoKPiAgICAqIEBwOiBzZWUgYW1kZ3B1 X3B0ZV91cGRhdGVfcGFyYW1zIGRlZmluaXRpb24KPiAgICAqIEBhZGRyOiB2aXJ0dWFsIGFkZHJl c3MgaW4gcXVlc3Rpb24KPiArICogQGVudHJ5OiByZXN1bHRpbmcgZW50cnkgb3IgTlVMTAo+ICsg KiBAcGFyZW50OiBwYXJlbnQgZW50cnkKPiAgICAqCj4gLSAqIEZpbmQgdGhlIHBhZ2UgdGFibGUg Qk8gZm9yIGEgdmlydHVhbCBhZGRyZXNzLCByZXR1cm4gTlVMTCB3aGVuIG5vbmUgZm91bmQuCj4g KyAqIEZpbmQgdGhlIHZtX3B0IGVudHJ5IGFuZCBpdCdzIHBhcmVudCBmb3IgdGhlIGdpdmVuIGFk ZHJlc3MuCj4gICAgKi8KPiAtc3RhdGljIHN0cnVjdCBhbWRncHVfYm8gKmFtZGdwdV92bV9nZXRf cHQoc3RydWN0IGFtZGdwdV9wdGVfdXBkYXRlX3BhcmFtcyAqcCwKPiAtCQkJCQkgIHVpbnQ2NF90 IGFkZHIpCj4gK3ZvaWQgYW1kZ3B1X3ZtX2dldF9lbnRyeShzdHJ1Y3QgYW1kZ3B1X3B0ZV91cGRh dGVfcGFyYW1zICpwLCB1aW50NjRfdCBhZGRyLAo+ICsJCQkgc3RydWN0IGFtZGdwdV92bV9wdCAq KmVudHJ5LAo+ICsJCQkgc3RydWN0IGFtZGdwdV92bV9wdCAqKnBhcmVudCkKPiAgIHsKPiAtCXN0 cnVjdCBhbWRncHVfdm1fcHQgKmVudHJ5ID0gJnAtPnZtLT5yb290Owo+ICAgCXVuc2lnbmVkIGlk eCwgbGV2ZWwgPSBwLT5hZGV2LT52bV9tYW5hZ2VyLm51bV9sZXZlbDsKPiAgIAo+IC0Jd2hpbGUg KGVudHJ5LT5lbnRyaWVzKSB7Cj4gKwkqcGFyZW50ID0gTlVMTDsKPiArCSplbnRyeSA9ICZwLT52 bS0+cm9vdDsKPiArCXdoaWxlICgoKmVudHJ5KS0+ZW50cmllcykgewo+ICAgCQlpZHggPSBhZGRy ID4+IChwLT5hZGV2LT52bV9tYW5hZ2VyLmJsb2NrX3NpemUgKiBsZXZlbC0tKTsKPiAtCQlpZHgg JT0gYW1kZ3B1X2JvX3NpemUoZW50cnktPmJvKSAvIDg7Cj4gLQkJZW50cnkgPSAmZW50cnktPmVu dHJpZXNbaWR4XTsKPiArCQlpZHggJT0gYW1kZ3B1X2JvX3NpemUoKCplbnRyeSktPmJvKSAvIDg7 Cj4gKwkJKnBhcmVudCA9ICplbnRyeTsKPiArCQkqZW50cnkgPSAmKCplbnRyeSktPmVudHJpZXNb aWR4XTsKPiAgIAl9Cj4gICAKPiAgIAlpZiAobGV2ZWwpCj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwkJ KmVudHJ5ID0gTlVMTDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGFtZGdwdV92bV9oYW5kbGVfaHVn ZV9wYWdlcyAtIGhhbmRsZSB1cGRhdGluZyB0aGUgUEQgd2l0aCBodWdlIHBhZ2VzCj4gKyAqCj4g KyAqIEBwOiBzZWUgYW1kZ3B1X3B0ZV91cGRhdGVfcGFyYW1zIGRlZmluaXRpb24KPiArICogQGVu dHJ5OiB2bV9wdCBlbnRyeSB0byBjaGVjawo+ICsgKiBAcGFyZW50OiBwYXJlbnQgZW50cnkKPiAr ICogQG5wdGVzOiBudW1iZXIgb2YgUFRFcyB1cGRhdGVkIHdpdGggdGhpcyBvcGVyYXRpb24KPiAr ICogQGRzdDogZGVzdGluYXRpb24gYWRkcmVzcyB3aGVyZSB0aGUgUFRFcyBzaG91bGQgcG9pbnQg dG8KPiArICogQGZsYWdzOiBhY2Nlc3MgZmxhZ3MgZnJvIHRoZSBQVEVzCj4gKyAqCj4gKyAqIENo ZWNrIGlmIHdlIGNhbiB1cGRhdGUgdGhlIFBEIHdpdGggYSBodWdlIHBhZ2UuCj4gKyAqLwo+ICtz dGF0aWMgdm9pZCBhbWRncHVfdm1faGFuZGxlX2h1Z2VfcGFnZXMoc3RydWN0IGFtZGdwdV9wdGVf dXBkYXRlX3BhcmFtcyAqcCwKPiArCQkJCQlzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ICplbnRyeSwKPiAr CQkJCQlzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ICpwYXJlbnQsCj4gKwkJCQkJdW5zaWduZWQgbnB0ZXMs IHVpbnQ2NF90IGRzdCwKPiArCQkJCQl1aW50NjRfdCBmbGFncykKPiArewo+ICsJdWludDY0X3Qg cGRfYWRkciwgcGRlOwo+ICsKPiArCS8qIEluIHRoZSBjYXNlIG9mIGEgbWl4ZWQgUFQgdGhlIFBE RSBtdXN0IHBvaW50IHRvIGl0Ki8KPiArCWlmIChwLT5hZGV2LT5hc2ljX3R5cGUgPCBDSElQX1ZF R0ExMCB8fAo+ICsJICAgIG5wdGVzICE9IEFNREdQVV9WTV9QVEVfQ09VTlQocC0+YWRldikgfHwK PiArCSAgICBwLT5mdW5jICE9IGFtZGdwdV92bV9kb19zZXRfcHRlcyB8fAo+ICsJICAgICEoZmxh Z3MgJiBBTURHUFVfUFRFX1ZBTElEKSkgewo+ICsKPiArCQlkc3QgPSBhbWRncHVfYm9fZ3B1X29m ZnNldChlbnRyeS0+Ym8pOwo+ICsJCWRzdCA9IGFtZGdwdV9nYXJ0X2dldF92bV9wZGUocC0+YWRl diwgZHN0KTsKPiArCQlmbGFncyA9IEFNREdQVV9QVEVfVkFMSUQ7Cj4gKwl9IGVsc2Ugewo+ICsJ CWZsYWdzIHw9IEFNREdQVV9QREVfUFRFOwo+ICsJfQo+ICAgCj4gLQlyZXR1cm4gZW50cnktPmJv Owo+ICsJaWYgKGVudHJ5LT5hZGRyID09IGRzdCAmJgo+ICsJICAgIGVudHJ5LT5odWdlX3BhZ2Ug PT0gISEoZmxhZ3MgJiBBTURHUFVfUERFX1BURSkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWVudHJ5 LT5hZGRyID0gZHN0Owo+ICsJZW50cnktPmh1Z2VfcGFnZSA9ICEhKGZsYWdzICYgQU1ER1BVX1BE RV9QVEUpOwo+ICsKPiArCWlmIChwYXJlbnQtPmJvLT5zaGFkb3cpIHsKPiArCQlwZF9hZGRyID0g YW1kZ3B1X2JvX2dwdV9vZmZzZXQocGFyZW50LT5iby0+c2hhZG93KTsKPiArCQlwZGUgPSBwZF9h ZGRyICsgKGVudHJ5IC0gcGFyZW50LT5lbnRyaWVzKSAqIDg7Cj4gKwkJYW1kZ3B1X3ZtX2RvX3Nl dF9wdGVzKHAsIHBkZSwgZHN0LCAxLCAwLCBmbGFncyk7Cj4gKwl9Cj4gKwo+ICsJcGRfYWRkciA9 IGFtZGdwdV9ib19ncHVfb2Zmc2V0KHBhcmVudC0+Ym8pOwo+ICsJcGRlID0gcGRfYWRkciArIChl bnRyeSAtIHBhcmVudC0+ZW50cmllcykgKiA4Owo+ICsJYW1kZ3B1X3ZtX2RvX3NldF9wdGVzKHAs IHBkZSwgZHN0LCAxLCAwLCBmbGFncyk7Cj4gICB9Cj4gICAKPiAgIC8qKgo+IEBAIC0xMTcyLDE4 ICsxMjI4LDI1IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3ZtX3VwZGF0ZV9wdGVzKHN0cnVjdCBhbWRn cHVfcHRlX3VwZGF0ZV9wYXJhbXMgKnBhcmFtcywKPiAgIAl1bnNpZ25lZCBucHRlczsKPiAgIAo+ ICAgCS8qIHdhbGsgb3ZlciB0aGUgYWRkcmVzcyBzcGFjZSBhbmQgdXBkYXRlIHRoZSBwYWdlIHRh YmxlcyAqLwo+IC0JZm9yIChhZGRyID0gc3RhcnQ7IGFkZHIgPCBlbmQ7IGFkZHIgKz0gbnB0ZXMp IHsKPiAtCQlwdCA9IGFtZGdwdV92bV9nZXRfcHQocGFyYW1zLCBhZGRyKTsKPiAtCQlpZiAoIXB0 KSB7Cj4gLQkJCXByX2VycigiUFQgbm90IGZvdW5kLCBhYm9ydGluZyB1cGRhdGVfcHRlc1xuIik7 Cj4gLQkJCXJldHVybiAtRUlOVkFMOwo+IC0JCX0KPiArCWZvciAoYWRkciA9IHN0YXJ0OyBhZGRy IDwgZW5kOyBhZGRyICs9IG5wdGVzLAo+ICsJICAgICBkc3QgKz0gbnB0ZXMgKiBBTURHUFVfR1BV X1BBR0VfU0laRSkgewo+ICsJCXN0cnVjdCBhbWRncHVfdm1fcHQgKmVudHJ5LCAqcGFyZW50Owo+ ICsKPiArCQlhbWRncHVfdm1fZ2V0X2VudHJ5KHBhcmFtcywgYWRkciwgJmVudHJ5LCAmcGFyZW50 KTsKPiArCQlpZiAoIWVudHJ5KQo+ICsJCQlyZXR1cm4gLUVOT0VOVDsKPiAgIAo+ICAgCQlpZiAo KGFkZHIgJiB+bWFzaykgPT0gKGVuZCAmIH5tYXNrKSkKPiAgIAkJCW5wdGVzID0gZW5kIC0gYWRk cjsKPiAgIAkJZWxzZQo+ICAgCQkJbnB0ZXMgPSBBTURHUFVfVk1fUFRFX0NPVU5UKGFkZXYpIC0g KGFkZHIgJiBtYXNrKTsKPiAgIAo+ICsJCWFtZGdwdV92bV9oYW5kbGVfaHVnZV9wYWdlcyhwYXJh bXMsIGVudHJ5LCBwYXJlbnQsCj4gKwkJCQkJICAgIG5wdGVzLCBkc3QsIGZsYWdzKTsKPiArCQlp ZiAoZW50cnktPmh1Z2VfcGFnZSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCXB0ID0gZW50cnkt PmJvOwo+ICAgCQlpZiAocHQtPnNoYWRvdykgewo+ICAgCQkJcGVfc3RhcnQgPSBhbWRncHVfYm9f Z3B1X29mZnNldChwdC0+c2hhZG93KTsKPiAgIAkJCXBlX3N0YXJ0ICs9IChhZGRyICYgbWFzaykg KiA4Owo+IEBAIC0xMTk1LDggKzEyNTgsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV91cGRhdGVf cHRlcyhzdHJ1Y3QgYW1kZ3B1X3B0ZV91cGRhdGVfcGFyYW1zICpwYXJhbXMsCj4gICAJCXBlX3N0 YXJ0ICs9IChhZGRyICYgbWFzaykgKiA4Owo+ICAgCQlwYXJhbXMtPmZ1bmMocGFyYW1zLCBwZV9z dGFydCwgZHN0LCBucHRlcywKPiAgIAkJCSAgICAgQU1ER1BVX0dQVV9QQUdFX1NJWkUsIGZsYWdz KTsKPiAtCj4gLQkJZHN0ICs9IG5wdGVzICogQU1ER1BVX0dQVV9QQUdFX1NJWkU7Cj4gICAJfQo+ ICAgCj4gICAJcmV0dXJuIDA7Cj4gQEAgLTEzMzAsNiArMTM5MSw5IEBAIHN0YXRpYyBpbnQgYW1k Z3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAg CS8qIHBhZGRpbmcsIGV0Yy4gKi8KPiAgIAluZHcgPSA2NDsKPiAgIAo+ICsJLyogb25lIFBERSB3 cml0ZSBmb3IgZWFjaCBodWdlIHBhZ2UgKi8KPiArCW5kdyArPSAoKG5wdGVzID4+IGFkZXYtPnZt X21hbmFnZXIuYmxvY2tfc2l6ZSkgKyAxKSAqIDc7Cj4gKwo+ICAgCWlmIChzcmMpIHsKPiAgIAkJ Lyogb25seSBjb3B5IGNvbW1hbmRzIG5lZWRlZCAqLwo+ICAgCQluZHcgKz0gbmNtZHMgKiA3Owo+ IEBAIC0xNDA5LDYgKzE0NzMsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV9ib191cGRhdGVfbWFw cGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAo+ICAgZXJyb3JfZnJlZToKPiAg IAlhbWRncHVfam9iX2ZyZWUoam9iKTsKPiArCWFtZGdwdV92bV9pbnZhbGlkYXRlX2xldmVsKCZ2 bS0+cm9vdCk7Cj4gICAJcmV0dXJuIHI7Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdm0uaAo+IGluZGV4IGFhYmU4MTUuLjc5MTQ1ZTYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaAo+IEBAIC03MCw2ICs3MCw5IEBAIHN0cnVjdCBh bWRncHVfYm9fbGlzdF9lbnRyeTsKPiAgIC8qIFRJTEVEIGZvciBWRUdBMTAsIHJlc2VydmVkIGZv ciBvbGRlciBBU0lDcyAgKi8KPiAgICNkZWZpbmUgQU1ER1BVX1BURV9QUlQJCSgxVUxMIDw8IDUx KQo+ICAgCj4gKy8qIFBERSBpcyBoYW5kbGVkIGFzIFBURSBmb3IgVkVHQTEwICovCj4gKyNkZWZp bmUgQU1ER1BVX1BERV9QVEUJCSgxVUxMIDw8IDU0KQo+ICsKPiAgIC8qIFZFR0ExMCBvbmx5ICov Cj4gICAjZGVmaW5lIEFNREdQVV9QVEVfTVRZUEUoYSkgICAgKCh1aW50NjRfdClhIDw8IDU3KQo+ ICAgI2RlZmluZSBBTURHUFVfUFRFX01UWVBFX01BU0sJQU1ER1BVX1BURV9NVFlQRSgzVUxMKQo+ IEBAIC05Miw2ICs5NSw3IEBAIHN0cnVjdCBhbWRncHVfYm9fbGlzdF9lbnRyeTsKPiAgIHN0cnVj dCBhbWRncHVfdm1fcHQgewo+ICAgCXN0cnVjdCBhbWRncHVfYm8JKmJvOwo+ICAgCXVpbnQ2NF90 CQlhZGRyOwo+ICsJYm9vbAkJCWh1Z2VfcGFnZTsKPiAgIAo+ICAgCS8qIGFycmF5IG9mIHBhZ2Ug dGFibGVzLCBvbmUgZm9yIGVhY2ggZGlyZWN0b3J5IGVudHJ5ICovCj4gICAJc3RydWN0IGFtZGdw dV92bV9wdAkqZW50cmllczsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAo=