From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: [PATCH 09/14] drm/amdkfd: Make kfd_process reference counted Date: Mon, 27 Nov 2017 18:29:51 -0500 Message-ID: <1511825396-24579-10-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 VGhpcyB3aWxsIGJlIHVzZWQgdG8gZWxsaW1pbmF0ZSB0aGUgdXNlIG9mIHRoZSBwcm9jZXNzIGxv Y2sgZm9yCnByZXZlbnRpbmcgY29uY3VycmVudCBwcm9jZXNzIGRlc3RydWN0aW9uLiBUaGlzIHdp bGwgc2ltcGxpZnkgbG9jawpkZXBlbmRlbmNpZXMgYmV0d2VlbiBLRkQgYW5kIEtHRC4KClRoaXMg YWxzbyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIGRlc3RydWN0aW9uIGluIGEgZmV3IHdheXM6Ciog RG9uJ3QgYWxsb2NhdGUgd29yayBzdHJ1Y3QgZHluYW1pY2FsbHkKKiBSZW1vdmUgdW5uZWNlc3Nh cnkgaGFjayB0aGF0IGluY3JlbWVudHMgbW0gcmVmZXJlbmNlIGNvdW50ZXIKKiBSZW1vdmUgdW5u ZWNlc3NhcnkgcHJvY2VzcyBsb2NraW5nIGR1cmluZyBkZXN0cnVjdGlvbgoKU2lnbmVkLW9mZi1i eTogRmVsaXggS3VlaGxpbmcgPEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaCAgICB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRrZmQva2ZkX3Byb2Nlc3MuYyB8IDU4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJpdi5oCmluZGV4IGRjYTQ5M2IuLjI0OGU0 ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaApAQCAtMzQsNiArMzQsNyBA QAogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgogI2luY2x1ZGUgPGxpbnV4L2tmaWZvLmg+CiAjaW5j bHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CiAjaW5jbHVk ZSA8a2dkX2tmZF9pbnRlcmZhY2UuaD4KIAogI2luY2x1ZGUgImFtZF9zaGFyZWQuaCIKQEAgLTUz Nyw2ICs1MzgsOSBAQCBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgewogCSAqLwogCXZvaWQgKm1tOwogCisJ c3RydWN0IGtyZWYgcmVmOworCXN0cnVjdCB3b3JrX3N0cnVjdCByZWxlYXNlX3dvcms7CisKIAlz dHJ1Y3QgbXV0ZXggbXV0ZXg7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX3Byb2Nlc3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9w cm9jZXNzLmMKaW5kZXggNjYwZDhiYy4uZTAyZThhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRrZmQva2ZkX3Byb2Nlc3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGtmZC9rZmRfcHJvY2Vzcy5jCkBAIC00OCwxMSArNDgsNiBAQCBERUZJTkVfU1RBVElDX1NSQ1Uo a2ZkX3Byb2Nlc3Nlc19zcmN1KTsKIAogc3RhdGljIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpr ZmRfcHJvY2Vzc193cTsKIAotc3RydWN0IGtmZF9wcm9jZXNzX3JlbGVhc2Vfd29yayB7Ci0Jc3Ry dWN0IHdvcmtfc3RydWN0IGtmZF93b3JrOwotCXN0cnVjdCBrZmRfcHJvY2VzcyAqcDsKLX07Ci0K IHN0YXRpYyBzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKmZpbmRfcHJvY2Vzcyhjb25zdCBzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnRocmVhZCk7CiBzdGF0aWMgc3RydWN0IGtmZF9wcm9jZXNzICpjcmVhdGVfcHJv Y2Vzcyhjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRocmVhZCk7CiBzdGF0aWMgaW50IGtmZF9w cm9jZXNzX2luaXRfY3dzcihzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKnAsIHN0cnVjdCBmaWxlICpmaWxl cCk7CkBAIC0xNTEsMjEgKzE0NiwyMCBAQCBzdGF0aWMgc3RydWN0IGtmZF9wcm9jZXNzICpmaW5k X3Byb2Nlc3MoY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICp0aHJlYWQpCiAJcmV0dXJuIHA7CiB9 CiAKKy8qIE5vIHByb2Nlc3MgbG9ja2luZyBpcyBuZWVkZWQgaW4gdGhpcyBmdW5jdGlvbiwgYmVj YXVzZSB0aGUgcHJvY2VzcworICogaXMgbm90IGZpbmRhYmxlIGFueSBtb3JlLiBXZSBtdXN0IGFz c3VtZSB0aGF0IG5vIG90aGVyIHRocmVhZCBpcworICogdXNpbmcgaXQgYW55IG1vcmUsIG90aGVy d2lzZSB3ZSBjb3VsZG4ndCBzYWZlbHkgZnJlZSB0aGUgcHJvY2VzcworICogc3RydWN0dXJlIGlu IHRoZSBlbmQuCisgKi8KIHN0YXRpYyB2b2lkIGtmZF9wcm9jZXNzX3dxX3JlbGVhc2Uoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQogewotCXN0cnVjdCBrZmRfcHJvY2Vzc19yZWxlYXNlX3dvcmsg Km15X3dvcms7CisJc3RydWN0IGtmZF9wcm9jZXNzICpwID0gY29udGFpbmVyX29mKHdvcmssIHN0 cnVjdCBrZmRfcHJvY2VzcywKKwkJCQkJICAgICByZWxlYXNlX3dvcmspOwogCXN0cnVjdCBrZmRf cHJvY2Vzc19kZXZpY2UgKnBkZCwgKnRlbXA7Ci0Jc3RydWN0IGtmZF9wcm9jZXNzICpwOwotCi0J bXlfd29yayA9IChzdHJ1Y3Qga2ZkX3Byb2Nlc3NfcmVsZWFzZV93b3JrICopIHdvcms7Ci0KLQlw ID0gbXlfd29yay0+cDsKIAogCXByX2RlYnVnKCJSZWxlYXNpbmcgcHJvY2VzcyAocGFzaWQgJWQp IGluIHdvcmtxdWV1ZVxuIiwKIAkJCXAtPnBhc2lkKTsKIAotCW11dGV4X2xvY2soJnAtPm11dGV4 KTsKLQogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwZGQsIHRlbXAsICZwLT5wZXJfZGV2aWNl X2RhdGEsCiAJCQkJCQkJcGVyX2RldmljZV9saXN0KSB7CiAJCXByX2RlYnVnKCJSZWxlYXNpbmcg cGRkICh0b3BvbG9neSBpZCAlZCkgZm9yIHByb2Nlc3MgKHBhc2lkICVkKSBpbiB3b3JrcXVldWVc biIsCkBAIC0xODgsMzMgKzE4MiwyNiBAQCBzdGF0aWMgdm9pZCBrZmRfcHJvY2Vzc193cV9yZWxl YXNlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlrZmRfcGFzaWRfZnJlZShwLT5wYXNpZCk7 CiAJa2ZkX2ZyZWVfcHJvY2Vzc19kb29yYmVsbHMocCk7CiAKLQltdXRleF91bmxvY2soJnAtPm11 dGV4KTsKLQogCW11dGV4X2Rlc3Ryb3koJnAtPm11dGV4KTsKIAogCXB1dF90YXNrX3N0cnVjdChw LT5sZWFkX3RocmVhZCk7CiAKIAlrZnJlZShwKTsKLQotCWtmcmVlKHdvcmspOwogfQogCi1zdGF0 aWMgdm9pZCBrZmRfcHJvY2Vzc19kZXN0cm95X2RlbGF5ZWQoc3RydWN0IHJjdV9oZWFkICpyY3Up CitzdGF0aWMgdm9pZCBrZmRfcHJvY2Vzc19yZWZfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqcmVmKQog ewotCXN0cnVjdCBrZmRfcHJvY2Vzc19yZWxlYXNlX3dvcmsgKndvcms7Ci0Jc3RydWN0IGtmZF9w cm9jZXNzICpwOwotCi0JcCA9IGNvbnRhaW5lcl9vZihyY3UsIHN0cnVjdCBrZmRfcHJvY2Vzcywg cmN1KTsKKwlzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKnAgPSBjb250YWluZXJfb2YocmVmLCBzdHJ1Y3Qg a2ZkX3Byb2Nlc3MsIHJlZik7CiAKLQltbWRyb3AocC0+bW0pOworCUlOSVRfV09SSygmcC0+cmVs ZWFzZV93b3JrLCBrZmRfcHJvY2Vzc193cV9yZWxlYXNlKTsKKwlxdWV1ZV93b3JrKGtmZF9wcm9j ZXNzX3dxLCAmcC0+cmVsZWFzZV93b3JrKTsKK30KIAotCXdvcmsgPSBrbWFsbG9jKHNpemVvZihz dHJ1Y3Qga2ZkX3Byb2Nlc3NfcmVsZWFzZV93b3JrKSwgR0ZQX0FUT01JQyk7CitzdGF0aWMgdm9p ZCBrZmRfcHJvY2Vzc19kZXN0cm95X2RlbGF5ZWQoc3RydWN0IHJjdV9oZWFkICpyY3UpCit7CisJ c3RydWN0IGtmZF9wcm9jZXNzICpwID0gY29udGFpbmVyX29mKHJjdSwgc3RydWN0IGtmZF9wcm9j ZXNzLCByY3UpOwogCi0JaWYgKHdvcmspIHsKLQkJSU5JVF9XT1JLKChzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKikgd29yaywga2ZkX3Byb2Nlc3Nfd3FfcmVsZWFzZSk7Ci0JCXdvcmstPnAgPSBwOwotCQlx dWV1ZV93b3JrKGtmZF9wcm9jZXNzX3dxLCAoc3RydWN0IHdvcmtfc3RydWN0ICopIHdvcmspOwot CX0KKwlrcmVmX3B1dCgmcC0+cmVmLCBrZmRfcHJvY2Vzc19yZWZfcmVsZWFzZSk7CiB9CiAKIHN0 YXRpYyB2b2lkIGtmZF9wcm9jZXNzX25vdGlmaWVyX3JlbGVhc2Uoc3RydWN0IG1tdV9ub3RpZmll ciAqbW4sCkBAIC0yNTgsMTUgKzI0NSwxMiBAQCBzdGF0aWMgdm9pZCBrZmRfcHJvY2Vzc19ub3Rp Zmllcl9yZWxlYXNlKHN0cnVjdCBtbXVfbm90aWZpZXIgKm1uLAogCWtmZF9wcm9jZXNzX2RlcXVl dWVfZnJvbV9hbGxfZGV2aWNlcyhwKTsKIAlwcW1fdW5pbml0KCZwLT5wcW0pOwogCisJLyogSW5k aWNhdGUgdG8gb3RoZXIgdXNlcnMgdGhhdCBNTSBpcyBubyBsb25nZXIgdmFsaWQgKi8KKwlwLT5t bSA9IE5VTEw7CisKIAltdXRleF91bmxvY2soJnAtPm11dGV4KTsKIAotCS8qCi0JICogQmVjYXVz ZSB3ZSBkcm9wIG1tX2NvdW50IGluc2lkZSBrZmRfcHJvY2Vzc19kZXN0cm95X2RlbGF5ZWQKLQkg KiBhbmQgYmVjYXVzZSB0aGUgbW11X25vdGlmaWVyX3VucmVnaXN0ZXIgZnVuY3Rpb24gYWxzbyBk cm9wCi0JICogbW1fY291bnQgd2UgbmVlZCB0byB0YWtlIGFuIGV4dHJhIGNvdW50IGhlcmUuCi0J ICovCi0JbW1ncmFiKHAtPm1tKTsKLQltbXVfbm90aWZpZXJfdW5yZWdpc3Rlcl9ub19yZWxlYXNl KCZwLT5tbXVfbm90aWZpZXIsIHAtPm1tKTsKKwltbXVfbm90aWZpZXJfdW5yZWdpc3Rlcl9ub19y ZWxlYXNlKCZwLT5tbXVfbm90aWZpZXIsIG1tKTsKIAltbXVfbm90aWZpZXJfY2FsbF9zcmN1KCZw LT5yY3UsICZrZmRfcHJvY2Vzc19kZXN0cm95X2RlbGF5ZWQpOwogfQogCkBAIC0zMzEsNiArMzE1 LDggQEAgc3RhdGljIHN0cnVjdCBrZmRfcHJvY2VzcyAqY3JlYXRlX3Byb2Nlc3MoY29uc3Qgc3Ry dWN0IHRhc2tfc3RydWN0ICp0aHJlYWQpCiAJaWYgKGtmZF9hbGxvY19wcm9jZXNzX2Rvb3JiZWxs cyhwcm9jZXNzKSA8IDApCiAJCWdvdG8gZXJyX2FsbG9jX2Rvb3JiZWxsczsKIAorCWtyZWZfaW5p dCgmcHJvY2Vzcy0+cmVmKTsKKwogCW11dGV4X2luaXQoJnByb2Nlc3MtPm11dGV4KTsKIAogCXBy b2Nlc3MtPm1tID0gdGhyZWFkLT5tbTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngK