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 v2 Date: Mon, 4 Feb 2019 15:06:55 +0000 Message-ID: <20190204150613.5837-3-Philip.Yang@amd.com> References: <20190204150613.5837-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: <20190204150613.5837-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 bWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jIHwgMzIgKysrKysrKysrKy0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVf bWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9t YW5hZ2VyLmMKaW5kZXggODM3MjU1NmI1MmViLi5lZmUwZDNjMDIxNWIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jCkBA IC0xMTU2LDIxICsxMTU2LDE3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3F1ZXVlX2Nwc2NoKHN0cnVj dCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLCBzdHJ1Y3QgcXVldWUgKnEsCiAJaW50IHJldHZh bDsKIAlzdHJ1Y3QgbXFkX21hbmFnZXIgKm1xZF9tZ3I7CiAKLQlyZXR2YWwgPSAwOwotCi0JZHFt X2xvY2soZHFtKTsKLQogCWlmIChkcW0tPnRvdGFsX3F1ZXVlX2NvdW50ID49IG1heF9udW1fb2Zf cXVldWVzX3Blcl9kZXZpY2UpIHsKIAkJcHJfd2FybigiQ2FuJ3QgY3JlYXRlIG5ldyB1c2VybW9k ZSBxdWV1ZSBiZWNhdXNlICVkIHF1ZXVlcyB3ZXJlIGFscmVhZHkgY3JlYXRlZFxuIiwKIAkJCQlk cW0tPnRvdGFsX3F1ZXVlX2NvdW50KTsKIAkJcmV0dmFsID0gLUVQRVJNOwotCQlnb3RvIG91dF91 bmxvY2s7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmIChxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZE X1FVRVVFX1RZUEVfU0RNQSkgewogCQlyZXR2YWwgPSBhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwg JnEtPnNkbWFfaWQpOwogCQlpZiAocmV0dmFsKQotCQkJZ290byBvdXRfdW5sb2NrOworCQkJZ290 byBvdXQ7CiAJCXEtPnByb3BlcnRpZXMuc2RtYV9xdWV1ZV9pZCA9CiAJCQlxLT5zZG1hX2lkIC8g Z2V0X251bV9zZG1hX2VuZ2luZXMoZHFtKTsKIAkJcS0+cHJvcGVydGllcy5zZG1hX2VuZ2luZV9p ZCA9CkBAIC0xMTgxLDYgKzExNzcsOSBAQCBzdGF0aWMgaW50IGNyZWF0ZV9xdWV1ZV9jcHNjaChz dHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwgc3RydWN0IHF1ZXVlICpxLAogCWlmIChy ZXR2YWwpCiAJCWdvdG8gb3V0X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZTsKIAorCS8qIERvIGluaXRf bXFkIGJlZm9yZSBkcW1fbG9jayhkcW0pIHRvIGF2b2lkIGNpcmN1bGFyIGxvY2tpbmcgb3JkZXI6 CisJICogbG9jayhkcW0pIC0+IGJvOjpyZXNlcnZlCisJICovCiAJbXFkX21nciA9IGRxbS0+b3Bz LmdldF9tcWRfbWFuYWdlcihkcW0sCiAJCQlnZXRfbXFkX3R5cGVfZnJvbV9xdWV1ZV90eXBlKHEt PnByb3BlcnRpZXMudHlwZSkpOwogCkBAIC0xMTg4LDYgKzExODcsNyBAQCBzdGF0aWMgaW50IGNy ZWF0ZV9xdWV1ZV9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwgc3RydWN0 IHF1ZXVlICpxLAogCQlyZXR2YWwgPSAtRU5PTUVNOwogCQlnb3RvIG91dF9kZWFsbG9jYXRlX2Rv b3JiZWxsOwogCX0KKwogCS8qCiAJICogRXZpY3Rpb24gc3RhdGUgbG9naWM6IHdlIG9ubHkgbWFy ayBhY3RpdmUgcXVldWVzIGFzIGV2aWN0ZWQKIAkgKiB0byBhdm9pZCB0aGUgb3ZlcmhlYWQgb2Yg cmVzdG9yaW5nIGluYWN0aXZlIHF1ZXVlcyBsYXRlcgpAQCAtMTE5Niw5ICsxMTk2LDcgQEAgc3Rh dGljIGludCBjcmVhdGVfcXVldWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpk cW0sIHN0cnVjdCBxdWV1ZSAqcSwKIAkJcS0+cHJvcGVydGllcy5pc19ldmljdGVkID0gKHEtPnBy b3BlcnRpZXMucXVldWVfc2l6ZSA+IDAgJiYKIAkJCQkJICAgIHEtPnByb3BlcnRpZXMucXVldWVf cGVyY2VudCA+IDAgJiYKIAkJCQkJICAgIHEtPnByb3BlcnRpZXMucXVldWVfYWRkcmVzcyAhPSAw KTsKLQogCWRxbS0+YXNpY19vcHMuaW5pdF9zZG1hX3ZtKGRxbSwgcSwgcXBkKTsKLQogCXEtPnBy b3BlcnRpZXMudGJhX2FkZHIgPSBxcGQtPnRiYV9hZGRyOwogCXEtPnByb3BlcnRpZXMudG1hX2Fk ZHIgPSBxcGQtPnRtYV9hZGRyOwogCXJldHZhbCA9IG1xZF9tZ3ItPmluaXRfbXFkKG1xZF9tZ3Is ICZxLT5tcWQsICZxLT5tcWRfbWVtX29iaiwKQEAgLTEyMDYsNiArMTIwNCw4IEBAIHN0YXRpYyBp bnQgY3JlYXRlX3F1ZXVlX2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLCBz dHJ1Y3QgcXVldWUgKnEsCiAJaWYgKHJldHZhbCkKIAkJZ290byBvdXRfZGVhbGxvY2F0ZV9kb29y YmVsbDsKIAorCWRxbV9sb2NrKGRxbSk7CisKIAlsaXN0X2FkZCgmcS0+bGlzdCwgJnFwZC0+cXVl dWVzX2xpc3QpOwogCXFwZC0+cXVldWVfY291bnQrKzsKIAlpZiAocS0+cHJvcGVydGllcy5pc19h Y3RpdmUpIHsKQEAgLTEyMzMsOSArMTIzMyw3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3F1ZXVlX2Nw c2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLCBzdHJ1Y3QgcXVldWUgKnEsCiBv dXRfZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlOgogCWlmIChxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZE X1FVRVVFX1RZUEVfU0RNQSkKIAkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwgcS0+c2RtYV9p ZCk7Ci1vdXRfdW5sb2NrOgotCWRxbV91bmxvY2soZHFtKTsKLQorb3V0OgogCXJldHVybiByZXR2 YWw7CiB9CiAKQEAgLTEzOTgsOCArMTM5Niw2IEBAIHN0YXRpYyBpbnQgZGVzdHJveV9xdWV1ZV9j cHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwKIAkJCXFwZC0+cmVzZXRfd2F2 ZWZyb250cyA9IHRydWU7CiAJfQogCi0JbXFkX21nci0+dW5pbml0X21xZChtcWRfbWdyLCBxLT5t cWQsIHEtPm1xZF9tZW1fb2JqKTsKLQogCS8qCiAJICogVW5jb25kaXRpb25hbGx5IGRlY3JlbWVu dCB0aGlzIGNvdW50ZXIsIHJlZ2FyZGxlc3Mgb2YgdGhlIHF1ZXVlJ3MKIAkgKiB0eXBlCkBAIC0x NDEwLDYgKzE0MDYsOSBAQCBzdGF0aWMgaW50IGRlc3Ryb3lfcXVldWVfY3BzY2goc3RydWN0IGRl dmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sCiAKIAlkcW1fdW5sb2NrKGRxbSk7CiAKKwkvKiBEbyB1 bmluaXRfbXFkIGFmdGVyIGRxbV91bmxvY2soZHFtKSB0byBhdm9pZCBjaXJjdWxhciBsb2NraW5n ICovCisJbXFkX21nci0+dW5pbml0X21xZChtcWRfbWdyLCBxLT5tcWQsIHEtPm1xZF9tZW1fb2Jq KTsKKwogCXJldHVybiByZXR2YWw7CiAKIGZhaWxlZDoKQEAgLTE2MzEsNyArMTYzMCwxMSBAQCBz dGF0aWMgaW50IHByb2Nlc3NfdGVybWluYXRpb25fY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9t YW5hZ2VyICpkcW0sCiAJCXFwZC0+cmVzZXRfd2F2ZWZyb250cyA9IGZhbHNlOwogCX0KIAotCS8q IGxhc3RseSwgZnJlZSBtcWQgcmVzb3VyY2VzICovCisJZHFtX3VubG9jayhkcW0pOworCisJLyog TGFzdGx5LCBmcmVlIG1xZCByZXNvdXJjZXMuCisJICogRG8gdW5pbml0X21xZCgpIGFmdGVyIGRx bV91bmxvY2sgdG8gYXZvaWQgY2lyY3VsYXIgbG9ja2luZy4KKwkgKi8KIAlsaXN0X2Zvcl9lYWNo X2VudHJ5X3NhZmUocSwgbmV4dCwgJnFwZC0+cXVldWVzX2xpc3QsIGxpc3QpIHsKIAkJbXFkX21n ciA9IGRxbS0+b3BzLmdldF9tcWRfbWFuYWdlcihkcW0sCiAJCQlnZXRfbXFkX3R5cGVfZnJvbV9x dWV1ZV90eXBlKHEtPnByb3BlcnRpZXMudHlwZSkpOwpAQCAtMTY0NSw3ICsxNjQ4LDYgQEAgc3Rh dGljIGludCBwcm9jZXNzX3Rlcm1pbmF0aW9uX2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFu YWdlciAqZHFtLAogCX0KIAogb3V0OgotCWRxbV91bmxvY2soZHFtKTsKIAlyZXR1cm4gcmV0dmFs OwogfQogCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAo=