From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 14/41] drm/i915: Use a radixtree for random access to the object's backing storage Date: Mon, 17 Oct 2016 10:56:27 +0100 Message-ID: <223d0ff2-a9bb-374a-3f71-97a7c85304f2@linux.intel.com> References: <20161014121833.439-1-chris@chris-wilson.co.uk> <20161014121833.439-15-chris@chris-wilson.co.uk> <51f431b0-06da-9624-66cf-f6f9e7a77e7b@linux.intel.com> <20161014140756.GK6646@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id CFA8B6E2E0 for ; Mon, 17 Oct 2016 09:56:30 +0000 (UTC) In-Reply-To: <20161014140756.GK6646@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE0LzEwLzIwMTYgMTU6MDcsIENocmlzIFdpbHNvbiB3cm90ZToKPiBPbiBGcmksIE9jdCAx NCwgMjAxNiBhdCAwMjozMjowM1BNICswMTAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4gT24g MTQvMTAvMjAxNiAxMzoxOCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+Pj4gQSB3aGlsZSBhZ28gd2Ug c3dpdGNoZWQgZnJvbSBhIGNvbnRpZ3VvdXMgYXJyYXkgb2YgcGFnZXMgaW50byBhbiBzZ2xpc3Qs Cj4+PiBmb3IgdGhhdCB3YXMgYm90aCBtb3JlIGNvbnZlbmllbnQgZm9yIG1hcHBpbmcgdG8gaGFy ZHdhcmUgYW5kIGF2b2lkZWQKPj4+IHRoZSByZXF1aXJlbWVudCBmb3IgYSB2bWFsbG9jIGFycmF5 IG9mIHBhZ2VzIG9uIGV2ZXJ5IG9iamVjdC4gSG93ZXZlciwKPj4+IGNlcnRhaW4gR0VNIEFQSSBj YWxscyAobGlrZSBwd3JpdGUsIHByZWFkIGFzIHdlbGwgYXMgcGVyZm9ybWluZwo+Pj4gcmVsb2Nh dGlvbnMpIGRvIGRlc2lyZSBhY2Nlc3MgdG8gaW5kaXZpZHVhbCBzdHJ1Y3QgcGFnZXMuIEEgcXVp Y2sgaGFjawo+Pj4gd2FzIHRvIGludHJvZHVjZSBhIGNhY2hlIG9mIHRoZSBsYXN0IGFjY2VzcyBz dWNoIHRoYXQgZmluZGluZyB0aGUKPj4+IGZvbGxvd2luZyBwYWdlIHdhcyBxdWljayAtIHRoaXMg d29ya3Mgc28gbG9uZyBhcyB0aGUgY2FsbGVyIGRlc2lyZWQKPj4+IHNlcXVlbnRpYWwgYWNjZXNz LiBXYWxraW5nIGJhY2t3YXJkcywgb3IgbXVsdGlwbGUgY2FsbGVycywgc3RpbGwgaGl0cyBhCj4+ PiBzbG93IGxpbmVhciBzZWFyY2ggZm9yIGVhY2ggcGFnZS4gT25lIHNvbHV0aW9uIGlzIHRvIHN0 b3JlIGVhY2gKPj4+IHN1Y2Nlc3NmdWwgbG9va3VwIGluIGEgcmFkaXggdHJlZS4KPj4+Cj4+PiB2 MjogUmV3cml0ZSBidWlsZGluZyB0aGUgcmFkaXh0cmVlIGZvciBjbGFyaXR5LCBob3BlZnVsbHku Cj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Cj4+PiAtLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgIHwgIDY5ICsrKysrLS0tLS0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgfCAxNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgIHwgICA0ICstCj4+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyB8ICAgNCArLQo+Pj4gICA0IGZp bGVzIGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKPj4+Cj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4+IGluZGV4IDM4NDY3ZGRlMWVmZS4uNTNjZjRiMGU1MzU5 IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gQEAgLTIyNzMsOSArMjI3Mywx MiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7Cj4+PiAgIAlzdHJ1Y3Qgc2dfdGFibGUg KnBhZ2VzOwo+Pj4gICAJaW50IHBhZ2VzX3Bpbl9jb3VudDsKPj4+IC0Jc3RydWN0IGdldF9wYWdl IHsKPj4+IC0JCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7Cj4+PiAtCQlpbnQgbGFzdDsKPj4+ICsJ c3RydWN0IGk5MTVfZ2VtX29iamVjdF9wYWdlX2l0ZXIgewo+Pj4gKwkJc3RydWN0IHNjYXR0ZXJs aXN0ICpzZ19wb3M7Cj4+PiArCQl1bnNpZ25lZCBsb25nIHNnX2lkeDsKPj4gV2UgYXJlIG5vdCBj b25zaXN0ZW50IGluIHRoZSBjb2RlIHdpdGggdHlwZSB1c2VkIGZvciBudW1iZXIgb2YgcGFnZXMK Pj4gaW4gYW4gb2JqZWN0LiBzZ19hbGxvY190YWJsZSBldmVuIHRha2VzIGFuIHVuc2lnbmVkIGlu dCBmb3IgaXQsIHNvCj4+IGZvciBhcyBsb25nIGFzIHdlIGJ1aWxkIHRoZW0gYXMgd2UgZG8sIHVu c2lnbmVkIGxvbmcgaXMgYSB3YXN0ZS4KPiBJIGtub3cuIEl0J3Mgd29ycnlpbmcsIHRvZGF5IHRo ZXJlIGlzIGEgcG9zc2liaWxpdHkgdGhhdCB3ZSBvdmVyZmxvdyBhCj4gMzJiaXQgc2l6ZS4gSWYg dGhpcyB3YXMgY291bnRpbmcgaW4gcGFnZXMsIHdlIHdvdWxkIGhhdmUgYSBmZXcgbW9yZQo+IHll YXJzIG9mIGdyYWNlLiBBbGwgSSBjYW4gc2F5IGlzIHRoYXQgd2UgYXJlIGZvcnR1bmF0ZSB0aGF0 IG1lbW9yeQo+IHJlbWFpbnMgZXhwZW5zaXZlIGluIHRoZSBleGFieXRlIHJhbmdlLgo+Cj4+PiBA QCAtNDMzOCw2ICs0MzQ5LDggQEAgdm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+Pj4gICAJb2JqLT5mcm9udGJ1ZmZlcl9nZ3R0X29yaWdp biA9IE9SSUdJTl9HVFQ7Cj4+PiAgIAlvYmotPm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7Cj4+ PiArCUlOSVRfUkFESVhfVFJFRSgmb2JqLT5nZXRfcGFnZS5yYWRpeCwgR0ZQX0FUT01JQyB8IF9f R0ZQX05PV0FSTik7Cj4+IFByb3MgJiBjb25zIG9mIEdGUF9BVE9NSUMgaGVyZT8gVmVyc3VzIHBl cmhhcHMgZ29pbmcgd2l0aCB0aGUgbXV0ZXg/Cj4+IEkgZG9uJ3Qga25vdyBob3cgbXVjaCBkYXRh IHJhZGl4IHRyZWUgYWxsb2NhdGVzIHdpdGggdGhpcywgcGVyIG5vZGUsCj4+IGJ1dCB3ZSBjYW4g aGF2ZSBhIGxvdCBvZiBwYWdlcy4gV291bGQgdGhpcyBjcmVhdGUgZXh0cmEgcHJlc3N1cmUgb24K Pj4gc2xhYiBzaHJpbmtpbmcsIGFuZCBpbiB0dXJuIG91dCBvYmplY3RzPwo+IFRoZSBwcm9ibGVt IGlzIHRoYXQgd2UgcmVxdWlyZSBzZyBsb29rdXAgb24gYSAhcGFnZWZhdWx0IHBhdGgsIGhlbmNl Cj4gbXV0ZXhlcyBhbmQgR0ZQX0tFUk5FTCB0dXJuIG91dCB0byBiZSBpbGxlZ2FsLiA6fAoKQnVt bWVyLiAgSSBkb24ndCBrbm93IGVub3VnaCBhYm91dCB0aGUgYXRvbWljIHJlc2VydmUgdG8ganVk Z2UgaG93IGJhZCAKdGhpcyBtaWdodCBiZSB0aGVuLiBCZWNhdXNlIHVzZXJzcGFjZSBjb3VsZCBk cmFpbiBpdCBlYXNpbHkgYWZ0ZXIgdGhpcyAKd29yayBieSBqdXN0IHByZWFkL3B3cml0ZSBvbiBs YXJnZSBvYmplY3RzLgoKPj4+ICsJCS8qIElmIHdlIGNhbm5vdCBhbGxvY2F0ZSBhbmQgaW5zZXJ0 IHRoaXMgZW50cnksIG9yIHRoZQo+Pj4gKwkJICogaW5kaXZpZHVhbCBwYWdlcyBmcm9tIHRoaXMg cmFuZ2UsIGNhbmNlbCB1cGRhdGluZyB0aGUKPj4+ICsJCSAqIHNnX2lkeCBzbyB0aGF0IG9uIHRo aXMgbG9va3VwIHdlIGFyZSBmb3JjZWQgdG8gbGluZWFybHkKPj4+ICsJCSAqIHNjYW4gb253YXJk cywgYnV0IG9uIGZ1dHVyZSBsb29rdXBzIHdlIHdpbGwgdHJ5IHRoZQo+Pj4gKwkJICogaW5zZXJ0 aW9uIGFnYWluIChpbiB3aGljaCBjYXNlIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBvZgo+Pj4gKwkJ ICogdGhlIGVycm9yIHJldHVybiByZXBvcnRpbmcgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaW5zZXJ0 ZWQKPj4+ICsJCSAqIHRoaXMgaW5kZXgpLgo+Pj4gKwkJICovCj4+PiArCQlyZXQgPSByYWRpeF90 cmVlX2luc2VydCgmaXRlci0+cmFkaXgsIGlkeCwgc2cpOwo+Pj4gKwkJaWYgKHJldCAmJiByZXQg IT0gLUVFWElTVCkKPj4+ICsJCQlnb3RvIHNjYW47Cj4+IFdoYXQgb3RoZXIgZXJyb3IgY2FuIHdl IGdldCBoZXJlPyBJbnRlcm5hbCBhbGxvY2F0aW9uIGZhaWx1cmU/Cj4gWWVzLiBFTk9NRU0gaXMg dGhlIG9ubHkgb3RoZXIgZXJyb3IuCj4+PiArCj4+PiArCQlleGNlcHRpb24gPQo+Pj4gKwkJCVJB RElYX1RSRUVfRVhDRVBUSU9OQUxfRU5UUlkgfAo+Pj4gKwkJCWlkeCA8PCBSQURJWF9UUkVFX0VY Q0VQVElPTkFMX1NISUZUOwo+Pj4gKwkJZm9yIChpID0gMTsgaSA8IGNvdW50OyBpKyspIHsKPj4+ ICsJCQlyZXQgPSByYWRpeF90cmVlX2luc2VydCgmaXRlci0+cmFkaXgsIGlkeCArIGksCj4+PiAr CQkJCQkJKHZvaWQgKilleGNlcHRpb24pOwo+Pj4gKwkJCWlmIChyZXQgJiYgcmV0ICE9IC1FRVhJ U1QpCj4+PiArCQkJCWdvdG8gc2NhbjsKPj4+ICsJCX0KPj4+ICsKPj4+ICsJCWlkeCArPSBjb3Vu dDsKPj4+ICsJCXNnID0gX19fX3NnX25leHQoc2cpOwo+Pj4gKwkJY291bnQgPSBfX3NnX3BhZ2Vf Y291bnQoc2cpOwo+Pj4gKwl9Cj4+PiArCj4+PiArc2NhbjoKPj4+ICsJaXRlci0+c2dfcG9zID0g c2c7Cj4+PiArCWl0ZXItPnNnX2lkeCA9IGlkeDsKPj4+ICsKPj4+ICsJc3Bpbl91bmxvY2soJml0 ZXItPmxvY2spOwo+Pj4gKwo+Pj4gKwlpZiAodW5saWtlbHkobiA8IGlkeCkpIC8qIGluc2VydGlv biBjb21wbGV0ZWQgYnkgYW5vdGhlciB0aHJlYWQgKi8KPj4+ICsJCWdvdG8gbG9va3VwOwo+Pj4g Kwo+Pj4gKwkvKiBJbiBjYXNlIHdlIGZhaWxlZCB0byBpbnNlcnQgdGhlIGVudHJ5IGludG8gdGhl IHJhZGl4dHJlZSwgd2UgbmVlZAo+Pj4gKwkgKiB0byBsb29rIGJleW9uZCB0aGUgY3VycmVudCBz Zy4KPj4+ICsJICovCj4+PiArCXdoaWxlIChpZHggKyBjb3VudCA8PSBuKSB7Cj4+PiArCQlpZHgg Kz0gY291bnQ7Cj4+PiArCQlzZyA9IF9fX19zZ19uZXh0KHNnKTsKPj4+ICsJCWNvdW50ID0gX19z Z19wYWdlX2NvdW50KHNnKTsKPj4+ICsJfQo+Pj4gKwo+PiBIbW0uLi4gSSBhc3N1bWUgZmFpbHVy ZXMgaGFwcGVuIHRoZW4gc2luY2UgeW91IGFkZGVkIHRoaXMgZmFsbGJhY2suCj4+IER1ZSBHRlBf QVRPTUlDPwo+IE5vLCB0aGlzIHdhcyBhbHdheXMgaW4gdGhlIGNvZGUsIGJlY2F1c2UgbWFsbG9j IGZhaWx1cmVzIGhhcHBlbi4gUXVpdGUKPiBvZnRlbiBpZiB5b3UgcnVuIGlndCA7KQo+ICAgCgpC dXQgR0ZQX0FUT01JQyBmYWlsdXJlcyBwcmltYXJpbHksIHllcz8KCkl0IGlzIGEgYml0IHVuZm9y dHVuYXRlIHRoYXQgd2l0aCB0aGlzIGZhbmN5IGxvb2t1cCB3ZSBjYW4gZWFzaWx5IGFuZCAKc2ls ZW50bHkgZmFsbCBiYWNrIHRvIGxpbmVhciBsb29rdXAgYW5kIGxvc2UgdGhlIHBlcmZvcm1hbmNl IGJlbmVmaXQuIERvIAp5b3Uga25vdyBob3cgb2Z0ZW4gdGhpcyBoYXBwZW5zPyBTaG91bGQgd2Ug aGF2ZSBzb21lIHN0YXRzIGNvbGxlY3RlZCBhbmQgCmV4cG9ydGVkIHZpYSBkZWJ1Z2ZzIHRvIGV2 YWx1YXRlIG9uIHJlYWxpc3RpY2FsbHkgYnVzeS9sb2FkZWQgc3lzdGVtcz8KCj4+PiArCSpvZmZz ZXQgPSBuIC0gaWR4Owo+Pj4gKwlyZXR1cm4gc2c7Cj4+PiArCj4+PiArbG9va3VwOgo+Pj4gKwly Y3VfcmVhZF9sb2NrKCk7Cj4+PiArCj4+IFByb3BlcnR5IG9mIHRoZSByYWRpeCB0cmVlIGltcGxl bWVudGF0aW9uIHRoYXQgdGhlIFJDVSBsb2NrIGlzIHN1ZmZpY2llbnQ/Cj4gWWVzLiBMb29rdXBz IGFyZSBSQ1Ugc2FmZSAodGhlIHNsb3RzIGFyZSBmcmVlZCB2aWEgUkNVKS4gV3JpdGVycyBtdXN0 IGJlCj4gc2VyaWFsaXNlZCBieSB0aGUgY2FsbGVyLgo+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9zdG9sZW4uYwo+Pj4gaW5kZXggZjRmNmQzYTQ4YjA1Li43MGU2MWJjMzVjNjAgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPj4+IEBAIC01OTUs OCArNTk1LDggQEAgX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+PiAgIAlpZiAob2JqLT5wYWdlcyA9PSBOVUxMKQo+Pj4gICAJCWdvdG8gY2xl YW51cDsKPj4+IC0Jb2JqLT5nZXRfcGFnZS5zZyA9IG9iai0+cGFnZXMtPnNnbDsKPj4+IC0Jb2Jq LT5nZXRfcGFnZS5sYXN0ID0gMDsKPj4+ICsJb2JqLT5nZXRfcGFnZS5zZ19wb3MgPSBvYmotPnBh Z2VzLT5zZ2w7Cj4+PiArCW9iai0+Z2V0X3BhZ2Uuc2dfaWR4ID0gMDsKPj4+ICAgCWk5MTVfZ2Vt X29iamVjdF9waW5fcGFnZXMob2JqKTsKPj4+ICAgCW9iai0+c3RvbGVuID0gc3RvbGVuOwo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+Pj4gaW5kZXggMWM4OTFiOTJh YzgwLi5jYjk1Nzg5ZGE3NmUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV91c2VycHRyLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3VzZXJwdHIuYwo+Pj4gQEAgLTUyNiw4ICs1MjYsOCBAQCBfX2k5MTVfZ2VtX3VzZXJwdHJfZ2V0 X3BhZ2VzX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl93b3JrKQo+Pj4gICAJCQlpZiAocmV0 ID09IDApIHsKPj4+ICAgCQkJCWxpc3RfYWRkX3RhaWwoJm9iai0+Z2xvYmFsX2xpc3QsCj4+PiAg IAkJCQkJICAgICAgJnRvX2k5MTUoZGV2KS0+bW0udW5ib3VuZF9saXN0KTsKPj4+IC0JCQkJb2Jq LT5nZXRfcGFnZS5zZyA9IG9iai0+cGFnZXMtPnNnbDsKPj4+IC0JCQkJb2JqLT5nZXRfcGFnZS5s YXN0ID0gMDsKPj4+ICsJCQkJb2JqLT5nZXRfcGFnZS5zZ19wb3MgPSBvYmotPnBhZ2VzLT5zZ2w7 Cj4+PiArCQkJCW9iai0+Z2V0X3BhZ2Uuc2dfaWR4ID0gMDsKPj4gQWxtb3N0IGxpa2UgdGhlc2Ug b25lcyB3b3VsZCBiZSBiZXR0ZXIgaW4gYSBoZWxwZXIgbGlrZQo+PiBpOTE1X2dlbV9vYmplY3Rf aW5pdF9wYWdlX2xvb2t1cCBvciBzb21ldGhpbmcuCj4gWXVwLiAgSSB0aGluayBJIGhhdmUgYSBw YXRjaCBmb3IgdGhhdCwgd2l0aCB5b3VyIHItYiBvbiBpdCA6KQoKT2sgdGhlbi4gOikKClJlZ2Fy ZHMsCgpUdnJ0a28KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=