From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 01/19] drm/i915: Micro-optimise i915_get_ggtt_vma_pages() Date: Tue, 07 Feb 2017 17:30:55 +0200 Message-ID: <87a89yrpao.fsf@gaia.fi.intel.com> References: <20170202150248.27860-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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4DBAF89B83 for ; Tue, 7 Feb 2017 15:31:52 +0000 (UTC) In-Reply-To: <20170202150248.27860-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gVGhlIHBy ZWRvbWluYW50IFZNQSBjbGFzcyBpcyBub3JtYWwgR1RULCBzbyBhbGxvdyBnY2MgdG8gZW1waGFz aXplIHRoYXQKPiBwYXRoIGFuZCBhdm9pZCB1bm5lY2Vzc2FyeSBzdGFjayBtb3ZlbWVudC4KPgo+ IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoK UmV2aWV3ZWQtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgoKPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCA2MSArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRp b25zKCspLCAyOSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j Cj4gaW5kZXggZWMzNjBhYjkzOWI4Li5mOGNlZjUxY2YyNGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0yNjE1LDE0ICsyNjE1LDE2IEBAIHN0YXRpYyBpbnQgZ2d0 dF9iaW5kX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUgPSB2bWEtPnZtLT5pOTE1Owo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiA9IHZtYS0+b2JqOwo+IC0JdTMyIHB0ZV9mbGFncyA9IDA7Cj4gLQlpbnQgcmV0 Owo+ICsJdTMyIHB0ZV9mbGFnczsKPiAgCj4gLQlyZXQgPSBpOTE1X2dldF9nZ3R0X3ZtYV9wYWdl cyh2bWEpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICsJaWYgKHVubGlrZWx5KCF2 bWEtPnBhZ2VzKSkgewo+ICsJCWludCByZXQgPSBpOTE1X2dldF9nZ3R0X3ZtYV9wYWdlcyh2bWEp Owo+ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gIAo+ICAJLyogQ3VycmVu dGx5IGFwcGxpY2FibGUgb25seSB0byBWTFYgKi8KPiArCXB0ZV9mbGFncyA9IDA7Cj4gIAlpZiAo b2JqLT5ndF9ybykKPiAgCQlwdGVfZmxhZ3MgfD0gUFRFX1JFQURfT05MWTsKPiAgCj4gQEAgLTI2 NDcsMTggKzI2NDksMTggQEAgc3RhdGljIGludCBhbGlhc2luZ19ndHRfYmluZF92bWEoc3RydWN0 IGk5MTVfdm1hICp2bWEsCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0g dm1hLT52bS0+aTkxNTsKPiAgCXUzMiBwdGVfZmxhZ3M7Cj4gLQlpbnQgcmV0Owo+ICAKPiAtCXJl dCA9IGk5MTVfZ2V0X2dndHRfdm1hX3BhZ2VzKHZtYSk7Cj4gLQlpZiAocmV0KQo+IC0JCXJldHVy biByZXQ7Cj4gKwlpZiAodW5saWtlbHkoIXZtYS0+cGFnZXMpKSB7Cj4gKwkJaW50IHJldCA9IGk5 MTVfZ2V0X2dndHRfdm1hX3BhZ2VzKHZtYSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJl dDsKPiArCX0KPiAgCj4gIAkvKiBDdXJyZW50bHkgYXBwbGljYWJsZSBvbmx5IHRvIFZMViAqLwo+ ICAJcHRlX2ZsYWdzID0gMDsKPiAgCWlmICh2bWEtPm9iai0+Z3Rfcm8pCj4gIAkJcHRlX2ZsYWdz IHw9IFBURV9SRUFEX09OTFk7Cj4gIAo+IC0KPiAgCWlmIChmbGFncyAmIEk5MTVfVk1BX0dMT0JB TF9CSU5EKSB7Cj4gIAkJaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7Cj4gIAkJdm1hLT52bS0+ aW5zZXJ0X2VudHJpZXModm1hLT52bSwKPiBAQCAtMzM5Nyw5ICszMzk5LDkgQEAgcm90YXRlX3Bh Z2VzKGNvbnN0IGRtYV9hZGRyX3QgKmluLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAo+ICAJcmV0dXJu IHNnOwo+ICB9Cj4gIAo+IC1zdGF0aWMgc3RydWN0IHNnX3RhYmxlICoKPiAtaW50ZWxfcm90YXRl X2ZiX29ial9wYWdlcyhjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqcm90X2luZm8s Cj4gLQkJCSAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiArc3RhdGljIG5vaW5s aW5lIHN0cnVjdCBzZ190YWJsZSAqCj4gK2ludGVsX3JvdGF0ZV9wYWdlcyhzdHJ1Y3QgaW50ZWxf cm90YXRpb25faW5mbyAqcm90X2luZm8sCj4gKwkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKPiAgewo+ICAJY29uc3Qgc2l6ZV90IG5fcGFnZXMgPSBvYmotPmJhc2Uuc2l6ZSAv IFBBR0VfU0laRTsKPiAgCXVuc2lnbmVkIGludCBzaXplID0gaW50ZWxfcm90YXRpb25faW5mb19z aXplKHJvdF9pbmZvKTsKPiBAQCAtMzQ2MCw3ICszNDYyLDcgQEAgaW50ZWxfcm90YXRlX2ZiX29i al9wYWdlcyhjb25zdCBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqcm90X2luZm8sCj4gIAly ZXR1cm4gRVJSX1BUUihyZXQpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgc3RydWN0IHNnX3RhYmxlICoK PiArc3RhdGljIG5vaW5saW5lIHN0cnVjdCBzZ190YWJsZSAqCj4gIGludGVsX3BhcnRpYWxfcGFn ZXMoY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAo+ICAJCSAgICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICB7Cj4gQEAgLTM1MTQsNyArMzUxNiw3IEBAIGludGVs X3BhcnRpYWxfcGFnZXMoY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LAo+ICBzdGF0 aWMgaW50Cj4gIGk5MTVfZ2V0X2dndHRfdm1hX3BhZ2VzKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ ICB7Cj4gLQlpbnQgcmV0ID0gMDsKPiArCWludCByZXQ7Cj4gIAo+ICAJLyogVGhlIHZtYS0+cGFn ZXMgYXJlIG9ubHkgdmFsaWQgd2l0aGluIHRoZSBsaWZlc3BhbiBvZiB0aGUgYm9ycm93ZWQKPiAg CSAqIG9iai0+bW0ucGFnZXMuIFdoZW4gdGhlIG9iai0+bW0ucGFnZXMgc2dfdGFibGUgaXMgcmVn ZW5lcmF0ZWQsIHNvCj4gQEAgLTM1MjMsMzIgKzM1MjUsMzMgQEAgaTkxNV9nZXRfZ2d0dF92bWFf cGFnZXMoc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gIAkgKi8KPiAgCUdFTV9CVUdfT04oIWk5MTVf Z2VtX29iamVjdF9oYXNfcGlubmVkX3BhZ2VzKHZtYS0+b2JqKSk7Cj4gIAo+IC0JaWYgKHZtYS0+ cGFnZXMpCj4gKwlzd2l0Y2ggKHZtYS0+Z2d0dF92aWV3LnR5cGUpIHsKPiArCWNhc2UgSTkxNV9H R1RUX1ZJRVdfTk9STUFMOgo+ICsJCXZtYS0+cGFnZXMgPSB2bWEtPm9iai0+bW0ucGFnZXM7Cj4g IAkJcmV0dXJuIDA7Cj4gIAo+IC0JaWYgKHZtYS0+Z2d0dF92aWV3LnR5cGUgPT0gSTkxNV9HR1RU X1ZJRVdfTk9STUFMKQo+IC0JCXZtYS0+cGFnZXMgPSB2bWEtPm9iai0+bW0ucGFnZXM7Cj4gLQll bHNlIGlmICh2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX1JPVEFURUQpCj4g KwljYXNlIEk5MTVfR0dUVF9WSUVXX1JPVEFURUQ6Cj4gIAkJdm1hLT5wYWdlcyA9Cj4gLQkJCWlu dGVsX3JvdGF0ZV9mYl9vYmpfcGFnZXMoJnZtYS0+Z2d0dF92aWV3LnJvdGF0ZWQsCj4gLQkJCQkJ CSAgdm1hLT5vYmopOwo+IC0JZWxzZSBpZiAodm1hLT5nZ3R0X3ZpZXcudHlwZSA9PSBJOTE1X0dH VFRfVklFV19QQVJUSUFMKQo+ICsJCQlpbnRlbF9yb3RhdGVfcGFnZXMoJnZtYS0+Z2d0dF92aWV3 LnJvdGF0ZWQsIHZtYS0+b2JqKTsKPiArCQlicmVhazsKPiArCj4gKwljYXNlIEk5MTVfR0dUVF9W SUVXX1BBUlRJQUw6Cj4gIAkJdm1hLT5wYWdlcyA9IGludGVsX3BhcnRpYWxfcGFnZXMoJnZtYS0+ Z2d0dF92aWV3LCB2bWEtPm9iaik7Cj4gLQllbHNlCj4gKwkJYnJlYWs7Cj4gKwo+ICsJZGVmYXVs dDoKPiAgCQlXQVJOX09OQ0UoMSwgIkdHVFQgdmlldyAldSBub3QgaW1wbGVtZW50ZWQhXG4iLAo+ ICAJCQkgIHZtYS0+Z2d0dF92aWV3LnR5cGUpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ ICAKPiAtCWlmICghdm1hLT5wYWdlcykgewo+IC0JCURSTV9FUlJPUigiRmFpbGVkIHRvIGdldCBw YWdlcyBmb3IgR0dUVCB2aWV3IHR5cGUgJXUhXG4iLAo+IC0JCQkgIHZtYS0+Z2d0dF92aWV3LnR5 cGUpOwo+IC0JCXJldCA9IC1FSU5WQUw7Cj4gLQl9IGVsc2UgaWYgKElTX0VSUih2bWEtPnBhZ2Vz KSkgewo+ICsJcmV0ID0gMDsKPiArCWlmICh1bmxpa2VseShJU19FUlIodm1hLT5wYWdlcykpKSB7 Cj4gIAkJcmV0ID0gUFRSX0VSUih2bWEtPnBhZ2VzKTsKPiAgCQl2bWEtPnBhZ2VzID0gTlVMTDsK PiAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byBnZXQgcGFnZXMgZm9yIFZNQSB2aWV3IHR5cGUgJXUg KCVkKSFcbiIsCj4gIAkJCSAgdm1hLT5nZ3R0X3ZpZXcudHlwZSwgcmV0KTsKPiAgCX0KPiAtCj4g IAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IC0tIAo+IDIuMTEuMAo+Cj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=