From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zeng, Oak" Subject: [PATCH 6/6] drm/amdkfd: Fix sdma queue allocate race condition Date: Thu, 6 Jun 2019 18:25:18 +0000 Message-ID: <1559845507-3052-3-git-send-email-Oak.Zeng@amd.com> References: <1559845507-3052-1-git-send-email-Oak.Zeng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1559845507-3052-1-git-send-email-Oak.Zeng-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: "Zhao, Yong" , "Kuehling, Felix" , "Freehill, Chris" , "Zeng, Oak" , "Liu, Alex" U0RNQSBxdWV1ZSBhbGxvY2F0aW9uIHJlcXVpcmVzIHRoZSBkcW0gbG9jayBhdCBpdCBtb2RpZnkN CnRoZSBnbG9iYWwgZHFtIG1lbWJlcnMuIE1vdmUgdXAgdGhlIGRxbV9sb2NrIHNvIHNkbWENCnF1 ZXVlIGFsbG9jYXRpb24gaXMgZW5jbG9zZWQgaW4gdGhlIGNyaXRpY2FsIHNlY3Rpb24uIE1vdmUN Cm1xZCBhbGxvY2F0aW9uIG91dCBvZiBjcml0aWNhbCBzZWN0aW9uIHRvIGF2b2lkIGNpcmN1bGFy DQpsb2NrIGRlcGVuZGVuY3kuDQoNCkNoYW5nZS1JZDogSTk2YWJkNDJlYWU2ZTc3YzgyYTViYTFi OGU2MDBhZjNlZmU4ZDc5MWQNClNpZ25lZC1vZmYtYnk6IE9hayBaZW5nIDxPYWsuWmVuZ0BhbWQu Y29tPg0KLS0tDQogLi4uL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlX3F1ZXVlX21hbmFn ZXIuYyAgfCAyNCArKysrKysrKysrKy0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlX3F1ZXVlX21hbmFnZXIuYw0KaW5kZXggMTY2NjM2Yy4u Y2QyNTliOCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZp Y2VfcXVldWVfbWFuYWdlci5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRf ZGV2aWNlX3F1ZXVlX21hbmFnZXIuYw0KQEAgLTExMzMsMjMgKzExMzMsMjcgQEAgc3RhdGljIGlu dCBjcmVhdGVfcXVldWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sIHN0 cnVjdCBxdWV1ZSAqcSwNCiAJaWYgKGRxbS0+dG90YWxfcXVldWVfY291bnQgPj0gbWF4X251bV9v Zl9xdWV1ZXNfcGVyX2RldmljZSkgew0KIAkJcHJfd2FybigiQ2FuJ3QgY3JlYXRlIG5ldyB1c2Vy bW9kZSBxdWV1ZSBiZWNhdXNlICVkIHF1ZXVlcyB3ZXJlIGFscmVhZHkgY3JlYXRlZFxuIiwNCiAJ CQkJZHFtLT50b3RhbF9xdWV1ZV9jb3VudCk7DQotCQlyZXR2YWwgPSAtRVBFUk07DQotCQlnb3Rv IG91dDsNCisJCXJldHVybiAtRVBFUk07DQogCX0NCiANCisJbXFkX21nciA9IGRxbS0+bXFkX21n cnNbZ2V0X21xZF90eXBlX2Zyb21fcXVldWVfdHlwZSgNCisJCQlxLT5wcm9wZXJ0aWVzLnR5cGUp XTsNCisJcS0+bXFkX21lbV9vYmogPSBtcWRfbWdyLT5hbGxvY2F0ZV9tcWQobXFkX21nci0+ZGV2 LCAmcS0+cHJvcGVydGllcyk7DQorCWlmICghcS0+bXFkX21lbV9vYmopDQorCQlyZXR1cm4gLUVO T01FTTsNCisNCisJZHFtX2xvY2soZHFtKTsNCiAJaWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBL RkRfUVVFVUVfVFlQRV9TRE1BIHx8DQogCQlxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVF X1RZUEVfU0RNQV9YR01JKSB7DQogCQlyZXR2YWwgPSBhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwg cSk7DQogCQlpZiAocmV0dmFsKQ0KLQkJCWdvdG8gb3V0Ow0KKwkJCWdvdG8gb3V0X3VubG9jazsN CiAJfQ0KIA0KIAlyZXR2YWwgPSBhbGxvY2F0ZV9kb29yYmVsbChxcGQsIHEpOw0KIAlpZiAocmV0 dmFsKQ0KIAkJZ290byBvdXRfZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlOw0KIA0KLQltcWRfbWdyID0g ZHFtLT5tcWRfbWdyc1tnZXRfbXFkX3R5cGVfZnJvbV9xdWV1ZV90eXBlKA0KLQkJCXEtPnByb3Bl cnRpZXMudHlwZSldOw0KIAkvKg0KIAkgKiBFdmljdGlvbiBzdGF0ZSBsb2dpYzogbWFyayBhbGwg cXVldWVzIGFzIGV2aWN0ZWQsIGV2ZW4gb25lcw0KIAkgKiBub3QgY3VycmVudGx5IGFjdGl2ZS4g UmVzdG9yaW5nIGluYWN0aXZlIHF1ZXVlcyBsYXRlciBvbmx5DQpAQCAtMTE2MSwxMiArMTE2NSw4 IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3F1ZXVlX2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFu YWdlciAqZHFtLCBzdHJ1Y3QgcXVldWUgKnEsDQogCQlkcW0tPmFzaWNfb3BzLmluaXRfc2RtYV92 bShkcW0sIHEsIHFwZCk7DQogCXEtPnByb3BlcnRpZXMudGJhX2FkZHIgPSBxcGQtPnRiYV9hZGRy Ow0KIAlxLT5wcm9wZXJ0aWVzLnRtYV9hZGRyID0gcXBkLT50bWFfYWRkcjsNCi0JcS0+bXFkX21l bV9vYmogPSBtcWRfbWdyLT5hbGxvY2F0ZV9tcWQobXFkX21nci0+ZGV2LCAmcS0+cHJvcGVydGll cyk7DQotCWlmICghcS0+bXFkX21lbV9vYmopDQotCQlnb3RvIG91dF9kZWFsbG9jYXRlX2Rvb3Ji ZWxsOw0KIAltcWRfbWdyLT5pbml0X21xZChtcWRfbWdyLCAmcS0+bXFkLCBxLT5tcWRfbWVtX29i aiwNCiAJCQkJJnEtPmdhcnRfbXFkX2FkZHIsICZxLT5wcm9wZXJ0aWVzKTsNCi0JZHFtX2xvY2so ZHFtKTsNCiANCiAJbGlzdF9hZGQoJnEtPmxpc3QsICZxcGQtPnF1ZXVlc19saXN0KTsNCiAJcXBk LT5xdWV1ZV9jb3VudCsrOw0KQEAgLTExOTIsMTMgKzExOTIsMTMgQEAgc3RhdGljIGludCBjcmVh dGVfcXVldWVfY3BzY2goc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sIHN0cnVjdCBx dWV1ZSAqcSwNCiAJZHFtX3VubG9jayhkcW0pOw0KIAlyZXR1cm4gcmV0dmFsOw0KIA0KLW91dF9k ZWFsbG9jYXRlX2Rvb3JiZWxsOg0KLQlkZWFsbG9jYXRlX2Rvb3JiZWxsKHFwZCwgcSk7DQogb3V0 X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZToNCiAJaWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRf UVVFVUVfVFlQRV9TRE1BIHx8DQogCQlxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZ UEVfU0RNQV9YR01JKQ0KIAkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwgcSk7DQotb3V0Og0K K291dF91bmxvY2s6DQorCWRxbV91bmxvY2soZHFtKTsNCisJbXFkX21nci0+ZnJlZV9tcWQobXFk X21nciwgcS0+bXFkLCBxLT5tcWRfbWVtX29iaik7DQogCXJldHVybiByZXR2YWw7DQogfQ0KIA0K LS0gDQoyLjcuNA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=