From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 6/6] drm/i915: Store the vma in an rbtree under the object Date: Tue, 1 Nov 2016 08:41:01 +0000 Message-ID: <1dbf8337-960d-eec6-20ae-1c3ad05ac737@linux.intel.com> References: <20161031102645.29495-1-chris@chris-wilson.co.uk> <20161031102645.29495-6-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 14DA96E3C4 for ; Tue, 1 Nov 2016 08:41:04 +0000 (UTC) In-Reply-To: <20161031102645.29495-6-chris@chris-wilson.co.uk> 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 Ck9uIDMxLzEwLzIwMTYgMTA6MjYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBXaXRoIGZ1bGwtcHBn dHQgb25lIG9mIHRoZSBtYWluIGJvdHRsZW5lY2tzIGlzIHRoZSBsb29rdXAgb2YgdGhlIFZNQQo+ IHVuZGVybmVhdGggdGhlIG9iamVjdC4gRm9yIGV4ZWNidWYgdGhlcmUgaXMgbWVyaXQgaW4gaGF2 aW5nIGEgdmVyeSBmYXN0Cj4gZGlyZWN0IGxvb2t1cCBvZiBjdHg6aGFuZGxlIHRvIHRoZSB2bWEg dXNpbmcgYSBoYXNodHJlZSwgYnV0IHRoYXQgc3RpbGwKPiBsZWF2ZXMgYSBsYXJnZSBudW1iZXIg b2Ygb3RoZXIgbG9va3Vwcy4gT25lIHdheSB0byBzcGVlZCB1cCB0aGUgbG9va3VwCj4gd291bGQg YmUgdG8gdXNlIGEgcmhhc2h0YWJsZSwgYnV0IHRoYXQgcmVxdWlyZXMgZXh0cmEgYWxsb2NhdGlv bnMgYW5kCj4gbWF5IGV4aGliaXQgcG9vciB3b3JzZSBjYXNlIGJlaGF2aW91ci4gQW4gYWx0ZXJu YXRpdmUgaXMgdG8gdXNlIGFuCj4gZW1iZWRkZWQgcmJ0cmVlLCBpLmUuIG5vIGV4dHJhIGFsbG9j YXRpb25zIGFuZCBkZXRlcm1pbmlzdGljIGJlaGF2aW91ciwKPiBidXQgYXQgdGhlIHNsaWdodCBj b3N0IG9mIE8obGdOKSBsb29rdXBzIChpbnN0ZWFkIG9mIE8oMSkgZm9yCj4gcmhhc2h0YWJsZSku IFRoZSBtYWpvciBvZiBzdWNoIHRyZWUgd2lsbCBiZSB2ZXJ5IHNoYWxsb3cgYW5kIHNvIG5vdCBt dWNoCj4gc2xvd2VyLCBhbmQgc3RpbGwgc2NhbGVzIG11Y2gsIG11Y2ggYmV0dGVyIHRoYW4gdGhl IGN1cnJlbnQgdW5zb3J0ZWQKPiBsaXN0Lgo+Cj4gUmVmZXJlbmNlczogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc3MjYKPiBTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KCkkgc3VnZ2VzdCBsZWF2aW5nIHRo aXMgb3V0IG9mIHRoZSBtaW5pLXNlcmllcyB3aGljaCBmaXhlcyB0aGUgcmVjZW50bHkgCmludHJv ZHVjZWQgYnVncy4KClJlZ2FyZHMsCgpUdnJ0a28KCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICB8ICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIHwgIDEgKwo+ICAzIGZpbGVzIGNoYW5n ZWQsIDU3IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gaW5kZXggN2ExOGJmNjZmNzk3Li5lOTIzZDY1OTZjYWMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiBAQCAtMjIzMCw2ICsyMjMwLDcgQEAgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3Qgewo+Cj4gIAkvKiogTGlzdCBvZiBWTUFzIGJhY2tlZCBieSB0aGlzIG9iamVjdCAq Lwo+ICAJc3RydWN0IGxpc3RfaGVhZCB2bWFfbGlzdDsKPiArCXN0cnVjdCByYl9yb290IHZtYV90 cmVlOwo+Cj4gIAkvKiogU3RvbGVuIG1lbW9yeSBmb3IgdGhpcyBvYmplY3QsIGluc3RlYWQgb2Yg YmVpbmcgYmFja2VkIGJ5IHNobWVtLiAqLwo+ICAJc3RydWN0IGRybV9tbV9ub2RlICpzdG9sZW47 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCBlN2FmYWQ1ODU5MjkuLmFh MmQyMWM0MTA5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTMz OTksNiArMzM5OSw3IEBAIHZvaWQgaTkxNV92bWFfZGVzdHJveShzdHJ1Y3QgaTkxNV92bWEgKnZt YSkKPiAgCUdFTV9CVUdfT04oIWk5MTVfdm1hX2lzX2Nsb3NlZCh2bWEpKTsKPiAgCUdFTV9CVUdf T04odm1hLT5mZW5jZSk7Cj4KPiArCXJiX2VyYXNlKCZ2bWEtPm9ial9ub2RlLCAmdm1hLT5vYmot PnZtYV90cmVlKTsKPiAgCWxpc3RfZGVsKCZ2bWEtPnZtX2xpbmspOwo+ICAJaWYgKCFpOTE1X3Zt YV9pc19nZ3R0KHZtYSkpCj4gIAkJaTkxNV9wcGd0dF9wdXQoaTkxNV92bV90b19wcGd0dCh2bWEt PnZtKSk7Cj4gQEAgLTM0MTYsMTIgKzM0MTcsMzMgQEAgdm9pZCBpOTE1X3ZtYV9jbG9zZShzdHJ1 Y3QgaTkxNV92bWEgKnZtYSkKPiAgCQlXQVJOX09OKGk5MTVfdm1hX3VuYmluZCh2bWEpKTsKPiAg fQo+Cj4gK3N0YXRpYyBpbmxpbmUgaW50IHZtYV9jb21wYXJlKHN0cnVjdCBpOTE1X3ZtYSAqdm1h LAo+ICsJCQkgICAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiArCQkJICAgICAg Y29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQo+ICt7Cj4gKwlHRU1fQlVHX09OKHZp ZXcgJiYgIWk5MTVfdm1hX2lzX2dndHQodm1hKSk7Cj4gKwo+ICsJaWYgKHZtYS0+dm0gIT0gdm0p Cj4gKwkJcmV0dXJuIHZtYS0+dm0gLSB2bTsKPiArCj4gKwlpZiAoIXZpZXcpCj4gKwkJcmV0dXJu IHZtYS0+Z2d0dF92aWV3LnR5cGU7Cj4gKwo+ICsJaWYgKHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0g dmlldy0+dHlwZSkKPiArCQlyZXR1cm4gdm1hLT5nZ3R0X3ZpZXcudHlwZSAtIHZpZXctPnR5cGU7 Cj4gKwo+ICsJcmV0dXJuIG1lbWNtcCgmdm1hLT5nZ3R0X3ZpZXcucGFyYW1zLAo+ICsJCSAgICAg ICZ2aWV3LT5wYXJhbXMsCj4gKwkJICAgICAgc2l6ZW9mKHZpZXctPnBhcmFtcykpOwo+ICt9Cj4g Kwo+ICBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICoKPiAgX19pOTE1X3ZtYV9jcmVhdGUoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCQkgIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtLAo+ICAJCSAgY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQo+ICB7Cj4g IAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiArCXN0cnVjdCByYl9ub2RlICpyYiwgKipwOwo+ICAJ aW50IGk7Cj4KPiAgCUdFTV9CVUdfT04odm0tPmNsb3NlZCk7Cj4gQEAgLTM0NTUsMzMgKzM0Nzcs MjggQEAgX19pOTE1X3ZtYV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK Pgo+ICAJaWYgKGk5MTVfaXNfZ2d0dCh2bSkpIHsKPiAgCQl2bWEtPmZsYWdzIHw9IEk5MTVfVk1B X0dHVFQ7Cj4gKwkJbGlzdF9hZGQoJnZtYS0+b2JqX2xpbmssICZvYmotPnZtYV9saXN0KTsKPiAg CX0gZWxzZSB7Cj4gIAkJaTkxNV9wcGd0dF9nZXQoaTkxNV92bV90b19wcGd0dCh2bSkpOwo+ICsJ CWxpc3RfYWRkX3RhaWwoJnZtYS0+b2JqX2xpbmssICZvYmotPnZtYV9saXN0KTsKPiAgCX0KPgo+ IC0JbGlzdF9hZGRfdGFpbCgmdm1hLT5vYmpfbGluaywgJm9iai0+dm1hX2xpc3QpOwo+IC0JcmV0 dXJuIHZtYTsKPiAtfQo+ICsJcmIgPSBOVUxMOwo+ICsJcCA9ICZvYmotPnZtYV90cmVlLnJiX25v ZGU7Cj4gKwl3aGlsZSAoKnApIHsKPiArCQlzdHJ1Y3QgaTkxNV92bWEgKnBvczsKPgo+IC1zdGF0 aWMgaW5saW5lIGJvb2wgdm1hX21hdGNoZXMoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gLQkJCSAg ICAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAtCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldykKPiAtewo+IC0JaWYgKHZtYS0+dm0gIT0gdm0pCj4g LQkJcmV0dXJuIGZhbHNlOwo+IC0KPiAtCWlmICghaTkxNV92bWFfaXNfZ2d0dCh2bWEpKQo+IC0J CXJldHVybiB0cnVlOwo+IC0KPiAtCWlmICghdmlldykKPiAtCQlyZXR1cm4gdm1hLT5nZ3R0X3Zp ZXcudHlwZSA9PSAwOwo+IC0KPiAtCWlmICh2bWEtPmdndHRfdmlldy50eXBlICE9IHZpZXctPnR5 cGUpCj4gLQkJcmV0dXJuIGZhbHNlOwo+ICsJCXJiID0gKnA7Cj4gKwkJcG9zID0gcmJfZW50cnko cmIsIHN0cnVjdCBpOTE1X3ZtYSwgb2JqX25vZGUpOwo+ICsJCWlmICh2bWFfY29tcGFyZShwb3Ms IHZtLCB2aWV3KSA8IDApCj4gKwkJCXAgPSAmcmItPnJiX3JpZ2h0Owo+ICsJCWVsc2UKPiArCQkJ cCA9ICZyYi0+cmJfbGVmdDsKPiArCX0KPiArCXJiX2xpbmtfbm9kZSgmdm1hLT5vYmpfbm9kZSwg cmIsIHApOwo+ICsJcmJfaW5zZXJ0X2NvbG9yKCZ2bWEtPm9ial9ub2RlLCAmb2JqLT52bWFfdHJl ZSk7Cj4KPiAtCXJldHVybiBtZW1jbXAoJnZtYS0+Z2d0dF92aWV3LnBhcmFtcywKPiAtCQkgICAg ICAmdmlldy0+cGFyYW1zLAo+IC0JCSAgICAgIHNpemVvZih2aWV3LT5wYXJhbXMpKSA9PSAwOwo+ ICsJcmV0dXJuIHZtYTsKPiAgfQo+Cj4gIHN0cnVjdCBpOTE1X3ZtYSAqCj4gQEAgLTM1MDEsMTEg KzM1MTgsMjIgQEAgaTkxNV9nZW1fb2JqX3RvX3ZtYShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAo+ICAJCSAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgCQkgICAg Y29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQo+ICB7Cj4gLQlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKPiArCXN0cnVjdCByYl9ub2RlICpyYjsKPiArCj4gKwlyYiA9IG9iai0+dm1hX3Ry ZWUucmJfbm9kZTsKPiArCXdoaWxlIChyYikgewo+ICsJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ ICsJCWludCBjbXA7Cj4KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlfcmV2ZXJzZSh2bWEsICZvYmot PnZtYV9saXN0LCBvYmpfbGluaykKPiAtCQlpZiAodm1hX21hdGNoZXModm1hLCB2bSwgdmlldykp Cj4gKwkJdm1hID0gcmJfZW50cnkocmIsIHN0cnVjdCBpOTE1X3ZtYSwgb2JqX25vZGUpOwo+ICsJ CWNtcCA9IHZtYV9jb21wYXJlKHZtYSwgdm0sIHZpZXcpOwo+ICsJCWlmIChjbXAgPT0gMCkKPiAg CQkJcmV0dXJuIHZtYTsKPiArCQllbHNlIGlmIChjbXAgPCAwKQo+ICsJCQlyYiA9IHJiLT5yYl9y aWdodDsKPiArCQllbHNlCj4gKwkJCXJiID0gcmItPnJiX2xlZnQ7Cj4gKwl9Cj4KPiAgCXJldHVy biBOVUxMOwo+ICB9Cj4gQEAgLTM1MjEsOCArMzU0OSwxMCBAQCBpOTE1X2dlbV9vYmpfbG9va3Vw X29yX2NyZWF0ZV92bWEoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCUdFTV9C VUdfT04odmlldyAmJiAhaTkxNV9pc19nZ3R0KHZtKSk7Cj4KPiAgCXZtYSA9IGk5MTVfZ2VtX29i al90b192bWEob2JqLCB2bSwgdmlldyk7Cj4gLQlpZiAoIXZtYSkKPiArCWlmICghdm1hKSB7Cj4g IAkJdm1hID0gX19pOTE1X3ZtYV9jcmVhdGUob2JqLCB2bSwgdmlldyk7Cj4gKwkJR0VNX0JVR19P Tih2bWEgIT0gaTkxNV9nZW1fb2JqX3RvX3ZtYShvYmosIHZtLCB2aWV3KSk7Cj4gKwl9Cj4KPiAg CUdFTV9CVUdfT04oaTkxNV92bWFfaXNfY2xvc2VkKHZtYSkpOwo+ICAJcmV0dXJuIHZtYTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+IGluZGV4IDUxOGU3NWI2NDI5MC4uYzIzZWY5 ZGIxZjUzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBAQCAtMjI3LDYg KzIyNyw3IEBAIHN0cnVjdCBpOTE1X3ZtYSB7Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIHZtX2xpbms7 Cj4KPiAgCXN0cnVjdCBsaXN0X2hlYWQgb2JqX2xpbms7IC8qIExpbmsgaW4gdGhlIG9iamVjdCdz IFZNQSBsaXN0ICovCj4gKwlzdHJ1Y3QgcmJfbm9kZSBvYmpfbm9kZTsKPgo+ICAJLyoqIFRoaXMg dm1hJ3MgcGxhY2UgaW4gdGhlIGJhdGNoYnVmZmVyIG9yIG9uIHRoZSBldmljdGlvbiBsaXN0ICov Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGV4ZWNfbGlzdDsKPgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK