From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH 1/3] drm: Track drm_mm nodes with an interval tree Date: Tue, 6 Oct 2015 13:11:56 +0200 Message-ID: <20151006111156.GH3383@phenom.ffwll.local> References: <1444128791-6327-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1444128791-6327-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMDYsIDIwMTUgYXQgMTE6NTM6MDlBTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEluIGFkZGl0aW9uIHRvIHRoZSBsYXN0LWluL2ZpcnN0LW91dCBzdGFjayBmb3IgYWNj ZXNzaW5nIGRybV9tbSBub2RlcywKPiB3ZSBvY2Nhc2lvbmFsbHkgYW5kIGluIHRoZSBmdXR1cmUg b2Z0ZW4gd2FudCB0byBmaW5kIGEgZHJtX21tX25vZGUgYnkgYW4KPiBhZGRyZXNzLiBUbyBkbyBz byBlZmZpY2llbnRseSB3ZSBuZWVkIHRvIHRyYWNrIHRoZSBub2RlcyBpbiBhbiBpbnRlcnZhbAo+ IHRyZWUgLSBsb29rdXBzIGZvciBhIHBhcnRpY3VsYXIgYWRkcmVzcyB3aWxsIHRoZW4gYmUgTyhs ZyhOKSksIHdoZXJlIE4KPiBpcyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSByYW5nZSBtYW5h Z2VyIGFzIG9wcG9zZWQgdG8gTyhOKS4KPiBJbnNlcnRpb24gaG93ZXZlciBnYWlucyBhbiBleHRy YSBPKGxnKE4pKSBzdGVwIGZvciBhbGwgbm9kZXMKPiBpcnJlc3BlY3RpdmUgb2Ygd2hldGhlciB0 aGUgaW50ZXJ2YWwgdHJlZSBpcyBpbiB1c2UuIEZvciBmdXR1cmUgaTkxNQo+IHBhdGNoZXMsIGVs aW1pbmF0aW5nIHRoZSBsaW5lYXIgd2FsayBpcyBhIHNpZ25pZmljYW50IGltcHJvdmVtZW50Lgo+ IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr Pgo+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCgpGb3IgdGhlIHZtYSBtYW5h Z2VyIERhdmlkIEhlcnJtYW4gcHV0IHRoZSBpbnRlcnZhbCB0cmVlIG91dHNpZGUgb2YgZHJtX21t LgpXaGljaGV2ZXIgd2F5IHdlIHBpY2ssIGJ1dCBJIHRoaW5rIHdlIHNob3VsZCBiZSBjb25zaXN0 ZW50IGFib3V0IHRoaXMuCi1EYW5pZWwKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9LY29uZmln ICB8ICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jIHwgNzEgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9tbS5o ICAgICB8ICA1ICsrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyMyBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9k cml2ZXJzL2dwdS9kcm0vS2NvbmZpZwo+IGluZGV4IDA2YWU1MDA4YzVlZC4uZTI1MDUwYTVhODQz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL0tjb25maWcKPiBAQCAtMTIsNiArMTIsNyBAQCBtZW51Y29uZmlnIERSTQo+ICAJc2Vs ZWN0IEkyQwo+ICAJc2VsZWN0IEkyQ19BTEdPQklUCj4gIAlzZWxlY3QgRE1BX1NIQVJFRF9CVUZG RVIKPiArCXNlbGVjdCBJTlRFUlZBTF9UUkVFCj4gIAloZWxwCj4gIAkgIEtlcm5lbC1sZXZlbCBz dXBwb3J0IGZvciB0aGUgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKQo+ICAJ ICBpbnRyb2R1Y2VkIGluIFhGcmVlODYgNC4wLiBJZiB5b3Ugc2F5IFkgaGVyZSwgeW91IG5lZWQg dG8gc2VsZWN0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW0uYwo+IGluZGV4IDA0ZGU2ZmQ4OGY4Yy4uZTNhY2Q4NjBmNzM4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW0uYwo+IEBAIC0xNTMsNiArMTUzLDEwIEBAIHN0YXRpYyB2b2lkIGRybV9tbV9p bnNlcnRfaGVscGVyKHN0cnVjdCBkcm1fbW1fbm9kZSAqaG9sZV9ub2RlLAo+ICAJSU5JVF9MSVNU X0hFQUQoJm5vZGUtPmhvbGVfc3RhY2spOwo+ICAJbGlzdF9hZGQoJm5vZGUtPm5vZGVfbGlzdCwg JmhvbGVfbm9kZS0+bm9kZV9saXN0KTsKPiAgCj4gKwlub2RlLT5pdC5zdGFydCA9IG5vZGUtPnN0 YXJ0Owo+ICsJbm9kZS0+aXQubGFzdCA9IG5vZGUtPnN0YXJ0ICsgc2l6ZSAtIDE7Cj4gKwlpbnRl cnZhbF90cmVlX2luc2VydCgmbm9kZS0+aXQsICZtbS0+aW50ZXJ2YWxfdHJlZSk7Cj4gKwo+ICAJ QlVHX09OKG5vZGUtPnN0YXJ0ICsgbm9kZS0+c2l6ZSA+IGFkal9lbmQpOwo+ICAKPiAgCW5vZGUt PmhvbGVfZm9sbG93cyA9IDA7Cj4gQEAgLTE3OCwzOSArMTgyLDUzIEBAIHN0YXRpYyB2b2lkIGRy bV9tbV9pbnNlcnRfaGVscGVyKHN0cnVjdCBkcm1fbW1fbm9kZSAqaG9sZV9ub2RlLAo+ICAgKi8K PiAgaW50IGRybV9tbV9yZXNlcnZlX25vZGUoc3RydWN0IGRybV9tbSAqbW0sIHN0cnVjdCBkcm1f bW1fbm9kZSAqbm9kZSkKPiAgewo+IC0Jc3RydWN0IGRybV9tbV9ub2RlICpob2xlOwo+ICAJdTY0 IGVuZCA9IG5vZGUtPnN0YXJ0ICsgbm9kZS0+c2l6ZTsKPiAtCXU2NCBob2xlX3N0YXJ0Owo+IC0J dTY0IGhvbGVfZW5kOwo+IC0KPiAtCUJVR19PTihub2RlID09IE5VTEwpOwo+ICsJc3RydWN0IGlu dGVydmFsX3RyZWVfbm9kZSAqaXQ7Cj4gKwlzdHJ1Y3QgZHJtX21tX25vZGUgKmhvbGU7Cj4gKwl1 NjQgaG9sZV9zdGFydCwgaG9sZV9lbmQ7Cj4gIAo+ICAJLyogRmluZCB0aGUgcmVsZXZhbnQgaG9s ZSB0byBhZGQgb3VyIG5vZGUgdG8gKi8KPiAtCWRybV9tbV9mb3JfZWFjaF9ob2xlKGhvbGUsIG1t LCBob2xlX3N0YXJ0LCBob2xlX2VuZCkgewo+IC0JCWlmIChob2xlX3N0YXJ0ID4gbm9kZS0+c3Rh cnQgfHwgaG9sZV9lbmQgPCBlbmQpCj4gLQkJCWNvbnRpbnVlOwo+ICsJaXQgPSBpbnRlcnZhbF90 cmVlX2l0ZXJfZmlyc3QoJm1tLT5pbnRlcnZhbF90cmVlLAo+ICsJCQkJICAgICAgbm9kZS0+c3Rh cnQsICh1NjQpLTEpOwo+ICsJaWYgKGl0ID09IE5VTEwpIHsKPiArCQlob2xlID0gbGlzdF9sYXN0 X2VudHJ5KCZtbS0+aGVhZF9ub2RlLm5vZGVfbGlzdCwKPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJt X21tX25vZGUsIG5vZGVfbGlzdCk7Cj4gKwl9IGVsc2Ugewo+ICsJCWhvbGUgPSBjb250YWluZXJf b2YoaXQsIHR5cGVvZigqaG9sZSksIGl0KTsKPiArCQlpZiAoaG9sZS0+c3RhcnQgPD0gbm9kZS0+ c3RhcnQpCj4gKwkJCXJldHVybiAtRU5PU1BDOwo+ICsKPiArCQlob2xlID0gbGlzdF9sYXN0X2Vu dHJ5KCZob2xlLT5ub2RlX2xpc3QsCj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9tbV9ub2RlLCBu b2RlX2xpc3QpOwo+ICsJfQo+ICAKPiAtCQlub2RlLT5tbSA9IG1tOwo+IC0JCW5vZGUtPmFsbG9j YXRlZCA9IDE7Cj4gKwlob2xlX3N0YXJ0ID0gZHJtX21tX2hvbGVfbm9kZV9zdGFydChob2xlKTsK PiArCWhvbGVfZW5kID0gZHJtX21tX2hvbGVfbm9kZV9lbmQoaG9sZSk7Cj4gKwlpZiAoaG9sZV9z dGFydCA+IG5vZGUtPnN0YXJ0IHx8IGhvbGVfZW5kIDwgZW5kKQo+ICsJCXJldHVybiAtRU5PU1BD Owo+ICAKPiAtCQlJTklUX0xJU1RfSEVBRCgmbm9kZS0+aG9sZV9zdGFjayk7Cj4gLQkJbGlzdF9h ZGQoJm5vZGUtPm5vZGVfbGlzdCwgJmhvbGUtPm5vZGVfbGlzdCk7Cj4gKwlub2RlLT5tbSA9IG1t Owo+ICsJbm9kZS0+YWxsb2NhdGVkID0gMTsKPiAgCj4gLQkJaWYgKG5vZGUtPnN0YXJ0ID09IGhv bGVfc3RhcnQpIHsKPiAtCQkJaG9sZS0+aG9sZV9mb2xsb3dzID0gMDsKPiAtCQkJbGlzdF9kZWxf aW5pdCgmaG9sZS0+aG9sZV9zdGFjayk7Cj4gLQkJfQo+ICsJSU5JVF9MSVNUX0hFQUQoJm5vZGUt PmhvbGVfc3RhY2spOwo+ICsJbGlzdF9hZGQoJm5vZGUtPm5vZGVfbGlzdCwgJmhvbGUtPm5vZGVf bGlzdCk7Cj4gIAo+IC0JCW5vZGUtPmhvbGVfZm9sbG93cyA9IDA7Cj4gLQkJaWYgKGVuZCAhPSBo b2xlX2VuZCkgewo+IC0JCQlsaXN0X2FkZCgmbm9kZS0+aG9sZV9zdGFjaywgJm1tLT5ob2xlX3N0 YWNrKTsKPiAtCQkJbm9kZS0+aG9sZV9mb2xsb3dzID0gMTsKPiAtCQl9Cj4gKwlub2RlLT5pdC5z dGFydCA9IG5vZGUtPnN0YXJ0Owo+ICsJbm9kZS0+aXQubGFzdCA9IG5vZGUtPnN0YXJ0ICsgbm9k ZS0+c2l6ZSAtIDE7Cj4gKwlpbnRlcnZhbF90cmVlX2luc2VydCgmbm9kZS0+aXQsICZtbS0+aW50 ZXJ2YWxfdHJlZSk7Cj4gIAo+IC0JCXJldHVybiAwOwo+ICsJaWYgKG5vZGUtPnN0YXJ0ID09IGhv bGVfc3RhcnQpIHsKPiArCQlob2xlLT5ob2xlX2ZvbGxvd3MgPSAwOwo+ICsJCWxpc3RfZGVsX2lu aXQoJmhvbGUtPmhvbGVfc3RhY2spOwo+ICAJfQo+ICAKPiAtCXJldHVybiAtRU5PU1BDOwo+ICsJ bm9kZS0+aG9sZV9mb2xsb3dzID0gMDsKPiArCWlmIChlbmQgIT0gaG9sZV9lbmQpIHsKPiArCQls aXN0X2FkZCgmbm9kZS0+aG9sZV9zdGFjaywgJm1tLT5ob2xlX3N0YWNrKTsKPiArCQlub2RlLT5o b2xlX2ZvbGxvd3MgPSAxOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICB9Cj4gIEVYUE9SVF9T WU1CT0woZHJtX21tX3Jlc2VydmVfbm9kZSk7Cj4gIAo+IEBAIC0zMDAsNiArMzE4LDEwIEBAIHN0 YXRpYyB2b2lkIGRybV9tbV9pbnNlcnRfaGVscGVyX3JhbmdlKHN0cnVjdCBkcm1fbW1fbm9kZSAq aG9sZV9ub2RlLAo+ICAJSU5JVF9MSVNUX0hFQUQoJm5vZGUtPmhvbGVfc3RhY2spOwo+ICAJbGlz dF9hZGQoJm5vZGUtPm5vZGVfbGlzdCwgJmhvbGVfbm9kZS0+bm9kZV9saXN0KTsKPiAgCj4gKwlu b2RlLT5pdC5zdGFydCA9IG5vZGUtPnN0YXJ0Owo+ICsJbm9kZS0+aXQubGFzdCA9IG5vZGUtPnN0 YXJ0ICsgbm9kZS0+c2l6ZSAtIDE7Cj4gKwlpbnRlcnZhbF90cmVlX2luc2VydCgmbm9kZS0+aXQs ICZtbS0+aW50ZXJ2YWxfdHJlZSk7Cj4gKwo+ICAJQlVHX09OKG5vZGUtPnN0YXJ0IDwgc3RhcnQp Owo+ICAJQlVHX09OKG5vZGUtPnN0YXJ0IDwgYWRqX3N0YXJ0KTsKPiAgCUJVR19PTihub2RlLT5z dGFydCArIG5vZGUtPnNpemUgPiBhZGpfZW5kKTsKPiBAQCAtMzg4LDYgKzQxMCw3IEBAIHZvaWQg ZHJtX21tX3JlbW92ZV9ub2RlKHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSkKPiAgCX0gZWxzZQo+ ICAJCWxpc3RfbW92ZSgmcHJldl9ub2RlLT5ob2xlX3N0YWNrLCAmbW0tPmhvbGVfc3RhY2spOwo+ ICAKPiArCWludGVydmFsX3RyZWVfcmVtb3ZlKCZub2RlLT5pdCwgJm1tLT5pbnRlcnZhbF90cmVl KTsKPiAgCWxpc3RfZGVsKCZub2RlLT5ub2RlX2xpc3QpOwo+ICAJbm9kZS0+YWxsb2NhdGVkID0g MDsKPiAgfQo+IEBAIC03NTYsNiArNzc5LDggQEAgdm9pZCBkcm1fbW1faW5pdChzdHJ1Y3QgZHJt X21tICogbW0sIHU2NCBzdGFydCwgdTY0IHNpemUpCj4gIAltbS0+aGVhZF9ub2RlLnNpemUgPSBz dGFydCAtIG1tLT5oZWFkX25vZGUuc3RhcnQ7Cj4gIAlsaXN0X2FkZF90YWlsKCZtbS0+aGVhZF9u b2RlLmhvbGVfc3RhY2ssICZtbS0+aG9sZV9zdGFjayk7Cj4gIAo+ICsJbW0tPmludGVydmFsX3Ry ZWUgPSBSQl9ST09UOwo+ICsKPiAgCW1tLT5jb2xvcl9hZGp1c3QgPSBOVUxMOwo+ICB9Cj4gIEVY UE9SVF9TWU1CT0woZHJtX21tX2luaXQpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f bW0uaCBiL2luY2x1ZGUvZHJtL2RybV9tbS5oCj4gaW5kZXggMGRlNjI5MGRmNGRhLi42ZDUzMWZl NTI5YmYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21tLmgKPiArKysgYi9pbmNsdWRl L2RybS9kcm1fbW0uaAo+IEBAIC0zNyw2ICszNyw3IEBACj4gICAqIEdlbmVyaWMgcmFuZ2UgbWFu YWdlciBzdHJ1Y3RzCj4gICAqLwo+ICAjaW5jbHVkZSA8bGludXgvYnVnLmg+Cj4gKyNpbmNsdWRl IDxsaW51eC9pbnRlcnZhbF90cmVlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiAg I2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+Cj4g QEAgLTYxLDYgKzYyLDcgQEAgZW51bSBkcm1fbW1fYWxsb2NhdG9yX2ZsYWdzIHsKPiAgc3RydWN0 IGRybV9tbV9ub2RlIHsKPiAgCXN0cnVjdCBsaXN0X2hlYWQgbm9kZV9saXN0Owo+ICAJc3RydWN0 IGxpc3RfaGVhZCBob2xlX3N0YWNrOwo+ICsJc3RydWN0IGludGVydmFsX3RyZWVfbm9kZSBpdDsK PiAgCXVuc2lnbmVkIGhvbGVfZm9sbG93cyA6IDE7Cj4gIAl1bnNpZ25lZCBzY2FubmVkX2Jsb2Nr IDogMTsKPiAgCXVuc2lnbmVkIHNjYW5uZWRfcHJldl9mcmVlIDogMTsKPiBAQCAtNzksNiArODEs OSBAQCBzdHJ1Y3QgZHJtX21tIHsKPiAgCS8qIGhlYWRfbm9kZS5ub2RlX2xpc3QgaXMgdGhlIGxp c3Qgb2YgYWxsIG1lbW9yeSBub2Rlcywgb3JkZXJlZAo+ICAJICogYWNjb3JkaW5nIHRvIHRoZSAo aW5jcmVhc2luZykgc3RhcnQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IG5vZGUuICovCj4gIAlzdHJ1 Y3QgZHJtX21tX25vZGUgaGVhZF9ub2RlOwo+ICsJLyogS2VlcCBhbiBpbnRlcnZhbF90cmVlIGZv ciBmYXN0IGxvb2t1cCBvZiBkcm1fbW1fbm9kZXMgYnkgYWRkcmVzcy4gKi8KPiArCXN0cnVjdCBy Yl9yb290IGludGVydmFsX3RyZWU7Cj4gKwo+ICAJdW5zaWduZWQgaW50IHNjYW5fY2hlY2tfcmFu Z2UgOiAxOwo+ICAJdW5zaWduZWQgc2Nhbl9hbGlnbm1lbnQ7Cj4gIAl1bnNpZ25lZCBsb25nIHNj YW5fY29sb3I7Cj4gLS0gCj4gMi42LjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5l ZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==