From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Philip" Subject: [PATCH 2/3] drm/amdkfd: avoid HMM change cause circular lock dependency Date: Thu, 6 Dec 2018 21:02:51 +0000 Message-ID: <20181206210235.12036-2-Philip.Yang@amd.com> References: <20181206210235.12036-1-Philip.Yang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181206210235.12036-1-Philip.Yang-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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: "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Yang, Philip" VGhlcmUgaXMgY2lyY3VsYXIgbG9jayBiZXR3ZWVuIGdmeCBhbmQga2ZkIHBhdGggd2l0aCBITU0g Y2hhbmdlOgpsb2NrKGRxbSkgLT4gYm86OnJlc2VydmUgLT4gYW1kZ3B1X21uX2xvY2sKClRvIGF2 b2lkIHRoaXMsIG1vdmUgaW5pdC91bmludF9tcWQoKSBvdXQgb2YgbG9jayhkcW0pLCB0byByZW1v dmUgbmVzdGVkCmxvY2tpbmcgYmV0d2VlbiBtbWFwX3NlbSBhbmQgYm86OnJlc2VydmUuIFRoZSBs b2NraW5nIG9yZGVyCmlzOiBibzo6cmVzZXJ2ZSAtPiBhbWRncHVfbW5fbG9jayhwLT5tbikKCkNo YW5nZS1JZDogSTJlYzA5YTQ3NTcxZjZiNGM4ZWFlZjkzZjIyYzBhNjAwZjVmNzAxNTMKU2lnbmVk LW9mZi1ieTogUGhpbGlwIFlhbmcgPFBoaWxpcC5ZYW5nQGFtZC5jb20+Ci0tLQogLi4uL2RybS9h bWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jIHwgNjcgKysrKysrKysrKy0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVf bWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9t YW5hZ2VyLmMKaW5kZXggODM3MjU1NmI1MmViLi5mZTEyMGNjMDkzMGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jCkBA IC0xMTU4LDYgKzExNTgsMzMgQEAgc3RhdGljIGludCBjcmVhdGVfcXVldWVfY3BzY2goc3RydWN0 IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sIHN0cnVjdCBxdWV1ZSAqcSwKIAogCXJldHZhbCA9 IDA7CiAKKwkvKiBEbyBpbml0X21xZCBiZWZvcmUgZHFtX2xvY2soZHFtKSB0byBhdm9pZCBjaXJj dWxhciBsb2NraW5nIG9yZGVyOgorCSAqIGxvY2soZHFtKSAtPiBibzo6cmVzZXJ2ZQorCSAqLwor CW1xZF9tZ3IgPSBkcW0tPm9wcy5nZXRfbXFkX21hbmFnZXIoZHFtLAorCQkJZ2V0X21xZF90eXBl X2Zyb21fcXVldWVfdHlwZShxLT5wcm9wZXJ0aWVzLnR5cGUpKTsKKworCWlmICghbXFkX21ncikg eworCQlyZXR2YWwgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwkvKgorCSAqIEV2aWN0 aW9uIHN0YXRlIGxvZ2ljOiB3ZSBvbmx5IG1hcmsgYWN0aXZlIHF1ZXVlcyBhcyBldmljdGVkCisJ ICogdG8gYXZvaWQgdGhlIG92ZXJoZWFkIG9mIHJlc3RvcmluZyBpbmFjdGl2ZSBxdWV1ZXMgbGF0 ZXIKKwkgKi8KKwlpZiAocXBkLT5ldmljdGVkKQorCQlxLT5wcm9wZXJ0aWVzLmlzX2V2aWN0ZWQg PSAocS0+cHJvcGVydGllcy5xdWV1ZV9zaXplID4gMCAmJgorCQkJCQkgICAgcS0+cHJvcGVydGll cy5xdWV1ZV9wZXJjZW50ID4gMCAmJgorCQkJCQkgICAgcS0+cHJvcGVydGllcy5xdWV1ZV9hZGRy ZXNzICE9IDApOworCWRxbS0+YXNpY19vcHMuaW5pdF9zZG1hX3ZtKGRxbSwgcSwgcXBkKTsKKwlx LT5wcm9wZXJ0aWVzLnRiYV9hZGRyID0gcXBkLT50YmFfYWRkcjsKKwlxLT5wcm9wZXJ0aWVzLnRt YV9hZGRyID0gcXBkLT50bWFfYWRkcjsKKwlyZXR2YWwgPSBtcWRfbWdyLT5pbml0X21xZChtcWRf bWdyLCAmcS0+bXFkLCAmcS0+bXFkX21lbV9vYmosCisJCQkJJnEtPmdhcnRfbXFkX2FkZHIsICZx LT5wcm9wZXJ0aWVzKTsKKwlpZiAocmV0dmFsKQorCQlnb3RvIG91dDsKKwogCWRxbV9sb2NrKGRx bSk7CiAKIAlpZiAoZHFtLT50b3RhbF9xdWV1ZV9jb3VudCA+PSBtYXhfbnVtX29mX3F1ZXVlc19w ZXJfZGV2aWNlKSB7CkBAIC0xMTgxLDMwICsxMjA4LDYgQEAgc3RhdGljIGludCBjcmVhdGVfcXVl dWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sIHN0cnVjdCBxdWV1ZSAq cSwKIAlpZiAocmV0dmFsKQogCQlnb3RvIG91dF9kZWFsbG9jYXRlX3NkbWFfcXVldWU7CiAKLQlt cWRfbWdyID0gZHFtLT5vcHMuZ2V0X21xZF9tYW5hZ2VyKGRxbSwKLQkJCWdldF9tcWRfdHlwZV9m cm9tX3F1ZXVlX3R5cGUocS0+cHJvcGVydGllcy50eXBlKSk7Ci0KLQlpZiAoIW1xZF9tZ3IpIHsK LQkJcmV0dmFsID0gLUVOT01FTTsKLQkJZ290byBvdXRfZGVhbGxvY2F0ZV9kb29yYmVsbDsKLQl9 Ci0JLyoKLQkgKiBFdmljdGlvbiBzdGF0ZSBsb2dpYzogd2Ugb25seSBtYXJrIGFjdGl2ZSBxdWV1 ZXMgYXMgZXZpY3RlZAotCSAqIHRvIGF2b2lkIHRoZSBvdmVyaGVhZCBvZiByZXN0b3JpbmcgaW5h Y3RpdmUgcXVldWVzIGxhdGVyCi0JICovCi0JaWYgKHFwZC0+ZXZpY3RlZCkKLQkJcS0+cHJvcGVy dGllcy5pc19ldmljdGVkID0gKHEtPnByb3BlcnRpZXMucXVldWVfc2l6ZSA+IDAgJiYKLQkJCQkJ ICAgIHEtPnByb3BlcnRpZXMucXVldWVfcGVyY2VudCA+IDAgJiYKLQkJCQkJICAgIHEtPnByb3Bl cnRpZXMucXVldWVfYWRkcmVzcyAhPSAwKTsKLQotCWRxbS0+YXNpY19vcHMuaW5pdF9zZG1hX3Zt KGRxbSwgcSwgcXBkKTsKLQotCXEtPnByb3BlcnRpZXMudGJhX2FkZHIgPSBxcGQtPnRiYV9hZGRy OwotCXEtPnByb3BlcnRpZXMudG1hX2FkZHIgPSBxcGQtPnRtYV9hZGRyOwotCXJldHZhbCA9IG1x ZF9tZ3ItPmluaXRfbXFkKG1xZF9tZ3IsICZxLT5tcWQsICZxLT5tcWRfbWVtX29iaiwKLQkJCQkm cS0+Z2FydF9tcWRfYWRkciwgJnEtPnByb3BlcnRpZXMpOwotCWlmIChyZXR2YWwpCi0JCWdvdG8g b3V0X2RlYWxsb2NhdGVfZG9vcmJlbGw7CiAKIAlsaXN0X2FkZCgmcS0+bGlzdCwgJnFwZC0+cXVl dWVzX2xpc3QpOwogCXFwZC0+cXVldWVfY291bnQrKzsKQEAgLTEyMjgsMTQgKzEyMzEsMTIgQEAg c3RhdGljIGludCBjcmVhdGVfcXVldWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2Vy ICpkcW0sIHN0cnVjdCBxdWV1ZSAqcSwKIAlkcW1fdW5sb2NrKGRxbSk7CiAJcmV0dXJuIHJldHZh bDsKIAotb3V0X2RlYWxsb2NhdGVfZG9vcmJlbGw6Ci0JZGVhbGxvY2F0ZV9kb29yYmVsbChxcGQs IHEpOwogb3V0X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZToKIAlpZiAocS0+cHJvcGVydGllcy50eXBl ID09IEtGRF9RVUVVRV9UWVBFX1NETUEpCiAJCWRlYWxsb2NhdGVfc2RtYV9xdWV1ZShkcW0sIHEt PnNkbWFfaWQpOwogb3V0X3VubG9jazoKIAlkcW1fdW5sb2NrKGRxbSk7Ci0KK291dDoKIAlyZXR1 cm4gcmV0dmFsOwogfQogCkBAIC0xMzk4LDggKzEzOTksNiBAQCBzdGF0aWMgaW50IGRlc3Ryb3lf cXVldWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sCiAJCQlxcGQtPnJl c2V0X3dhdmVmcm9udHMgPSB0cnVlOwogCX0KIAotCW1xZF9tZ3ItPnVuaW5pdF9tcWQobXFkX21n ciwgcS0+bXFkLCBxLT5tcWRfbWVtX29iaik7Ci0KIAkvKgogCSAqIFVuY29uZGl0aW9uYWxseSBk ZWNyZW1lbnQgdGhpcyBjb3VudGVyLCByZWdhcmRsZXNzIG9mIHRoZSBxdWV1ZSdzCiAJICogdHlw ZQpAQCAtMTQxMCw2ICsxNDA5LDkgQEAgc3RhdGljIGludCBkZXN0cm95X3F1ZXVlX2Nwc2NoKHN0 cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLAogCiAJZHFtX3VubG9jayhkcW0pOwogCisJ LyogRG8gdW5pbml0X21xZCBhZnRlciBkcW1fdW5sb2NrKGRxbSkgdG8gYXZvaWQgY2lyY3VsYXIg bG9ja2luZyAqLworCW1xZF9tZ3ItPnVuaW5pdF9tcWQobXFkX21nciwgcS0+bXFkLCBxLT5tcWRf bWVtX29iaik7CisKIAlyZXR1cm4gcmV0dmFsOwogCiBmYWlsZWQ6CkBAIC0xNjMxLDcgKzE2MzMs MTEgQEAgc3RhdGljIGludCBwcm9jZXNzX3Rlcm1pbmF0aW9uX2Nwc2NoKHN0cnVjdCBkZXZpY2Vf cXVldWVfbWFuYWdlciAqZHFtLAogCQlxcGQtPnJlc2V0X3dhdmVmcm9udHMgPSBmYWxzZTsKIAl9 CiAKLQkvKiBsYXN0bHksIGZyZWUgbXFkIHJlc291cmNlcyAqLworCWRxbV91bmxvY2soZHFtKTsK KworCS8qIExhc3RseSwgZnJlZSBtcWQgcmVzb3VyY2VzLgorCSAqIERvIHVuaW5pdF9tcWQoKSBh ZnRlciBkcW1fdW5sb2NrIHRvIGF2b2lkIGNpcmN1bGFyIGxvY2tpbmcuCisJICovCiAJbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKHEsIG5leHQsICZxcGQtPnF1ZXVlc19saXN0LCBsaXN0KSB7CiAJ CW1xZF9tZ3IgPSBkcW0tPm9wcy5nZXRfbXFkX21hbmFnZXIoZHFtLAogCQkJZ2V0X21xZF90eXBl X2Zyb21fcXVldWVfdHlwZShxLT5wcm9wZXJ0aWVzLnR5cGUpKTsKQEAgLTE2NDUsNyArMTY1MSw2 IEBAIHN0YXRpYyBpbnQgcHJvY2Vzc190ZXJtaW5hdGlvbl9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1 ZXVlX21hbmFnZXIgKmRxbSwKIAl9CiAKIG91dDoKLQlkcW1fdW5sb2NrKGRxbSk7CiAJcmV0dXJu IHJldHZhbDsKIH0KIAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2FtZC1nZngK