From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: [PATCH 10/14] drm/amdkfd: Use ref count to prevent kfd_process destruction Date: Mon, 27 Nov 2017 18:29:52 -0500 Message-ID: <1511825396-24579-11-git-send-email-Felix.Kuehling@amd.com> References: <1511825396-24579-1-git-send-email-Felix.Kuehling@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1511825396-24579-1-git-send-email-Felix.Kuehling-5C7GfCeVMHo@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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, oded.gabbay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Cc: Felix Kuehling VXNlIGEgcmVmZXJlbmNlIGNvdW50ZXIgaW5zdGVhZCBvZiBhIGxvY2sgdG8gcHJldmVudCBwcm9j ZXNzCmRlc3RydWN0aW9uIHdoaWxlIGZ1bmN0aW9ucyBydW5uaW5nIG91dCBvZiBwcm9jZXNzIGNv bnRleHQgYXJlIHVzaW5nCnRoZSBrZmRfcHJvY2VzcyBzdHJ1Y3R1cmUuIEluIG1hbnkgY2FzZXMg dGhlc2UgZnVuY3Rpb25zIGRvbid0IG5lZWQKdGhlIHN0cnVjdHVyZSB0byBiZSBsb2NrZWQuIElu IHRoZSBmZXcgY2FzZXMgdGhhdCByZWFsbHkgZG8gbmVlZCB0aGUKcHJvY2VzcyBsb2NrLCB0YWtl IGl0IGV4cGxpY2l0bHkuCgpUaGlzIGhlbHBzIHNpbXBsaWZ5IGxvY2sgZGVwZW5kZW5jaWVzIGJl dHdlZW4gdGhlIHByb2Nlc3MgbG9jayBhbmQKb3RoZXIgbG9ja3MsIHBhcnRpY3VsYXJseSBhbWRn cHUgYW5kIG1tX3N0cnVjdCBsb2Nrcy4gVGhpcyB3aWxsIGJlCmltcG9ydGFudCB3aGVuIGFtZGdw dSBjYWxscyBiYWNrIHRvIGFtZGtmZCBmb3IgbWVtb3J5IGV2aWN0aW9ucy4KClNpZ25lZC1vZmYt Ynk6IEZlbGl4IEt1ZWhsaW5nIDxGZWxpeC5LdWVobGluZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9ldmVudHMuYyAgfCAxNCArKysrKysrLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaCAgICB8ICAxICsKIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMgfCAxNiArKysrKysrKysrKysrLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9ldmVudHMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1ka2ZkL2tmZF9ldmVudHMuYwppbmRleCBjYjkyZDRiLi45M2FhZTVjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZXZlbnRzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2V2ZW50cy5jCkBAIC00NDEsNyArNDQxLDcgQEAg dm9pZCBrZmRfc2lnbmFsX2V2ZW50X2ludGVycnVwdCh1bnNpZ25lZCBpbnQgcGFzaWQsIHVpbnQz Ml90IHBhcnRpYWxfaWQsCiAJLyoKIAkgKiBCZWNhdXNlIHdlIGFyZSBjYWxsZWQgZnJvbSBhcmJp dHJhcnkgY29udGV4dCAod29ya3F1ZXVlKSBhcyBvcHBvc2VkCiAJICogdG8gcHJvY2VzcyBjb250 ZXh0LCBrZmRfcHJvY2VzcyBjb3VsZCBhdHRlbXB0IHRvIGV4aXQgd2hpbGUgd2UgYXJlCi0JICog cnVubmluZyBzbyB0aGUgbG9va3VwIGZ1bmN0aW9uIHJldHVybnMgYSBsb2NrZWQgcHJvY2Vzcy4K KwkgKiBydW5uaW5nIHNvIHRoZSBsb29rdXAgZnVuY3Rpb24gaW5jcmVtZW50cyB0aGUgcHJvY2Vz cyByZWYgY291bnQuCiAJICovCiAJc3RydWN0IGtmZF9wcm9jZXNzICpwID0ga2ZkX2xvb2t1cF9w cm9jZXNzX2J5X3Bhc2lkKHBhc2lkKTsKIApAQCAtNDkzLDcgKzQ5Myw3IEBAIHZvaWQga2ZkX3Np Z25hbF9ldmVudF9pbnRlcnJ1cHQodW5zaWduZWQgaW50IHBhc2lkLCB1aW50MzJfdCBwYXJ0aWFs X2lkLAogCX0KIAogCW11dGV4X3VubG9jaygmcC0+ZXZlbnRfbXV0ZXgpOwotCW11dGV4X3VubG9j aygmcC0+bXV0ZXgpOworCWtmZF91bnJlZl9wcm9jZXNzKHApOwogfQogCiBzdGF0aWMgc3RydWN0 IGtmZF9ldmVudF93YWl0ZXIgKmFsbG9jX2V2ZW50X3dhaXRlcnModWludDMyX3QgbnVtX2V2ZW50 cykKQEAgLTg0Nyw3ICs4NDcsNyBAQCB2b2lkIGtmZF9zaWduYWxfaW9tbXVfZXZlbnQoc3RydWN0 IGtmZF9kZXYgKmRldiwgdW5zaWduZWQgaW50IHBhc2lkLAogCS8qCiAJICogQmVjYXVzZSB3ZSBh cmUgY2FsbGVkIGZyb20gYXJiaXRyYXJ5IGNvbnRleHQgKHdvcmtxdWV1ZSkgYXMgb3Bwb3NlZAog CSAqIHRvIHByb2Nlc3MgY29udGV4dCwga2ZkX3Byb2Nlc3MgY291bGQgYXR0ZW1wdCB0byBleGl0 IHdoaWxlIHdlIGFyZQotCSAqIHJ1bm5pbmcgc28gdGhlIGxvb2t1cCBmdW5jdGlvbiByZXR1cm5z IGEgbG9ja2VkIHByb2Nlc3MuCisJICogcnVubmluZyBzbyB0aGUgbG9va3VwIGZ1bmN0aW9uIGlu Y3JlbWVudHMgdGhlIHByb2Nlc3MgcmVmIGNvdW50LgogCSAqLwogCXN0cnVjdCBrZmRfcHJvY2Vz cyAqcCA9IGtmZF9sb29rdXBfcHJvY2Vzc19ieV9wYXNpZChwYXNpZCk7CiAJc3RydWN0IG1tX3N0 cnVjdCAqbW07CkBAIC04NjAsNyArODYwLDcgQEAgdm9pZCBrZmRfc2lnbmFsX2lvbW11X2V2ZW50 KHN0cnVjdCBrZmRfZGV2ICpkZXYsIHVuc2lnbmVkIGludCBwYXNpZCwKIAkgKi8KIAltbSA9IGdl dF90YXNrX21tKHAtPmxlYWRfdGhyZWFkKTsKIAlpZiAoIW1tKSB7Ci0JCW11dGV4X3VubG9jaygm cC0+bXV0ZXgpOworCQlrZmRfdW5yZWZfcHJvY2VzcyhwKTsKIAkJcmV0dXJuOyAvKiBQcm9jZXNz IGlzIGV4aXRpbmcgKi8KIAl9CiAKQEAgLTkwMyw3ICs5MDMsNyBAQCB2b2lkIGtmZF9zaWduYWxf aW9tbXVfZXZlbnQoc3RydWN0IGtmZF9kZXYgKmRldiwgdW5zaWduZWQgaW50IHBhc2lkLAogCQkJ Jm1lbW9yeV9leGNlcHRpb25fZGF0YSk7CiAKIAltdXRleF91bmxvY2soJnAtPmV2ZW50X211dGV4 KTsKLQltdXRleF91bmxvY2soJnAtPm11dGV4KTsKKwlrZmRfdW5yZWZfcHJvY2VzcyhwKTsKIH0K IAogdm9pZCBrZmRfc2lnbmFsX2h3X2V4Y2VwdGlvbl9ldmVudCh1bnNpZ25lZCBpbnQgcGFzaWQp CkBAIC05MTEsNyArOTExLDcgQEAgdm9pZCBrZmRfc2lnbmFsX2h3X2V4Y2VwdGlvbl9ldmVudCh1 bnNpZ25lZCBpbnQgcGFzaWQpCiAJLyoKIAkgKiBCZWNhdXNlIHdlIGFyZSBjYWxsZWQgZnJvbSBh cmJpdHJhcnkgY29udGV4dCAod29ya3F1ZXVlKSBhcyBvcHBvc2VkCiAJICogdG8gcHJvY2VzcyBj b250ZXh0LCBrZmRfcHJvY2VzcyBjb3VsZCBhdHRlbXB0IHRvIGV4aXQgd2hpbGUgd2UgYXJlCi0J ICogcnVubmluZyBzbyB0aGUgbG9va3VwIGZ1bmN0aW9uIHJldHVybnMgYSBsb2NrZWQgcHJvY2Vz cy4KKwkgKiBydW5uaW5nIHNvIHRoZSBsb29rdXAgZnVuY3Rpb24gaW5jcmVtZW50cyB0aGUgcHJv Y2VzcyByZWYgY291bnQuCiAJICovCiAJc3RydWN0IGtmZF9wcm9jZXNzICpwID0ga2ZkX2xvb2t1 cF9wcm9jZXNzX2J5X3Bhc2lkKHBhc2lkKTsKIApAQCAtOTI0LDUgKzkyNCw1IEBAIHZvaWQga2Zk X3NpZ25hbF9od19leGNlcHRpb25fZXZlbnQodW5zaWduZWQgaW50IHBhc2lkKQogCWxvb2t1cF9l dmVudHNfYnlfdHlwZV9hbmRfc2lnbmFsKHAsIEtGRF9FVkVOVF9UWVBFX0hXX0VYQ0VQVElPTiwg TlVMTCk7CiAKIAltdXRleF91bmxvY2soJnAtPmV2ZW50X211dGV4KTsKLQltdXRleF91bmxvY2so JnAtPm11dGV4KTsKKwlrZmRfdW5yZWZfcHJvY2VzcyhwKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGtmZC9rZmRfcHJpdi5oCmluZGV4IDI0OGU0ZjUuLjBjOTZhNmIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX3ByaXYuaApAQCAtNjA2LDYgKzYwNiw3IEBAIHZvaWQga2ZkX3Byb2Nlc3Nf ZGVzdHJveV93cSh2b2lkKTsKIHN0cnVjdCBrZmRfcHJvY2VzcyAqa2ZkX2NyZWF0ZV9wcm9jZXNz KHN0cnVjdCBmaWxlICpmaWxlcCk7CiBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKmtmZF9nZXRfcHJvY2Vz cyhjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKik7CiBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKmtmZF9s b29rdXBfcHJvY2Vzc19ieV9wYXNpZCh1bnNpZ25lZCBpbnQgcGFzaWQpOwordm9pZCBrZmRfdW5y ZWZfcHJvY2VzcyhzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKnApOwogCiBzdHJ1Y3Qga2ZkX3Byb2Nlc3Nf ZGV2aWNlICprZmRfYmluZF9wcm9jZXNzX3RvX2RldmljZShzdHJ1Y3Qga2ZkX2RldiAqZGV2LAog CQkJCQkJc3RydWN0IGtmZF9wcm9jZXNzICpwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9r ZmRfcHJvY2Vzcy5jCmluZGV4IGUwMmU4YTIuLjUwOWY5ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX3Byb2Nlc3MuYwpAQCAtNDksNiArNDksNyBAQCBERUZJTkVfU1RBVElDX1NS Q1Uoa2ZkX3Byb2Nlc3Nlc19zcmN1KTsKIHN0YXRpYyBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAq a2ZkX3Byb2Nlc3Nfd3E7CiAKIHN0YXRpYyBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKmZpbmRfcHJvY2Vz cyhjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRocmVhZCk7CitzdGF0aWMgdm9pZCBrZmRfcHJv Y2Vzc19yZWZfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqcmVmKTsKIHN0YXRpYyBzdHJ1Y3Qga2ZkX3By b2Nlc3MgKmNyZWF0ZV9wcm9jZXNzKGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqdGhyZWFkKTsK IHN0YXRpYyBpbnQga2ZkX3Byb2Nlc3NfaW5pdF9jd3NyKHN0cnVjdCBrZmRfcHJvY2VzcyAqcCwg c3RydWN0IGZpbGUgKmZpbGVwKTsKIApAQCAtMTQ2LDYgKzE0NywxMSBAQCBzdGF0aWMgc3RydWN0 IGtmZF9wcm9jZXNzICpmaW5kX3Byb2Nlc3MoY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICp0aHJl YWQpCiAJcmV0dXJuIHA7CiB9CiAKK3ZvaWQga2ZkX3VucmVmX3Byb2Nlc3Moc3RydWN0IGtmZF9w cm9jZXNzICpwKQoreworCWtyZWZfcHV0KCZwLT5yZWYsIGtmZF9wcm9jZXNzX3JlZl9yZWxlYXNl KTsKK30KKwogLyogTm8gcHJvY2VzcyBsb2NraW5nIGlzIG5lZWRlZCBpbiB0aGlzIGZ1bmN0aW9u LCBiZWNhdXNlIHRoZSBwcm9jZXNzCiAgKiBpcyBub3QgZmluZGFibGUgYW55IG1vcmUuIFdlIG11 c3QgYXNzdW1lIHRoYXQgbm8gb3RoZXIgdGhyZWFkIGlzCiAgKiB1c2luZyBpdCBhbnkgbW9yZSwg b3RoZXJ3aXNlIHdlIGNvdWxkbid0IHNhZmVseSBmcmVlIHRoZSBwcm9jZXNzCkBAIC0yMDEsNyAr MjA3LDcgQEAgc3RhdGljIHZvaWQga2ZkX3Byb2Nlc3NfZGVzdHJveV9kZWxheWVkKHN0cnVjdCBy Y3VfaGVhZCAqcmN1KQogewogCXN0cnVjdCBrZmRfcHJvY2VzcyAqcCA9IGNvbnRhaW5lcl9vZihy Y3UsIHN0cnVjdCBrZmRfcHJvY2VzcywgcmN1KTsKIAotCWtyZWZfcHV0KCZwLT5yZWYsIGtmZF9w cm9jZXNzX3JlZl9yZWxlYXNlKTsKKwlrZmRfdW5yZWZfcHJvY2VzcyhwKTsKIH0KIAogc3RhdGlj IHZvaWQga2ZkX3Byb2Nlc3Nfbm90aWZpZXJfcmVsZWFzZShzdHJ1Y3QgbW11X25vdGlmaWVyICpt biwKQEAgLTUyNSw2ICs1MzEsOCBAQCB2b2lkIGtmZF9wcm9jZXNzX2lvbW11X3VuYmluZF9jYWxs YmFjayhzdHJ1Y3Qga2ZkX2RldiAqZGV2LCB1bnNpZ25lZCBpbnQgcGFzaWQpCiAKIAltdXRleF91 bmxvY2soa2ZkX2dldF9kYmdtZ3JfbXV0ZXgoKSk7CiAKKwltdXRleF9sb2NrKCZwLT5tdXRleCk7 CisKIAlwZGQgPSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwKTsKIAlpZiAocGRk KQogCQkvKiBGb3IgR1BVIHJlbHlpbmcgb24gSU9NTVUsIHdlIG5lZWQgdG8gZGVxdWV1ZSBoZXJl CkBAIC01MzMsNiArNTQxLDggQEAgdm9pZCBrZmRfcHJvY2Vzc19pb21tdV91bmJpbmRfY2FsbGJh Y2soc3RydWN0IGtmZF9kZXYgKmRldiwgdW5zaWduZWQgaW50IHBhc2lkKQogCQlrZmRfcHJvY2Vz c19kZXF1ZXVlX2Zyb21fZGV2aWNlKHBkZCk7CiAKIAltdXRleF91bmxvY2soJnAtPm11dGV4KTsK KworCWtmZF91bnJlZl9wcm9jZXNzKHApOwogfQogCiBzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNl ICprZmRfZ2V0X2ZpcnN0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoCkBAIC01NTcsNyArNTY3LDcgQEAg Ym9vbCBrZmRfaGFzX3Byb2Nlc3NfZGV2aWNlX2RhdGEoc3RydWN0IGtmZF9wcm9jZXNzICpwKQog CXJldHVybiAhKGxpc3RfZW1wdHkoJnAtPnBlcl9kZXZpY2VfZGF0YSkpOwogfQogCi0vKiBUaGlz IHJldHVybnMgd2l0aCBwcm9jZXNzLT5tdXRleCBsb2NrZWQuICovCisvKiBUaGlzIGluY3JlbWVu dHMgdGhlIHByb2Nlc3MtPnJlZiBjb3VudGVyLiAqLwogc3RydWN0IGtmZF9wcm9jZXNzICprZmRf bG9va3VwX3Byb2Nlc3NfYnlfcGFzaWQodW5zaWduZWQgaW50IHBhc2lkKQogewogCXN0cnVjdCBr ZmRfcHJvY2VzcyAqcDsKQEAgLTU2Nyw3ICs1NzcsNyBAQCBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKmtm ZF9sb29rdXBfcHJvY2Vzc19ieV9wYXNpZCh1bnNpZ25lZCBpbnQgcGFzaWQpCiAKIAloYXNoX2Zv cl9lYWNoX3JjdShrZmRfcHJvY2Vzc2VzX3RhYmxlLCB0ZW1wLCBwLCBrZmRfcHJvY2Vzc2VzKSB7 CiAJCWlmIChwLT5wYXNpZCA9PSBwYXNpZCkgewotCQkJbXV0ZXhfbG9jaygmcC0+bXV0ZXgpOwor CQkJa3JlZl9nZXQoJnAtPnJlZik7CiAJCQlicmVhazsKIAkJfQogCX0KLS0gCjIuNy40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxp bmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK