From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 14/41] drm/i915: Use a radixtree for random access to the object's backing storage Date: Fri, 14 Oct 2016 15:07:56 +0100 Message-ID: <20161014140756.GK6646@nuc-i3427.alporthouse.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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 320E16EC8B for ; Fri, 14 Oct 2016 14:08:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <51f431b0-06da-9624-66cf-f6f9e7a77e7b@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMTQsIDIwMTYgYXQgMDI6MzI6MDNQTSArMDEwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gCj4gT24gMTQvMTAvMjAxNiAxMzoxOCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+ID5B IHdoaWxlIGFnbyB3ZSBzd2l0Y2hlZCBmcm9tIGEgY29udGlndW91cyBhcnJheSBvZiBwYWdlcyBp bnRvIGFuIHNnbGlzdCwKPiA+Zm9yIHRoYXQgd2FzIGJvdGggbW9yZSBjb252ZW5pZW50IGZvciBt YXBwaW5nIHRvIGhhcmR3YXJlIGFuZCBhdm9pZGVkCj4gPnRoZSByZXF1aXJlbWVudCBmb3IgYSB2 bWFsbG9jIGFycmF5IG9mIHBhZ2VzIG9uIGV2ZXJ5IG9iamVjdC4gSG93ZXZlciwKPiA+Y2VydGFp biBHRU0gQVBJIGNhbGxzIChsaWtlIHB3cml0ZSwgcHJlYWQgYXMgd2VsbCBhcyBwZXJmb3JtaW5n Cj4gPnJlbG9jYXRpb25zKSBkbyBkZXNpcmUgYWNjZXNzIHRvIGluZGl2aWR1YWwgc3RydWN0IHBh Z2VzLiBBIHF1aWNrIGhhY2sKPiA+d2FzIHRvIGludHJvZHVjZSBhIGNhY2hlIG9mIHRoZSBsYXN0 IGFjY2VzcyBzdWNoIHRoYXQgZmluZGluZyB0aGUKPiA+Zm9sbG93aW5nIHBhZ2Ugd2FzIHF1aWNr IC0gdGhpcyB3b3JrcyBzbyBsb25nIGFzIHRoZSBjYWxsZXIgZGVzaXJlZAo+ID5zZXF1ZW50aWFs IGFjY2Vzcy4gV2Fsa2luZyBiYWNrd2FyZHMsIG9yIG11bHRpcGxlIGNhbGxlcnMsIHN0aWxsIGhp dHMgYQo+ID5zbG93IGxpbmVhciBzZWFyY2ggZm9yIGVhY2ggcGFnZS4gT25lIHNvbHV0aW9uIGlz IHRvIHN0b3JlIGVhY2gKPiA+c3VjY2Vzc2Z1bCBsb29rdXAgaW4gYSByYWRpeCB0cmVlLgo+ID4K PiA+djI6IFJld3JpdGUgYnVpbGRpbmcgdGhlIHJhZGl4dHJlZSBmb3IgY2xhcml0eSwgaG9wZWZ1 bGx5Lgo+ID4KPiA+U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Cj4gPi0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICB8ICA2OSArKysrKy0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgfCAxNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyAgfCAgIDQgKy0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgfCAgIDQgKy0KPiA+ICA0IGZpbGVz IGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKPiA+Cj4gPmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+ID5pbmRleCAzODQ2N2RkZTFlZmUuLjUzY2Y0YjBlNTM1OSAxMDA2 NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4rKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPkBAIC0yMjczLDkgKzIyNzMsMTIgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Qgewo+ID4gIAlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwo+ ID4gIAlpbnQgcGFnZXNfcGluX2NvdW50Owo+ID4tCXN0cnVjdCBnZXRfcGFnZSB7Cj4gPi0JCXN0 cnVjdCBzY2F0dGVybGlzdCAqc2c7Cj4gPi0JCWludCBsYXN0Owo+ID4rCXN0cnVjdCBpOTE1X2dl bV9vYmplY3RfcGFnZV9pdGVyIHsKPiA+KwkJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ19wb3M7Cj4g PisJCXVuc2lnbmVkIGxvbmcgc2dfaWR4Owo+IAo+IFdlIGFyZSBub3QgY29uc2lzdGVudCBpbiB0 aGUgY29kZSB3aXRoIHR5cGUgdXNlZCBmb3IgbnVtYmVyIG9mIHBhZ2VzCj4gaW4gYW4gb2JqZWN0 LiBzZ19hbGxvY190YWJsZSBldmVuIHRha2VzIGFuIHVuc2lnbmVkIGludCBmb3IgaXQsIHNvCj4g Zm9yIGFzIGxvbmcgYXMgd2UgYnVpbGQgdGhlbSBhcyB3ZSBkbywgdW5zaWduZWQgbG9uZyBpcyBh IHdhc3RlLgoKSSBrbm93LiBJdCdzIHdvcnJ5aW5nLCB0b2RheSB0aGVyZSBpcyBhIHBvc3NpYmls aXR5IHRoYXQgd2Ugb3ZlcmZsb3cgYQozMmJpdCBzaXplLiBJZiB0aGlzIHdhcyBjb3VudGluZyBp biBwYWdlcywgd2Ugd291bGQgaGF2ZSBhIGZldyBtb3JlCnllYXJzIG9mIGdyYWNlLiBBbGwgSSBj YW4gc2F5IGlzIHRoYXQgd2UgYXJlIGZvcnR1bmF0ZSB0aGF0IG1lbW9yeQpyZW1haW5zIGV4cGVu c2l2ZSBpbiB0aGUgZXhhYnl0ZSByYW5nZS4KCj4gPkBAIC00MzM4LDYgKzQzNDksOCBAQCB2b2lk IGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4g PiAgCW9iai0+ZnJvbnRidWZmZXJfZ2d0dF9vcmlnaW4gPSBPUklHSU5fR1RUOwo+ID4gIAlvYmot Pm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7Cj4gPisJSU5JVF9SQURJWF9UUkVFKCZvYmotPmdl dF9wYWdlLnJhZGl4LCBHRlBfQVRPTUlDIHwgX19HRlBfTk9XQVJOKTsKPiAKPiBQcm9zICYgY29u cyBvZiBHRlBfQVRPTUlDIGhlcmU/IFZlcnN1cyBwZXJoYXBzIGdvaW5nIHdpdGggdGhlIG11dGV4 Pwo+IEkgZG9uJ3Qga25vdyBob3cgbXVjaCBkYXRhIHJhZGl4IHRyZWUgYWxsb2NhdGVzIHdpdGgg dGhpcywgcGVyIG5vZGUsCj4gYnV0IHdlIGNhbiBoYXZlIGEgbG90IG9mIHBhZ2VzLiBXb3VsZCB0 aGlzIGNyZWF0ZSBleHRyYSBwcmVzc3VyZSBvbgo+IHNsYWIgc2hyaW5raW5nLCBhbmQgaW4gdHVy biBvdXQgb2JqZWN0cz8KClRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgcmVxdWlyZSBzZyBsb29rdXAg b24gYSAhcGFnZWZhdWx0IHBhdGgsIGhlbmNlCm11dGV4ZXMgYW5kIEdGUF9LRVJORUwgdHVybiBv dXQgdG8gYmUgaWxsZWdhbC4gOnwKCj4gPisJCS8qIElmIHdlIGNhbm5vdCBhbGxvY2F0ZSBhbmQg aW5zZXJ0IHRoaXMgZW50cnksIG9yIHRoZQo+ID4rCQkgKiBpbmRpdmlkdWFsIHBhZ2VzIGZyb20g dGhpcyByYW5nZSwgY2FuY2VsIHVwZGF0aW5nIHRoZQo+ID4rCQkgKiBzZ19pZHggc28gdGhhdCBv biB0aGlzIGxvb2t1cCB3ZSBhcmUgZm9yY2VkIHRvIGxpbmVhcmx5Cj4gPisJCSAqIHNjYW4gb253 YXJkcywgYnV0IG9uIGZ1dHVyZSBsb29rdXBzIHdlIHdpbGwgdHJ5IHRoZQo+ID4rCQkgKiBpbnNl cnRpb24gYWdhaW4gKGluIHdoaWNoIGNhc2Ugd2UgbmVlZCB0byBiZSBjYXJlZnVsIG9mCj4gPisJ CSAqIHRoZSBlcnJvciByZXR1cm4gcmVwb3J0aW5nIHRoYXQgd2UgaGF2ZSBhbHJlYWR5IGluc2Vy dGVkCj4gPisJCSAqIHRoaXMgaW5kZXgpLgo+ID4rCQkgKi8KPiA+KwkJcmV0ID0gcmFkaXhfdHJl ZV9pbnNlcnQoJml0ZXItPnJhZGl4LCBpZHgsIHNnKTsKPiA+KwkJaWYgKHJldCAmJiByZXQgIT0g LUVFWElTVCkKPiA+KwkJCWdvdG8gc2NhbjsKPiAKPiBXaGF0IG90aGVyIGVycm9yIGNhbiB3ZSBn ZXQgaGVyZT8gSW50ZXJuYWwgYWxsb2NhdGlvbiBmYWlsdXJlPwoKWWVzLiBFTk9NRU0gaXMgdGhl IG9ubHkgb3RoZXIgZXJyb3IuCj4gCj4gPisKPiA+KwkJZXhjZXB0aW9uID0KPiA+KwkJCVJBRElY X1RSRUVfRVhDRVBUSU9OQUxfRU5UUlkgfAo+ID4rCQkJaWR4IDw8IFJBRElYX1RSRUVfRVhDRVBU SU9OQUxfU0hJRlQ7Cj4gPisJCWZvciAoaSA9IDE7IGkgPCBjb3VudDsgaSsrKSB7Cj4gPisJCQly ZXQgPSByYWRpeF90cmVlX2luc2VydCgmaXRlci0+cmFkaXgsIGlkeCArIGksCj4gPisJCQkJCQko dm9pZCAqKWV4Y2VwdGlvbik7Cj4gPisJCQlpZiAocmV0ICYmIHJldCAhPSAtRUVYSVNUKQo+ID4r CQkJCWdvdG8gc2NhbjsKPiA+KwkJfQo+ID4rCj4gPisJCWlkeCArPSBjb3VudDsKPiA+KwkJc2cg PSBfX19fc2dfbmV4dChzZyk7Cj4gPisJCWNvdW50ID0gX19zZ19wYWdlX2NvdW50KHNnKTsKPiA+ Kwl9Cj4gPisKPiA+K3NjYW46Cj4gPisJaXRlci0+c2dfcG9zID0gc2c7Cj4gPisJaXRlci0+c2df aWR4ID0gaWR4Owo+ID4rCj4gPisJc3Bpbl91bmxvY2soJml0ZXItPmxvY2spOwo+ID4rCj4gPisJ aWYgKHVubGlrZWx5KG4gPCBpZHgpKSAvKiBpbnNlcnRpb24gY29tcGxldGVkIGJ5IGFub3RoZXIg dGhyZWFkICovCj4gPisJCWdvdG8gbG9va3VwOwo+ID4rCj4gPisJLyogSW4gY2FzZSB3ZSBmYWls ZWQgdG8gaW5zZXJ0IHRoZSBlbnRyeSBpbnRvIHRoZSByYWRpeHRyZWUsIHdlIG5lZWQKPiA+Kwkg KiB0byBsb29rIGJleW9uZCB0aGUgY3VycmVudCBzZy4KPiA+KwkgKi8KPiA+Kwl3aGlsZSAoaWR4 ICsgY291bnQgPD0gbikgewo+ID4rCQlpZHggKz0gY291bnQ7Cj4gPisJCXNnID0gX19fX3NnX25l eHQoc2cpOwo+ID4rCQljb3VudCA9IF9fc2dfcGFnZV9jb3VudChzZyk7Cj4gPisJfQo+ID4rCj4g Cj4gSG1tLi4uIEkgYXNzdW1lIGZhaWx1cmVzIGhhcHBlbiB0aGVuIHNpbmNlIHlvdSBhZGRlZCB0 aGlzIGZhbGxiYWNrLgo+IER1ZSBHRlBfQVRPTUlDPwoKTm8sIHRoaXMgd2FzIGFsd2F5cyBpbiB0 aGUgY29kZSwgYmVjYXVzZSBtYWxsb2MgZmFpbHVyZXMgaGFwcGVuLiBRdWl0ZQpvZnRlbiBpZiB5 b3UgcnVuIGlndCA7KQogCj4gPisJKm9mZnNldCA9IG4gLSBpZHg7Cj4gPisJcmV0dXJuIHNnOwo+ ID4rCj4gPitsb29rdXA6Cj4gPisJcmN1X3JlYWRfbG9jaygpOwo+ID4rCj4gCj4gUHJvcGVydHkg b2YgdGhlIHJhZGl4IHRyZWUgaW1wbGVtZW50YXRpb24gdGhhdCB0aGUgUkNVIGxvY2sgaXMgc3Vm ZmljaWVudD8KClllcy4gTG9va3VwcyBhcmUgUkNVIHNhZmUgKHRoZSBzbG90cyBhcmUgZnJlZWQg dmlhIFJDVSkuIFdyaXRlcnMgbXVzdCBiZQpzZXJpYWxpc2VkIGJ5IHRoZSBjYWxsZXIuCgo+ID5k aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+ID5pbmRleCBmNGY2ZDNhNDhiMDUu LjcwZTYxYmMzNWM2MCAxMDA2NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fc3RvbGVuLmMKPiA+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVu LmMKPiA+QEAgLTU5NSw4ICs1OTUsOCBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4o c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJaWYgKG9iai0+cGFnZXMgPT0gTlVMTCkKPiA+ ICAJCWdvdG8gY2xlYW51cDsKPiA+LQlvYmotPmdldF9wYWdlLnNnID0gb2JqLT5wYWdlcy0+c2ds Owo+ID4tCW9iai0+Z2V0X3BhZ2UubGFzdCA9IDA7Cj4gPisJb2JqLT5nZXRfcGFnZS5zZ19wb3Mg PSBvYmotPnBhZ2VzLT5zZ2w7Cj4gPisJb2JqLT5nZXRfcGFnZS5zZ19pZHggPSAwOwo+ID4gIAlp OTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Cj4gPiAgCW9iai0+c3RvbGVuID0gc3RvbGVu Owo+ID5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gPmluZGV4IDFjODkx YjkyYWM4MC4uY2I5NTc4OWRhNzZlIDEwMDY0NAo+ID4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV91c2VycHRyLmMKPiA+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fdXNlcnB0ci5jCj4gPkBAIC01MjYsOCArNTI2LDggQEAgX19pOTE1X2dlbV91c2VycHRyX2dl dF9wYWdlc193b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICpfd29yaykKPiA+ICAJCQlpZiAocmV0 ID09IDApIHsKPiA+ICAJCQkJbGlzdF9hZGRfdGFpbCgmb2JqLT5nbG9iYWxfbGlzdCwKPiA+ICAJ CQkJCSAgICAgICZ0b19pOTE1KGRldiktPm1tLnVuYm91bmRfbGlzdCk7Cj4gPi0JCQkJb2JqLT5n ZXRfcGFnZS5zZyA9IG9iai0+cGFnZXMtPnNnbDsKPiA+LQkJCQlvYmotPmdldF9wYWdlLmxhc3Qg PSAwOwo+ID4rCQkJCW9iai0+Z2V0X3BhZ2Uuc2dfcG9zID0gb2JqLT5wYWdlcy0+c2dsOwo+ID4r CQkJCW9iai0+Z2V0X3BhZ2Uuc2dfaWR4ID0gMDsKPiAKPiBBbG1vc3QgbGlrZSB0aGVzZSBvbmVz IHdvdWxkIGJlIGJldHRlciBpbiBhIGhlbHBlciBsaWtlCj4gaTkxNV9nZW1fb2JqZWN0X2luaXRf cGFnZV9sb29rdXAgb3Igc29tZXRoaW5nLgoKWXVwLiAgSSB0aGluayBJIGhhdmUgYSBwYXRjaCBm b3IgdGhhdCwgd2l0aCB5b3VyIHItYiBvbiBpdCA6KQotQ2hyaXMKCi0tIApDaHJpcyBXaWxzb24s IEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudHJlCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=