From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kuehling, Felix" Subject: Re: [PATCH 1/4] drm/amdkfd: Fix sdma queue allocate race condition Date: Fri, 31 May 2019 21:31:20 +0000 Message-ID: References: <1559337538-14249-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: <1559337538-14249-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US Content-ID: <451AE9ABA72F254B8F85F6BDF76C3103-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@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: "Zeng, Oak" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Zhao, Yong" , "Freehill, Chris" , "Liu, Alex" T24gMjAxOS0wNS0zMSA1OjE5IHAubS4sIFplbmcsIE9hayB3cm90ZToNCj4gU0RNQSBxdWV1ZSBh bGxvY2F0aW9uIHJlcXVpcmVzIHRoZSBkcW0gbG9jayBhcyBpdCBtb2RpZnkNCj4gdGhlIGdsb2Jh bCBkcW0gbWVtYmVycy4gSW50cm9kdWNlIGZ1bmN0aW9ucyB0byBhbGxvY2F0ZS9kZWFsbG9jYXRl DQo+IGluIGxvY2tlZC91bmxvY2tlZCBjaXJjdW1zdGFuY2UuDQo+DQo+IENoYW5nZS1JZDogSWQz MDg0NTI0YzVmNjVkOTYyOWIxMmNmNmI0ODYyYTc1MTY5NDVjYjENCj4gU2lnbmVkLW9mZi1ieTog T2FrIFplbmcgPE9hay5aZW5nQGFtZC5jb20+DQo+IC0tLQ0KPiAgIC4uLi9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5hZ2VyLmMgIHwgNDYgKysrKysrKysrKysrKysrKy0t LS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMo LSkNCj4NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZp Y2VfcXVldWVfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2Rldmlj ZV9xdWV1ZV9tYW5hZ2VyLmMNCj4gaW5kZXggZWNlMzVjNy4uMWY3MDdiYiAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5hZ2VyLmMN Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5h Z2VyLmMNCj4gQEAgLTYxLDYgKzYxLDggQEAgc3RhdGljIGludCBjcmVhdGVfc2RtYV9xdWV1ZV9u b2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0KPiAgIA0KPiAgIHN0YXRp YyB2b2lkIGRlYWxsb2NhdGVfc2RtYV9xdWV1ZShzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIg KmRxbSwNCj4gICAJCQkJc3RydWN0IHF1ZXVlICpxKTsNCj4gK3N0YXRpYyB2b2lkIGRlYWxsb2Nh dGVfc2RtYV9xdWV1ZV9sb2NrZWQoc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpkcW0sDQo+ ICsJCQkJc3RydWN0IHF1ZXVlICpxKTsNCj4gICANCj4gICBzdGF0aWMgdm9pZCBrZmRfcHJvY2Vz c19od19leGNlcHRpb24oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCj4gICANCj4gQEAgLTQ0 NiwxMCArNDQ4LDEwIEBAIHN0YXRpYyBpbnQgZGVzdHJveV9xdWV1ZV9ub2Nwc2NoX2xvY2tlZChz dHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICAJCWRlYWxsb2NhdGVfaHFkKGRx bSwgcSk7DQo+ICAgCX0gZWxzZSBpZiAocS0+cHJvcGVydGllcy50eXBlID09IEtGRF9RVUVVRV9U WVBFX1NETUEpIHsNCj4gICAJCWRxbS0+c2RtYV9xdWV1ZV9jb3VudC0tOw0KPiAtCQlkZWFsbG9j YXRlX3NkbWFfcXVldWUoZHFtLCBxKTsNCj4gKwkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlX2xvY2tl ZChkcW0sIHEpOw0KPiAgIAl9IGVsc2UgaWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVF VUVfVFlQRV9TRE1BX1hHTUkpIHsNCj4gICAJCWRxbS0+eGdtaV9zZG1hX3F1ZXVlX2NvdW50LS07 DQo+IC0JCWRlYWxsb2NhdGVfc2RtYV9xdWV1ZShkcW0sIHEpOw0KPiArCQlkZWFsbG9jYXRlX3Nk bWFfcXVldWVfbG9ja2VkKGRxbSwgcSk7DQo+ICAgCX0gZWxzZSB7DQo+ICAgCQlwcl9kZWJ1Zygi cS0+cHJvcGVydGllcy50eXBlICVkIGlzIGludmFsaWRcbiIsDQo+ICAgCQkJCXEtPnByb3BlcnRp ZXMudHlwZSk7DQo+IEBAIC05MjIsOCArOTI0LDEwIEBAIHN0YXRpYyBpbnQgYWxsb2NhdGVfc2Rt YV9xdWV1ZShzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICAJaWYgKHEtPnBy b3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BKSB7DQo+ICAgCQlpZiAoZHFtLT5z ZG1hX2JpdG1hcCA9PSAwKQ0KPiAgIAkJCXJldHVybiAtRU5PTUVNOw0KPiArCQlkcW1fbG9jayhk cW0pOw0KRG9lc24ndCB0aGlzIGNhdXNlIGEgbG9ja2luZyBlcnJvciB3aGVyZSB5b3UgdHJ5IHRv IHRha2UgdGhlIHNhbWUgbG9jayANCnR3aWNlIGluIHRoaXMgY2FsbCB0cmVlOg0KDQpjcmVhdGVf cXVldWVfbm9jcHNjaCAodGFrZXMgRFFNIGxvY2spDQogwqDCoMKgIC0+IGNyZWF0ZV9zZG1hX3F1 ZXVlX25vY3BzY2gNCiDCoMKgwqDCoMKgwqDCoCAtPiBhbGxvY2F0ZV9zZG1hX3F1ZXVlICh0YWtl cyBEUU0gbG9jayBhZ2FpbikNCg0KDQo+ICAgCQliaXQgPSBfX2ZmczY0KGRxbS0+c2RtYV9iaXRt YXApOw0KPiAgIAkJZHFtLT5zZG1hX2JpdG1hcCAmPSB+KDFVTEwgPDwgYml0KTsNCj4gKwkJZHFt X3VubG9jayhkcW0pOw0KPiAgIAkJcS0+c2RtYV9pZCA9IGJpdDsNCj4gICAJCXEtPnByb3BlcnRp ZXMuc2RtYV9lbmdpbmVfaWQgPSBxLT5zZG1hX2lkICUNCj4gICAJCQkJZ2V0X251bV9zZG1hX2Vu Z2luZXMoZHFtKTsNCj4gQEAgLTkzMiw4ICs5MzYsMTAgQEAgc3RhdGljIGludCBhbGxvY2F0ZV9z ZG1hX3F1ZXVlKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0KPiAgIAl9IGVsc2Ug aWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BX1hHTUkpIHsNCj4g ICAJCWlmIChkcW0tPnhnbWlfc2RtYV9iaXRtYXAgPT0gMCkNCj4gICAJCQlyZXR1cm4gLUVOT01F TTsNCj4gKwkJZHFtX2xvY2soZHFtKTsNCj4gICAJCWJpdCA9IF9fZmZzNjQoZHFtLT54Z21pX3Nk bWFfYml0bWFwKTsNCj4gICAJCWRxbS0+eGdtaV9zZG1hX2JpdG1hcCAmPSB+KDFVTEwgPDwgYml0 KTsNCj4gKwkJZHFtX3VubG9jayhkcW0pOw0KPiAgIAkJcS0+c2RtYV9pZCA9IGJpdDsNCj4gICAJ CS8qIHNkbWFfZW5naW5lX2lkIGlzIHNkbWEgaWQgaW5jbHVkaW5nDQo+ICAgCQkgKiBib3RoIFBD SWUtb3B0aW1pemVkIFNETUFzIGFuZCBYR01JLQ0KPiBAQCAtOTUzLDE3ICs5NTksMzUgQEAgc3Rh dGljIGludCBhbGxvY2F0ZV9zZG1hX3F1ZXVlKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAq ZHFtLA0KPiAgIAlyZXR1cm4gMDsNCj4gICB9DQo+ICAgDQo+ICtzdGF0aWMgdm9pZCBkZWFsbG9j YXRlX3NkbWFfcXVldWVfbG9ja2VkKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0K PiArCQkJCXN0cnVjdCBxdWV1ZSAqcSkNCj4gK3sNCj4gKwlpZiAocS0+cHJvcGVydGllcy50eXBl ID09IEtGRF9RVUVVRV9UWVBFX1NETUEpIHsNCj4gKwkJaWYgKHEtPnNkbWFfaWQgPj0gZ2V0X251 bV9zZG1hX3F1ZXVlcyhkcW0pKQ0KPiArCQkJcmV0dXJuOw0KPiArCQlkcW0tPnNkbWFfYml0bWFw IHw9ICgxVUxMIDw8IHEtPnNkbWFfaWQpOw0KPiArCX0gZWxzZSBpZiAocS0+cHJvcGVydGllcy50 eXBlID09IEtGRF9RVUVVRV9UWVBFX1NETUFfWEdNSSkgew0KPiArCQlpZiAocS0+c2RtYV9pZCA+ PSBnZXRfbnVtX3hnbWlfc2RtYV9xdWV1ZXMoZHFtKSkNCj4gKwkJCXJldHVybjsNCj4gKwkJZHFt LT54Z21pX3NkbWFfYml0bWFwIHw9ICgxVUxMIDw8IHEtPnNkbWFfaWQpOw0KPiArCX0NCj4gK30N Cj4gKw0KPiAgIHN0YXRpYyB2b2lkIGRlYWxsb2NhdGVfc2RtYV9xdWV1ZShzdHJ1Y3QgZGV2aWNl X3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICAJCQkJc3RydWN0IHF1ZXVlICpxKQ0KPiAgIHsNCj4g ICAJaWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BKSB7DQo+ICAg CQlpZiAocS0+c2RtYV9pZCA+PSBnZXRfbnVtX3NkbWFfcXVldWVzKGRxbSkpDQo+ICAgCQkJcmV0 dXJuOw0KPiArCQlkcW1fbG9jayhkcW0pOw0KPiAgIAkJZHFtLT5zZG1hX2JpdG1hcCB8PSAoMVVM TCA8PCBxLT5zZG1hX2lkKTsNCj4gKwkJZHFtX3VubG9jayhkcW0pOw0KPiAgIAl9IGVsc2UgaWYg KHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BX1hHTUkpIHsNCj4gICAJ CWlmIChxLT5zZG1hX2lkID49IGdldF9udW1feGdtaV9zZG1hX3F1ZXVlcyhkcW0pKQ0KPiAgIAkJ CXJldHVybjsNCj4gKwkJZHFtX2xvY2soZHFtKTsNCj4gICAJCWRxbS0+eGdtaV9zZG1hX2JpdG1h cCB8PSAoMVVMTCA8PCBxLT5zZG1hX2lkKTsNCj4gKwkJZHFtX3VubG9jayhkcW0pOw0KPiAgIAl9 DQo+ICAgfQ0KDQpZb3UgY291bGQgbWluaW1pemUgY29kZSBkdXBsaWNhdGlvbiBieSBkZWZpbmlu ZyBkZWFsbG9jYXRlX3NkbWFfcXVldWUgYXMgDQphIHNpbXBsZSB3cmFwcGVyOg0KDQpzdGF0aWMg dm9pZCBkZWFsbG9jYXRlX3NkbWFfcXVldWUoc3RydWN0IGRldmljZV9xdWV1ZV9tYW5hZ2VyICpk cW0sIA0Kc3RydWN0IHF1ZXVlICpxKQ0Kew0KIMKgwqDCoCDCoMKgwqAgZHFtX2xvY2soZHFtKTsN CiDCoMKgwqAgwqDCoMKgIGRlYWxsb2NhdGVfc2RtYV9xdWV1ZV9sb2NrZWQoZHFtLCBxKTsNCiDC oMKgwqAgwqDCoMKgIGRxbV91bmxvY2soZHFtKTsNCn0NCg0KDQo+ICAgDQo+IEBAIC05ODIsNyAr MTAwNiw3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3NkbWFfcXVldWVfbm9jcHNjaChzdHJ1Y3QgZGV2 aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICANCj4gICAJcmV0dmFsID0gYWxsb2NhdGVfZG9v cmJlbGwocXBkLCBxKTsNCj4gICAJaWYgKHJldHZhbCkNCj4gLQkJZ290byBvdXRfZGVhbGxvY2F0 ZV9zZG1hX3F1ZXVlOw0KPiArCQlnb3RvIG91dF9kZWFsbG9jYXRlX3NkbWFfcXVldWVfbG9ja2Vk Ow0KPiAgIA0KPiAgIAlkcW0tPmFzaWNfb3BzLmluaXRfc2RtYV92bShkcW0sIHEsIHFwZCk7DQo+ ICAgCXJldHZhbCA9IG1xZF9tZ3ItPmluaXRfbXFkKG1xZF9tZ3IsICZxLT5tcWQsICZxLT5tcWRf bWVtX29iaiwNCj4gQEAgLTEwMDEsOCArMTAyNSw4IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3NkbWFf cXVldWVfbm9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICAJbXFk X21nci0+dW5pbml0X21xZChtcWRfbWdyLCBxLT5tcWQsIHEtPm1xZF9tZW1fb2JqKTsNCj4gICBv dXRfZGVhbGxvY2F0ZV9kb29yYmVsbDoNCj4gICAJZGVhbGxvY2F0ZV9kb29yYmVsbChxcGQsIHEp Ow0KPiAtb3V0X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZToNCj4gLQlkZWFsbG9jYXRlX3NkbWFfcXVl dWUoZHFtLCBxKTsNCj4gK291dF9kZWFsbG9jYXRlX3NkbWFfcXVldWVfbG9ja2VkOg0KPiArCWRl YWxsb2NhdGVfc2RtYV9xdWV1ZV9sb2NrZWQoZHFtLCBxKTsNCj4gICANCj4gICAJcmV0dXJuIHJl dHZhbDsNCj4gICB9DQo+IEBAIC0xMTk0LDcgKzEyMTgsNyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9x dWV1ZV9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwgc3RydWN0IHF1ZXVl ICpxLA0KPiAgIA0KPiAgIAlyZXR2YWwgPSBhbGxvY2F0ZV9kb29yYmVsbChxcGQsIHEpOw0KPiAg IAlpZiAocmV0dmFsKQ0KPiAtCQlnb3RvIG91dF9kZWFsbG9jYXRlX3NkbWFfcXVldWU7DQo+ICsJ CWdvdG8gb3V0X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZV9sb2NrZWQ7DQo+ICAgDQo+ICAgCW1xZF9t Z3IgPSBkcW0tPm1xZF9tZ3JzW2dldF9tcWRfdHlwZV9mcm9tX3F1ZXVlX3R5cGUoDQo+ICAgCQkJ cS0+cHJvcGVydGllcy50eXBlKV07DQo+IEBAIC0xMjQyLDcgKzEyNjYsNyBAQCBzdGF0aWMgaW50 IGNyZWF0ZV9xdWV1ZV9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwgc3Ry dWN0IHF1ZXVlICpxLA0KPiAgIA0KPiAgIG91dF9kZWFsbG9jYXRlX2Rvb3JiZWxsOg0KPiAgIAlk ZWFsbG9jYXRlX2Rvb3JiZWxsKHFwZCwgcSk7DQo+IC1vdXRfZGVhbGxvY2F0ZV9zZG1hX3F1ZXVl Og0KPiArb3V0X2RlYWxsb2NhdGVfc2RtYV9xdWV1ZV9sb2NrZWQ6DQoNCldoeSBhcmUgeW91IHJl bmFtaW5nIHRoaXMgbGFiZWw/IFlvdSBkb24ndCBob2xkIHRoZSBEUU0gbG9jayB3aGVuIHlvdSAN CmdldCBoZXJlLg0KDQoNCj4gICAJaWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVf VFlQRV9TRE1BIHx8DQo+ICAgCQlxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZUEVf U0RNQV9YR01JKQ0KPiAgIAkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwgcSk7DQo+IEBAIC0x Mzk2LDEwICsxNDIwLDEwIEBAIHN0YXRpYyBpbnQgZGVzdHJveV9xdWV1ZV9jcHNjaChzdHJ1Y3Qg ZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCj4gICANCj4gICAJaWYgKHEtPnByb3BlcnRpZXMu dHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BKSB7DQo+ICAgCQlkcW0tPnNkbWFfcXVldWVfY291 bnQtLTsNCj4gLQkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwgcSk7DQo+ICsJCWRlYWxsb2Nh dGVfc2RtYV9xdWV1ZV9sb2NrZWQoZHFtLCBxKTsNCj4gICAJfSBlbHNlIGlmIChxLT5wcm9wZXJ0 aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZUEVfU0RNQV9YR01JKSB7DQo+ICAgCQlkcW0tPnhnbWlf c2RtYV9xdWV1ZV9jb3VudC0tOw0KPiAtCQlkZWFsbG9jYXRlX3NkbWFfcXVldWUoZHFtLCBxKTsN Cj4gKwkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlX2xvY2tlZChkcW0sIHEpOw0KPiAgIAl9DQo+ICAg DQo+ICAgCWxpc3RfZGVsKCZxLT5saXN0KTsNCj4gQEAgLTE2MjUsMTAgKzE2NDksMTAgQEAgc3Rh dGljIGludCBwcm9jZXNzX3Rlcm1pbmF0aW9uX2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFu YWdlciAqZHFtLA0KPiAgIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHEsICZxcGQtPnF1ZXVlc19saXN0 LCBsaXN0KSB7DQo+ICAgCQlpZiAocS0+cHJvcGVydGllcy50eXBlID09IEtGRF9RVUVVRV9UWVBF X1NETUEpIHsNCj4gICAJCQlkcW0tPnNkbWFfcXVldWVfY291bnQtLTsNCj4gLQkJCWRlYWxsb2Nh dGVfc2RtYV9xdWV1ZShkcW0sIHEpOw0KPiArCQkJZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlX2xvY2tl ZChkcW0sIHEpOw0KPiAgIAkJfSBlbHNlIGlmIChxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FV RVVFX1RZUEVfU0RNQV9YR01JKSB7DQo+ICAgCQkJZHFtLT54Z21pX3NkbWFfcXVldWVfY291bnQt LTsNCj4gLQkJCWRlYWxsb2NhdGVfc2RtYV9xdWV1ZShkcW0sIHEpOw0KPiArCQkJZGVhbGxvY2F0 ZV9zZG1hX3F1ZXVlX2xvY2tlZChkcW0sIHEpOw0KPiAgIAkJfQ0KPiAgIA0KPiAgIAkJaWYgKHEt PnByb3BlcnRpZXMuaXNfYWN0aXZlKQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4