From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/2] [WIP]drm/ttm: add waiter list to prevent allocation not in order Date: Fri, 26 Jan 2018 11:31:43 +0100 Message-ID: <2beeea26-9426-6956-fbc7-ada52088b6a6@gmail.com> References: <20180126102247.17923-1-david1.zhou@amd.com> Reply-To: christian.koenig@amd.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180126102247.17923-1-david1.zhou@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chunming Zhou , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: christian.koenig@amd.com List-Id: dri-devel@lists.freedesktop.org QW0gMjYuMDEuMjAxOCB1bSAxMToyMiBzY2hyaWViIENodW5taW5nIFpob3U6Cj4gdGhlcmUgaXMg YSBzY2hlZHVsaW5nIGJhbGFuY2UgaXNzdWUgYWJvdXQgZ2V0IG5vZGUgbGlrZToKPiBhLiBwcm9j ZXNzIEEgYWxsb2NhdGVzIGZ1bGwgbWVtb3J5IGFuZCB1c2UgaXQgZm9yIHN1Ym1pc3Npb24uCj4g Yi4gcHJvY2VzcyBCIHRyaWVzIHRvIGFsbG9jYXRlcyBtZW1vcnksIHdpbGwgd2FpdCBmb3IgcHJv Y2VzcyBBIEJPIGlkbGUgaW4gZXZpY3Rpb24uCj4gYy4gcHJvY2VzcyBBIGNvbXBsZXRlcyB0aGUg am9iLCBwcm9jZXNzIEIgZXZpY3Rpb24gd2lsbCBwdXQgcHJvY2VzcyBBIEJPIG5vZGUsCj4gYnV0 IGluIHRoZSBtZWFudGltZSwgcHJvY2VzcyBDIGlzIGNvbW1pbmcgdG8gYWxsb2NhdGUgQk8sIHdo aWxsIGRpcmVjdGx5IGdldCBub2RlIHN1Y2Nlc3NmdWxseSwgYW5kIGRvIHN1Ym1pc3Npb24sCj4g cHJvY2VzcyBCIHdpbGwgYWdhaW4gd2FpdCBmb3IgcHJvY2VzcyBDIEJPIGlkbGUuCj4gZC4gcmVw ZWF0IHRoZSBhYm92ZSBzZXRwcywgcHJvY2VzcyBCIGNvdWxkIGJlIGRlbGF5ZWQgbXVjaCBtb3Jl Lgo+Cj4gbGF0ZXIgYWxsb2NhdGlvbiBtdXN0IG5vdCBiZSBhaGVhZCBvZiBmcm9udCBpbiBzYW1l IHBsYWNlLgoKQWdhaW4gTkFLIHRvIHRoZSB3aG9sZSBhcHByb2FjaC4KCkF0IGxlYXN0IHdpdGgg YW1kZ3B1IHRoZSBwcm9ibGVtIHlvdSBkZXNjcmliZWQgYWJvdmUgbmV2ZXIgb2NjdXJzIApiZWNh dXNlIGV2aWN0aW9ucyBhcmUgcGlwZWxpbmVkIG9wZXJhdGlvbnMuIFdlIGNvdWxkIG9ubHkgYmxv Y2sgZm9yIApkZWxldGVkIHJlZ2lvbnMgdG8gYmVjb21lIGZyZWUuCgpCdXQgaW5kZXBlbmRlbnQg b2YgdGhhdCBpbmNvbWluZyBtZW1vcnkgcmVxdWVzdHMgd2hpbGUgd2UgbWFrZSByb29tIGZvciAK ZXZpY3Rpb24gYXJlIGludGVuZGVkIHRvIGJlIHNlcnZlZCBmaXJzdC4KCkNoYW5naW5nIHRoYXQg aXMgY2VydGFpbmx5IGEgbm8tZ28gY2F1c2UgdGhhdCB3b3VsZCBmYXZvciBtZW1vcnkgaHVuZ3J5 IAphcHBsaWNhdGlvbnMgb3ZlciBzbWFsbCBjbGllbnRzLgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoK Pgo+IENoYW5nZS1JZDogSTNkYWE4OTJlNTBmODIyMjZjNTUyY2MwMDhhMjllNTU4OTRhOThmMTgK PiBTaWduZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgo+IC0t LQo+ICAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyAgICB8IDY5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2Fw aS5oICAgIHwgIDcgKysrKysKPiAgIGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggfCAg NyArKysrKwo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCj4gaW5kZXggZDMzYTZiYjc0MmExLi41NThlYzJjZjQ2 NWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiBAQCAtODQxLDYgKzg0MSw1OCBAQCBzdGF0aWMg aW50IHR0bV9ib19hZGRfbW92ZV9mZW5jZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIHR0bV9tYW5faW5pdF93YWl0 ZXIoc3RydWN0IHR0bV9ib193YWl0ZXIgKndhaXRlciwKPiArCQkJCXN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqYm8sCj4gKwkJCQljb25zdCBzdHJ1Y3QgdHRtX3BsYWNlICpwbGFjZSkKPiArewo+ ICsJd2FpdGVyLT50Ym8gPSBibzsKPiArCW1lbWNweSgodm9pZCAqKSZ3YWl0ZXItPnBsYWNlLCAo dm9pZCAqKXBsYWNlLCBzaXplb2YoKnBsYWNlKSk7Cj4gKwlJTklUX0xJU1RfSEVBRCgmd2FpdGVy LT5saXN0KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgdHRtX21hbl9hZGRfd2FpdGVyKHN0cnVj dCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICsJCQkgICAgICAgc3RydWN0IHR0bV9ib193 YWl0ZXIgKndhaXRlcikKPiArewo+ICsJaWYgKCF3YWl0ZXIpCj4gKwkJcmV0dXJuOwo+ICsJc3Bp bl9sb2NrKCZtYW4tPndhaXRfbG9jayk7Cj4gKwlsaXN0X2FkZF90YWlsKCZ3YWl0ZXItPmxpc3Qs ICZtYW4tPndhaXRlcl9saXN0KTsKPiArCXNwaW5fdW5sb2NrKCZtYW4tPndhaXRfbG9jayk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHR0bV9tYW5fZGVsX3dhaXRlcihzdHJ1Y3QgdHRtX21lbV90 eXBlX21hbmFnZXIgKm1hbiwKPiArCQkJICAgICAgIHN0cnVjdCB0dG1fYm9fd2FpdGVyICp3YWl0 ZXIpCj4gK3sKPiArCWlmICghd2FpdGVyKQo+ICsJCXJldHVybjsKPiArCXNwaW5fbG9jaygmbWFu LT53YWl0X2xvY2spOwo+ICsJaWYgKCFsaXN0X2VtcHR5KCZ3YWl0ZXItPmxpc3QpKQo+ICsJCWxp c3RfZGVsKCZ3YWl0ZXItPmxpc3QpOwo+ICsJc3Bpbl91bmxvY2soJm1hbi0+d2FpdF9sb2NrKTsK PiArCWtmcmVlKHdhaXRlcik7Cj4gK30KPiArCj4gK2ludCB0dG1fbWFuX2NoZWNrX2JvKHN0cnVj dCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICsJCSAgICAgc3RydWN0IHR0bV9idWZmZXJf b2JqZWN0ICpibywKPiArCQkgICAgIGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgKnBsYWNlKQo+ICt7 Cj4gKwlzdHJ1Y3QgdHRtX2JvX3dhaXRlciAqd2FpdGVyLCAqdG1wOwo+ICsKPiArCXNwaW5fbG9j aygmbWFuLT53YWl0X2xvY2spOwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHdhaXRlciwg dG1wLCAmbWFuLT53YWl0ZXJfbGlzdCwgbGlzdCkgewo+ICsJCWlmICgoYm8gIT0gd2FpdGVyLT50 Ym8pICYmCj4gKwkJICAgICgocGxhY2UtPmZwZm4gPj0gd2FpdGVyLT5wbGFjZS5mcGZuICYmCj4g KwkJICAgICAgcGxhY2UtPmZwZm4gPD0gd2FpdGVyLT5wbGFjZS5scGZuKSB8fAo+ICsJCSAgICAg KHBsYWNlLT5scGZuIDw9IHdhaXRlci0+cGxhY2UubHBmbiAmJiBwbGFjZS0+bHBmbiA+PQo+ICsJ CSAgICAgIHdhaXRlci0+cGxhY2UuZnBmbikpKQo+ICsJCSAgICBnb3RvIGxhdGVyX2JvOwo+ICsJ fQo+ICsJc3Bpbl91bmxvY2soJm1hbi0+d2FpdF9sb2NrKTsKPiArCXJldHVybiB0cnVlOwo+ICts YXRlcl9ibzoKPiArCXNwaW5fdW5sb2NrKCZtYW4tPndhaXRfbG9jayk7Cj4gKwlyZXR1cm4gZmFs c2U7Cj4gK30KPiAgIC8qKgo+ICAgICogUmVwZWF0ZWRseSBldmljdCBtZW1vcnkgZnJvbSB0aGUg TFJVIGZvciBAbWVtX3R5cGUgdW50aWwgd2UgY3JlYXRlIGVub3VnaAo+ICAgICogc3BhY2UsIG9y IHdlJ3ZlIGV2aWN0ZWQgZXZlcnl0aGluZyBhbmQgdGhlcmUgaXNuJ3QgZW5vdWdoIHNwYWNlLgo+ IEBAIC04NTMsMTcgKzkwNSwyNiBAQCBzdGF0aWMgaW50IHR0bV9ib19tZW1fZm9yY2Vfc3BhY2Uo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIHsKPiAgIAlzdHJ1Y3QgdHRtX2JvX2Rl dmljZSAqYmRldiA9IGJvLT5iZGV2Owo+ICAgCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAq bWFuID0gJmJkZXYtPm1hblttZW1fdHlwZV07Cj4gKwlzdHJ1Y3QgdHRtX2JvX3dhaXRlciB3YWl0 ZXI7Cj4gICAJaW50IHJldDsKPiAgIAo+ICsJdHRtX21hbl9pbml0X3dhaXRlcigmd2FpdGVyLCBi bywgcGxhY2UpOwo+ICsJdHRtX21hbl9hZGRfd2FpdGVyKG1hbiwgJndhaXRlcik7Cj4gICAJZG8g ewo+ICAgCQlyZXQgPSAoKm1hbi0+ZnVuYy0+Z2V0X25vZGUpKG1hbiwgYm8sIHBsYWNlLCBtZW0p Owo+IC0JCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCj4gKwkJaWYgKHVubGlrZWx5KHJldCAhPSAw KSkgewo+ICsJCQl0dG1fbWFuX2RlbF93YWl0ZXIobWFuLCAmd2FpdGVyKTsKPiAgIAkJCXJldHVy biByZXQ7Cj4gLQkJaWYgKG1lbS0+bW1fbm9kZSkKPiArCQl9Cj4gKwkJaWYgKG1lbS0+bW1fbm9k ZSkgewo+ICsJCQl0dG1fbWFuX2RlbF93YWl0ZXIobWFuLCAmd2FpdGVyKTsKPiAgIAkJCWJyZWFr Owo+ICsJCX0KPiAgIAkJcmV0ID0gdHRtX21lbV9ldmljdF9maXJzdChiZGV2LCBtZW1fdHlwZSwg cGxhY2UsIGN0eCk7Cj4gLQkJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkKPiArCQlpZiAodW5saWtl bHkocmV0ICE9IDApKSB7Cj4gKwkJCXR0bV9tYW5fZGVsX3dhaXRlcihtYW4sICZ3YWl0ZXIpOwo+ ICAgCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gICAJfSB3aGlsZSAoMSk7Cj4gICAJbWVtLT5tZW1f dHlwZSA9IG1lbV90eXBlOwo+ICAgCXJldHVybiB0dG1fYm9fYWRkX21vdmVfZmVuY2UoYm8sIG1h biwgbWVtKTsKPiBAQCAtMTQ1MCw2ICsxNTExLDggQEAgaW50IHR0bV9ib19pbml0X21tKHN0cnVj dCB0dG1fYm9fZGV2aWNlICpiZGV2LCB1bnNpZ25lZCB0eXBlLAo+ICAgCW1hbi0+dXNlX2lvX3Jl c2VydmVfbHJ1ID0gZmFsc2U7Cj4gICAJbXV0ZXhfaW5pdCgmbWFuLT5pb19yZXNlcnZlX211dGV4 KTsKPiAgIAlzcGluX2xvY2tfaW5pdCgmbWFuLT5tb3ZlX2xvY2spOwo+ICsJc3Bpbl9sb2NrX2lu aXQoJm1hbi0+d2FpdF9sb2NrKTsKPiArCUlOSVRfTElTVF9IRUFEKCZtYW4tPndhaXRlcl9saXN0 KTsKPiAgIAlJTklUX0xJU1RfSEVBRCgmbWFuLT5pb19yZXNlcnZlX2xydSk7Cj4gICAKPiAgIAly ZXQgPSBiZGV2LT5kcml2ZXItPmluaXRfbWVtX3R5cGUoYmRldiwgdHlwZSwgbWFuKTsKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCBiL2luY2x1ZGUvZHJtL3R0bS90 dG1fYm9fYXBpLmgKPiBpbmRleCAyY2QwMjVjMmFiZTcuLjBmY2U0ZGJkMDJlNyAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vdHRt L3R0bV9ib19hcGkuaAo+IEBAIC00MCw2ICs0MCw3IEBACj4gICAjaW5jbHVkZSA8bGludXgvbW0u aD4KPiAgICNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9yZXNl cnZhdGlvbi5oPgo+ICsjaW5jbHVkZSA8ZHJtL3R0bS90dG1fcGxhY2VtZW50Lmg+Cj4gICAKPiAg IHN0cnVjdCB0dG1fYm9fZGV2aWNlOwo+ICAgCj4gQEAgLTIzMiw2ICsyMzMsMTIgQEAgc3RydWN0 IHR0bV9idWZmZXJfb2JqZWN0IHsKPiAgIAlzdHJ1Y3QgbXV0ZXggd3VfbXV0ZXg7Cj4gICB9Owo+ ICAgCj4gK3N0cnVjdCB0dG1fYm9fd2FpdGVyIHsKPiArCXN0cnVjdCB0dG1fYnVmZmVyX29iamVj dCAqdGJvOwo+ICsJc3RydWN0IHR0bV9wbGFjZSBwbGFjZTsKPiArCXN0cnVjdCBsaXN0X2hlYWQg bGlzdDsKPiArfTsKPiArCj4gICAvKioKPiAgICAqIHN0cnVjdCB0dG1fYm9fa21hcF9vYmoKPiAg ICAqCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggYi9pbmNs dWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gaW5kZXggOWI0MTdlYjJkZjIwLi5kYzZiOGI0 YzllMDYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiBAQCAtMjkzLDYgKzI5MywxMCBA QCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgewo+ICAgCWJvb2wgaW9fcmVzZXJ2ZV9mYXN0 cGF0aDsKPiAgIAlzcGlubG9ja190IG1vdmVfbG9jazsKPiAgIAo+ICsJLyogd2FpdGVycyBpbiBs aXN0ICovCj4gKwlzcGlubG9ja190IHdhaXRfbG9jazsKPiArCXN0cnVjdCBsaXN0X2hlYWQgd2Fp dGVyX2xpc3Q7Cj4gKwo+ICAgCS8qCj4gICAJICogUHJvdGVjdGVkIGJ5IEBpb19yZXNlcnZlX211 dGV4Ogo+ICAgCSAqLwo+IEBAIC03NDgsNiArNzUyLDkgQEAgaW50IHR0bV9ib19tZW1fc3BhY2Uo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAkJICAgICBzdHJ1Y3QgdHRtX21lbV9y ZWcgKm1lbSwKPiAgIAkJICAgICBzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCk7Cj4gICAK PiAraW50IHR0bV9tYW5fY2hlY2tfYm8oc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4s Cj4gKwkJICAgICBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICsJCSAgICAgY29uc3Qg c3RydWN0IHR0bV9wbGFjZSAqcGxhY2UpOwo+ICAgdm9pZCB0dG1fYm9fbWVtX3B1dChzdHJ1Y3Qg dHRtX2J1ZmZlcl9vYmplY3QgKmJvLCBzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSk7Cj4gICB2b2lk IHR0bV9ib19tZW1fcHV0X2xvY2tlZChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICAg CQkJICAgc3RydWN0IHR0bV9tZW1fcmVnICptZW0pOwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==