From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Refactor common list iteration over GGTT vma Date: Thu, 7 Dec 2017 18:40:49 +0200 Message-ID: <20171207164049.GJ10981@intel.com> References: <20171207162717.904-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 08F016E855 for ; Thu, 7 Dec 2017 16:40:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171207162717.904-1-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMDcsIDIwMTcgYXQgMDQ6Mjc6MTdQTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEluIHF1aXRlIGEgZmV3IHBsYWNlcywgd2UgaGF2ZSBhIGxpc3QgaXRlcmF0aW9uIG92 ZXIgdGhlIHZtYSBvbiBhbgo+IG9iamVjdCB0aGF0IG9ubHkgd2FudCB0byBpbnNwZWN0IEdHVFQg dm1hLiBCeSBjb25zdHJ1Y3Rpb24sIHRoZXNlIGFyZQo+IHBsYWNlZCBhdCB0aGUgc3RhcnQgb2Yg dGhlIGxpc3QsIHNvIHdlIGhhdmUgY29waWVkIHRoYXQga25vd2xlZGdlIGludG8KPiBtYW55IGNh bGxzaXRlcy4gUHVsbCB0aGF0IGtub3dsZWRnZSBiYWNrIHRvIGk5MTVfdm1hLmggYW5kIHByb3Zp ZGUgYQo+IGZvcl9lYWNoX2dndHRfdm1hKCkgdG8gdGlkeSB1cCB0aGUgY29kZS4KPiAKPiBTdWdn ZXN0ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29t Pgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICB8ICA0ICsr LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgfCAxOCArKysrLS0t LS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgfCAg NSArLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYyB8IDEwICsr LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaCAgICAgICAgfCAxNCAr KysrKysrKysrKysrLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDI5IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggMjgy OTQ0NzBhZTMxLi43YjQxYTE3OTlhMDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+IEBAIC0xMTEsOCArMTExLDggQEAgc3RhdGljIHU2NCBpOTE1X2dlbV9vYmpfdG90YWxf Z2d0dF9zaXplKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gIAl1NjQgc2l6ZSA9 IDA7Cj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gLQkJaWYgKGk5MTVfdm1hX2lzX2dn dHQodm1hKSAmJiBkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gKwlmb3JfZWFj aF9nZ3R0X3ZtYSh2bWEsIG9iaikgewo+ICsJCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZt YS0+bm9kZSkpCj4gIAkJCXNpemUgKz0gdm1hLT5ub2RlLnNpemU7Cj4gIAl9Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDY3ZGMxMWVmZmM4ZS4uYzdiNWRiNzhmYmI0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTcxNCwxMCArNzE0LDcgQEAgZmx1c2hfd3Jp dGVfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIHVuc2lnbmVkIGludCBm bHVzaF9kb21haW5zKQo+ICAJCWludGVsX2ZiX29ial9mbHVzaChvYmosCj4gIAkJCQkgICBmYl93 cml0ZV9vcmlnaW4ob2JqLCBJOTE1X0dFTV9ET01BSU5fR1RUKSk7Cj4gIAo+IC0JCWxpc3RfZm9y X2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAtCQkJaWYgKCFp OTE1X3ZtYV9pc19nZ3R0KHZtYSkpCj4gLQkJCQlicmVhazsKPiAtCj4gKwkJZm9yX2VhY2hfZ2d0 dF92bWEodm1hLCBvYmopIHsKPiAgCQkJaWYgKHZtYS0+aW9tYXApCj4gIAkJCQljb250aW51ZTsK PiAgCj4gQEAgLTE1NjksMTAgKzE1NjYsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3Rf YnVtcF9pbmFjdGl2ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gIAo+ ICAJR0VNX0JVR19PTighaTkxNV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSk7Cj4g IAo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykg ewo+IC0JCWlmICghaTkxNV92bWFfaXNfZ2d0dCh2bWEpKQo+IC0JCQlicmVhazsKPiAtCj4gKwlm b3JfZWFjaF9nZ3R0X3ZtYSh2bWEsIG9iaikgewo+ICAJCWlmIChpOTE1X3ZtYV9pc19hY3RpdmUo dm1hKSkKPiAgCQkJY29udGludWU7Cj4gIAo+IEBAIC0yMDUxLDEyICsyMDQ1LDggQEAgc3RhdGlj IHZvaWQgX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCj4gIAlkcm1fdm1hX25vZGVfdW5tYXAoJm9iai0+YmFzZS52bWFfbm9kZSwK PiAgCQkJICAgb2JqLT5iYXNlLmRldi0+YW5vbl9pbm9kZS0+aV9tYXBwaW5nKTsKPiAgCj4gLQls aXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gLQkJ aWYgKCFpOTE1X3ZtYV9pc19nZ3R0KHZtYSkpCj4gLQkJCWJyZWFrOwo+IC0KPiArCWZvcl9lYWNo X2dndHRfdm1hKHZtYSwgb2JqKQo+ICAJCWk5MTVfdm1hX3Vuc2V0X3VzZXJmYXVsdCh2bWEpOwo+ IC0JfQo+ICB9Cj4gIAo+ICAvKioKPiBAQCAtMzgyMiw3ICszODEyLDcgQEAgaW50IGk5MTVfZ2Vt X29iamVjdF9zZXRfY2FjaGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK PiAgCQkJICogZHJvcHBlZCB0aGUgZmVuY2UgYXMgYWxsIHNub29wYWJsZSBhY2Nlc3MgaXMKPiAg CQkJICogc3VwcG9zZWQgdG8gYmUgbGluZWFyLgo+ICAJCQkgKi8KPiAtCQkJbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICsJCQlmb3JfZWFjaF9n Z3R0X3ZtYSh2bWEsIG9iaikgewo+ICAJCQkJcmV0ID0gaTkxNV92bWFfcHV0X2ZlbmNlKHZtYSk7 Cj4gIAkJCQlpZiAocmV0KQo+ICAJCQkJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKPiBpbmRleCAxZmFlYTlhMTdiNWEuLmQ3MDFiNzliNjMxOSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTM2MjMsMTAgKzM2MjMsNyBAQCB2b2lk IGk5MTVfZ2VtX3Jlc3RvcmVfZ3R0X21hcHBpbmdzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgCQlib29sIGdndHRfYm91bmQgPSBmYWxzZTsKPiAgCQlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKPiAgCj4gLQkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0 LCBvYmpfbGluaykgewo+IC0JCQlpZiAodm1hLT52bSAhPSAmZ2d0dC0+YmFzZSkKPiAtCQkJCWNv bnRpbnVlOwo+IC0KPiArCQlmb3JfZWFjaF9nZ3R0X3ZtYSh2bWEsIG9iaikgewo+ICAJCQlpZiAo IWk5MTVfdm1hX3VuYmluZCh2bWEpKQo+ICAJCQkJY29udGludWU7Cj4gIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3RpbGluZy5jCj4gaW5kZXggYjg1ZDdlYmQ5YmVlLi5kOWRjOWRmNTIz YjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGlsaW5nLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYwo+IEBAIC0yMDUs MTAgKzIwNSw3IEBAIGk5MTVfZ2VtX29iamVjdF9mZW5jZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCj4gIAlpZiAodGlsaW5nX21vZGUgPT0gSTkxNV9USUxJTkdfTk9O RSkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+ dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gLQkJaWYgKCFpOTE1X3ZtYV9pc19nZ3R0KHZtYSkpCj4g LQkJCWJyZWFrOwo+IC0KPiArCWZvcl9lYWNoX2dndHRfdm1hKHZtYSwgb2JqKSB7Cj4gIAkJaWYg KGk5MTVfdm1hX2ZlbmNlX3ByZXBhcmUodm1hLCB0aWxpbmdfbW9kZSwgc3RyaWRlKSkKPiAgCQkJ Y29udGludWU7Cj4gIAo+IEBAIC0yODUsMTAgKzI4Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9zZXRf dGlsaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAl9Cj4gIAltdXRleF91 bmxvY2soJm9iai0+bW0ubG9jayk7Cj4gIAo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZv YmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+IC0JCWlmICghaTkxNV92bWFfaXNfZ2d0dCh2bWEp KQo+IC0JCQlicmVhazsKPiAtCj4gKwlmb3JfZWFjaF9nZ3R0X3ZtYSh2bWEsIG9iaikgewo+ICAJ CXZtYS0+ZmVuY2Vfc2l6ZSA9Cj4gIAkJCWk5MTVfZ2VtX2ZlbmNlX3NpemUoaTkxNSwgdm1hLT5z aXplLCB0aWxpbmcsIHN0cmlkZSk7Cj4gIAkJdm1hLT5mZW5jZV9hbGlnbm1lbnQgPQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92bWEuaAo+IGluZGV4IGY2MzYyNDNlYjhmNy4uZDU4ZGE4MGMwZGQyIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oCj4gQEAgLTQwOCw1ICs0MDgsMTcgQEAgaTkxNV92bWFf dW5waW5fZmVuY2Uoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gIAkJX19pOTE1X3ZtYV91bnBpbl9m ZW5jZSh2bWEpOwo+ICB9Cj4gIAo+IC0jZW5kaWYKPiArLyoqCj4gKyAqIGZvcl9lYWNoX2dndHRf dm1hIC0gSXRlcmF0ZSBvdmVyIHRoZSBHR1RUIFZNQSBiZWxvbmdpbmcgdG8gYW4gb2JqZWN0Lgo+ ICsgKiBWIC0gdGhlICNpOTE1X3ZtYSBpdGVyYXRvcgo+ICsgKiBPQkogLSB0aGUgI2RybV9pOTE1 X2dlbV9vYmplY3QKPiArICoKPiArICogR0dUVCBWTUEgYXJlIHBsYWNlZCBhdCB0aGUgYmVpbmcg b2YgdGhlIG9iamVjdCdzIHZtYV9saXN0LCBzZWUKPiArICogdm1hX2NyZWF0ZSgpLCBzbyB3ZSBj YW4gc3RvcCBvdXIgd2FsayBhcyBzb29uIGFzIHdlIHNlZSBhIHBwZ3R0IFZNQSwKPiArICogb3Ig dGhlIGxpc3QgaXMgZW1wdHkgb2ZjLgo+ICsgKi8KPiArI2RlZmluZSBmb3JfZWFjaF9nZ3R0X3Zt YShWLCBPQkopIFwKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoViwgJihPQkopLT52bWFfbGlzdCwg b2JqX2xpbmspCQlcCj4gKwkJaWYgKCFpOTE1X3ZtYV9pc19nZ3R0KHZtYSkpIGJyZWFrOyBlbHNl Cgpmb3JfZWFjaF9pZigpID8KCj4gIAo+ICsjZW5kaWYKPiAtLSAKPiAyLjE1LjEKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=