From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH v3] drm/i915/gtt: Avoid calling kcalloc in a loop when allocating temp bitmaps Date: Wed, 2 Sep 2015 14:40:03 +0100 Message-ID: <55E6FC33.40803@intel.com> References: <1441040380-15684-1-git-send-email-michal.winiarski@intel.com> <1441098415-12026-1-git-send-email-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id DC2B16E33C for ; Wed, 2 Sep 2015 06:40:05 -0700 (PDT) In-Reply-To: <1441098415-12026-1-git-send-email-michal.winiarski@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?Q?Micha=c5=82_Winiarski?= , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gOS8xLzIwMTUgMTA6MDYgQU0sIE1pY2hhxYIgV2luaWFyc2tpIHdyb3RlOgo+IE9uIGVhY2gg Y2FsbCB0byBnZW44X2FsbG9jX3ZhX3JhbmdlXzNsdmwgd2UncmUgYWxsb2NhdGluZyB0ZW1wb3Jh cnkKPiBiaXRtYXBzIG5lZWRlZCBmb3IgZXJyb3IgaGFuZGxpbmcuIFVuZm9ydHVuYXRlbHksIHdo ZW4gd2UgaW5jcmVhc2UKPiBhZGRyZXNzIHNwYWNlIHNpemUgKDQ4YiBwcGd0dCkgd2UgZG8gYWRk aXRpb25hbCAoNTEyIC0gNCkgY2FsbHMgdG8KPiBrY2FsbG9jLCBpbmNyZWFzaW5nIGxhdGVuY3kg YmV0d2VlbiBleGVjIGFuZCBhY3R1YWwgc3RhcnQgb2YgZXhlY3V0aW9uCj4gb24gdGhlIEdQVS4g TGV0J3MganVzdCBkbyBhIHNpbmdsZSBrY2FsbG9jLCB3ZSBjYW4gYWxzbyBkcm9wIHRoZSBzaXpl Cj4gZnJvbSBmcmVlX2dlbjhfdGVtcF9iaXRtYXBzIHNpbmNlIGl0J3Mgbm8gbG9uZ2VyIHVzZWQu Cj4KPiB2MjogVXNlIEdGUF9URU1QT1JBUlkgdG8gbWFrZSB0aGUgYWxsb2NhdGlvbnMgcmVjbGFp bWFibGUuCj4gdjM6IERyb3AgdGhlIDJEIGFycmF5LCBqdXN0IGFsbG9jYXRlIGEgc2luZ2xlIGJs b2NrLgo+Cj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENj OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogTWlj aGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBN aWNoYcWCIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+CgpVbmxlc3MgQ2hy aXMgdGhpbmtzIG90aGVyd2lzZSwgSSBzZWUgTWljaGHFgiBhbHJlYWR5IGFkZHJlc3NlZCBoaXMg Y29tbWVudHMuCgpSZXZpZXdlZC1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGlu dGVsLmNvbT4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8 IDQ1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCj4gaW5kZXggNGE3NjgwNy4uZjgxMDc2MiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTExMjYsMTMgKzExMjYsOCBAQCB1bndpbmRfb3V0 Ogo+ICAgfQo+Cj4gICBzdGF0aWMgdm9pZAo+IC1mcmVlX2dlbjhfdGVtcF9iaXRtYXBzKHVuc2ln bmVkIGxvbmcgKm5ld19wZHMsIHVuc2lnbmVkIGxvbmcgKipuZXdfcHRzLAo+IC0JCSAgICAgICB1 aW50MzJfdCBwZHBlcykKPiArZnJlZV9nZW44X3RlbXBfYml0bWFwcyh1bnNpZ25lZCBsb25nICpu ZXdfcGRzLCB1bnNpZ25lZCBsb25nICpuZXdfcHRzKQo+ICAgewo+IC0JaW50IGk7Cj4gLQo+IC0J Zm9yIChpID0gMDsgaSA8IHBkcGVzOyBpKyspCj4gLQkJa2ZyZWUobmV3X3B0c1tpXSk7Cj4gICAJ a2ZyZWUobmV3X3B0cyk7Cj4gICAJa2ZyZWUobmV3X3Bkcyk7Cj4gICB9Cj4gQEAgLTExNDIsMjkg KzExMzcsMjAgQEAgZnJlZV9nZW44X3RlbXBfYml0bWFwcyh1bnNpZ25lZCBsb25nICpuZXdfcGRz LCB1bnNpZ25lZCBsb25nICoqbmV3X3B0cywKPiAgICAqLwo+ICAgc3RhdGljCj4gICBpbnQgX19t dXN0X2NoZWNrIGFsbG9jX2dlbjhfdGVtcF9iaXRtYXBzKHVuc2lnbmVkIGxvbmcgKipuZXdfcGRz LAo+IC0JCQkJCSB1bnNpZ25lZCBsb25nICoqKm5ld19wdHMsCj4gKwkJCQkJIHVuc2lnbmVkIGxv bmcgKipuZXdfcHRzLAo+ICAgCQkJCQkgdWludDMyX3QgcGRwZXMpCj4gICB7Cj4gLQlpbnQgaTsK PiAgIAl1bnNpZ25lZCBsb25nICpwZHM7Cj4gLQl1bnNpZ25lZCBsb25nICoqcHRzOwo+ICsJdW5z aWduZWQgbG9uZyAqcHRzOwo+Cj4gLQlwZHMgPSBrY2FsbG9jKEJJVFNfVE9fTE9OR1MocGRwZXMp LCBzaXplb2YodW5zaWduZWQgbG9uZyksIEdGUF9LRVJORUwpOwo+ICsJcGRzID0ga2NhbGxvYyhC SVRTX1RPX0xPTkdTKHBkcGVzKSwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpLCBHRlBfVEVNUE9SQVJZ KTsKPiAgIAlpZiAoIXBkcykKPiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4KPiAtCXB0cyA9IGtjYWxs b2MocGRwZXMsIHNpemVvZih1bnNpZ25lZCBsb25nICopLCBHRlBfS0VSTkVMKTsKPiAtCWlmICgh cHRzKSB7Cj4gLQkJa2ZyZWUocGRzKTsKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiAtCX0KPiAtCj4g LQlmb3IgKGkgPSAwOyBpIDwgcGRwZXM7IGkrKykgewo+IC0JCXB0c1tpXSA9IGtjYWxsb2MoQklU U19UT19MT05HUyhJOTE1X1BERVMpLAo+IC0JCQkJIHNpemVvZih1bnNpZ25lZCBsb25nKSwgR0ZQ X0tFUk5FTCk7Cj4gLQkJaWYgKCFwdHNbaV0pCj4gLQkJCWdvdG8gZXJyX291dDsKPiAtCX0KPiAr CXB0cyA9IGtjYWxsb2MocGRwZXMgKiBCSVRTX1RPX0xPTkdTKEk5MTVfUERFUyksCj4gKwkJCXNp emVvZih1bnNpZ25lZCBsb25nKSwgR0ZQX1RFTVBPUkFSWSk7Cj4gKwlpZiAoIXB0cykKPiArCQln b3RvIGVycl9vdXQ7Cj4KPiAgIAkqbmV3X3BkcyA9IHBkczsKPiAgIAkqbmV3X3B0cyA9IHB0czsK PiBAQCAtMTE3Miw3ICsxMTU4LDcgQEAgaW50IF9fbXVzdF9jaGVjayBhbGxvY19nZW44X3RlbXBf Yml0bWFwcyh1bnNpZ25lZCBsb25nICoqbmV3X3BkcywKPiAgIAlyZXR1cm4gMDsKPgo+ICAgZXJy X291dDoKPiAtCWZyZWVfZ2VuOF90ZW1wX2JpdG1hcHMocGRzLCBwdHMsIHBkcGVzKTsKPiArCWZy ZWVfZ2VuOF90ZW1wX2JpdG1hcHMocGRzLCBwdHMpOwo+ICAgCXJldHVybiAtRU5PTUVNOwo+ICAg fQo+Cj4gQEAgLTExOTMsNyArMTE3OSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hbGxvY192YV9yYW5n ZV8zbHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAgewo+ICAgCXN0cnVjdCBp OTE1X2h3X3BwZ3R0ICpwcGd0dCA9Cj4gICAJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVf aHdfcHBndHQsIGJhc2UpOwo+IC0JdW5zaWduZWQgbG9uZyAqbmV3X3BhZ2VfZGlycywgKipuZXdf cGFnZV90YWJsZXM7Cj4gKwl1bnNpZ25lZCBsb25nICpuZXdfcGFnZV9kaXJzLCAqbmV3X3BhZ2Vf dGFibGVzOwo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSB2bS0+ZGV2Owo+ICAgCXN0cnVj dCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZDsKPiAgIAljb25zdCB1aW50NjRfdCBvcmlnX3N0YXJ0 ID0gc3RhcnQ7Cj4gQEAgLTEyMjAsMTQgKzEyMDYsMTQgQEAgc3RhdGljIGludCBnZW44X2FsbG9j X3ZhX3JhbmdlXzNsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCj4gICAJcmV0ID0g Z2VuOF9wcGd0dF9hbGxvY19wYWdlX2RpcmVjdG9yaWVzKHZtLCBwZHAsIHN0YXJ0LCBsZW5ndGgs Cj4gICAJCQkJCQluZXdfcGFnZV9kaXJzKTsKPiAgIAlpZiAocmV0KSB7Cj4gLQkJZnJlZV9nZW44 X3RlbXBfYml0bWFwcyhuZXdfcGFnZV9kaXJzLCBuZXdfcGFnZV90YWJsZXMsIHBkcGVzKTsKPiAr CQlmcmVlX2dlbjhfdGVtcF9iaXRtYXBzKG5ld19wYWdlX2RpcnMsIG5ld19wYWdlX3RhYmxlcyk7 Cj4gICAJCXJldHVybiByZXQ7Cj4gICAJfQo+Cj4gICAJLyogRm9yIGV2ZXJ5IHBhZ2UgZGlyZWN0 b3J5IHJlZmVyZW5jZWQsIGFsbG9jYXRlIHBhZ2UgdGFibGVzICovCj4gICAJZ2VuOF9mb3JfZWFj aF9wZHBlKHBkLCBwZHAsIHN0YXJ0LCBsZW5ndGgsIHRlbXAsIHBkcGUpIHsKPiAgIAkJcmV0ID0g Z2VuOF9wcGd0dF9hbGxvY19wYWdldGFicyh2bSwgcGQsIHN0YXJ0LCBsZW5ndGgsCj4gLQkJCQkJ CW5ld19wYWdlX3RhYmxlc1twZHBlXSk7Cj4gKwkJCQkJCW5ld19wYWdlX3RhYmxlcyArIHBkcGUg KiBCSVRTX1RPX0xPTkdTKEk5MTVfUERFUykpOwo+ICAgCQlpZiAocmV0KQo+ICAgCQkJZ290byBl cnJfb3V0Owo+ICAgCX0KPiBAQCAtMTI3OCwyMCArMTI2NCwyMSBAQCBzdGF0aWMgaW50IGdlbjhf YWxsb2NfdmFfcmFuZ2VfM2x2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgIAkJ Z2VuOF9zZXR1cF9wYWdlX2RpcmVjdG9yeShwcGd0dCwgcGRwLCBwZCwgcGRwZSk7Cj4gICAJfQo+ Cj4gLQlmcmVlX2dlbjhfdGVtcF9iaXRtYXBzKG5ld19wYWdlX2RpcnMsIG5ld19wYWdlX3RhYmxl cywgcGRwZXMpOwo+ICsJZnJlZV9nZW44X3RlbXBfYml0bWFwcyhuZXdfcGFnZV9kaXJzLCBuZXdf cGFnZV90YWJsZXMpOwo+ICAgCW1hcmtfdGxic19kaXJ0eShwcGd0dCk7Cj4gICAJcmV0dXJuIDA7 Cj4KPiAgIGVycl9vdXQ6Cj4gICAJd2hpbGUgKHBkcGUtLSkgewo+IC0JCWZvcl9lYWNoX3NldF9i aXQodGVtcCwgbmV3X3BhZ2VfdGFibGVzW3BkcGVdLCBJOTE1X1BERVMpCj4gKwkJZm9yX2VhY2hf c2V0X2JpdCh0ZW1wLCBuZXdfcGFnZV90YWJsZXMgKyBwZHBlICoKPiArCQkJCUJJVFNfVE9fTE9O R1MoSTkxNV9QREVTKSwgSTkxNV9QREVTKQo+ICAgCQkJZnJlZV9wdChkZXYsIHBkcC0+cGFnZV9k aXJlY3RvcnlbcGRwZV0tPnBhZ2VfdGFibGVbdGVtcF0pOwo+ICAgCX0KPgo+ICAgCWZvcl9lYWNo X3NldF9iaXQocGRwZSwgbmV3X3BhZ2VfZGlycywgcGRwZXMpCj4gICAJCWZyZWVfcGQoZGV2LCBw ZHAtPnBhZ2VfZGlyZWN0b3J5W3BkcGVdKTsKPgo+IC0JZnJlZV9nZW44X3RlbXBfYml0bWFwcyhu ZXdfcGFnZV9kaXJzLCBuZXdfcGFnZV90YWJsZXMsIHBkcGVzKTsKPiArCWZyZWVfZ2VuOF90ZW1w X2JpdG1hcHMobmV3X3BhZ2VfZGlycywgbmV3X3BhZ2VfdGFibGVzKTsKPiAgIAltYXJrX3RsYnNf ZGlydHkocHBndHQpOwo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK