From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 2/2] drm/i915: Make for_each_engine_masked() more compact and quicker Date: Wed, 17 Aug 2016 18:12:50 +0300 Message-ID: <87a8gbo2dp.fsf@gaia.fi.intel.com> References: <1471360819-18575-1-git-send-email-chris@chris-wilson.co.uk> <1471362315-505-1-git-send-email-chris@chris-wilson.co.uk> <1471362315-505-2-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: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E0B06E8C4 for ; Wed, 17 Aug 2016 15:13:25 +0000 (UTC) In-Reply-To: <1471362315-505-2-git-send-email-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+IHdyaXRlczoKCj4gUmF0aGVy IHRoYW4gd2FsayB0aGUgZnVsbCBhcnJheSBvZiBlbmdpbmVzIGNoZWNraW5nIHdoZXRoZXIgZWFj aCBpcyBpbgo+IHRoZSBtYXNrIGluIHR1cm4sIHdlIGNhbiB1c2UgdGhlIG1hc2sgdG8ganVtcCB0 byB0aGUgcmlnaHQgZW5naW5lcy4gVGhpcwo+IHNob3VsZCBxdWlja2VyIGZvciBhIHNwYXJzZSBh cnJheSBvZiBlbmdpbmVzIG9yIG1hc2ssIHdoaWxzdCBnZW5lcmF0aW5nCj4gc21hbGxlciBjb2Rl Ogo+CgpJIGp1c3QgY2hlY2tlZCB0aGF0IHdpdGggdGhpcyBwYXRjaCB0aGUgYnNmbCB3YXMgaW4g dGhlIGFzc2VtYmx5LiBDb3VsZApiZSBmYXN0ZXIgYnV0IG91ciBudW1iZXIgb2YgZW5naW5lcyBp cyBxdWl0ZSBzbWFsbC4KCkNoZWNrcGF0Y2ggY29tcGxhaW5zIHRoYXQgJ3Vuc2lnbmVkJ3Mgc2hv dWxkIGJlICd1bnNpZ25lZCBpbnQncy4gCgpPdGhlcndpc2UgdGhpcyBsb29rcyBvayBmb3IgbWUu IE5vdGljZWQgdGhhdCBKb29uYXMgYW5kIHlvdSB3ZXJlCndyZXN0bGluZyBhYm91dCB0aGlzIGEg bGl0dGxlIG9uIHRoZSBpcmMgYW5kIEkgZGlkbid0IHF1aXRlIGdldAp3aGF0IHRoZSBjb25jZXJu cyB3ZXJlIGZyb20gdGhlIGlyYyBsb2dzLgoKLU1pa2EKCj4gICAgdGV4dAkgICBkYXRhCSAgICBi c3MJICAgIGRlYwkgICAgaGV4CWZpbGVuYW1lCj4gMTI1MTAxMAkgICA0NTc5CSAgICA4MDAJMTI1 NjM4OQkgMTMyYmM1CWRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTUua28KPiAxMjUwNTMwCSAgIDQ1 NzkJICAgIDgwMAkxMjU1OTA5CSAxMzI5ZTUJZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNS5rbwo+ Cj4gVGhlIGRvd25zaWRlIGlzIHRoYXQgd2UgaGF2ZSB0byBwYXNzIGluIGEgdGVtcG9yYXJ5LCBh bGFzIG5vIEM5OQo+IGl0ZXJhdG9ycyB5ZXQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogTWlrYSBLdW9wcGFsYSA8bWlrYS5r dW9wcGFsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgICB8IDE1ICsrKysrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZXF1ZXN0LmMgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMgICAgICAgICAgICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91bmNvcmUuYyAgICAgICAgfCAgOSArKysrKystLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAyMSBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IGY0OTg1Mjc5MTgyYy4uMmJlYjgzMDIzMjEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTIxMTAsMTMgKzIxMTAsMTYgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZ3VjX3RvX2k5MTUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAJCWZv cl9lYWNoX2lmICgoKGlkX18pID0gKGVuZ2luZV9fKS0+aWQsIFwKPiAgCQkJICAgICAgaW50ZWxf ZW5naW5lX2luaXRpYWxpemVkKGVuZ2luZV9fKSkpCj4gIAo+ICsjZGVmaW5lIF9fbWFza19uZXh0 X2JpdChtYXNrKSAoewkJCQkJXAo+ICsJaW50IF9faWR4ID0gZmZzKG1hc2spIC0gMTsJCQkJCVwK PiArCW1hc2sgJj0gfkJJVChfX2lkeCk7CQkJCQkJXAo+ICsJX19pZHg7CQkJCQkJCQlcCj4gK30p Cj4gKwo+ICAvKiBJdGVyYXRvciBvdmVyIHN1YnNldCBvZiBlbmdpbmVzIHNlbGVjdGVkIGJ5IG1h c2sgKi8KPiAtI2RlZmluZSBmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZV9fLCBkZXZfcHJp dl9fLCBtYXNrX18pIFwKPiAtCWZvciAoKGVuZ2luZV9fKSA9ICYoZGV2X3ByaXZfXyktPmVuZ2lu ZVswXTsgXAo+IC0JICAgICAoZW5naW5lX18pIDwgJihkZXZfcHJpdl9fKS0+ZW5naW5lW0k5MTVf TlVNX0VOR0lORVNdOyBcCj4gLQkgICAgIChlbmdpbmVfXykrKykgXAo+IC0JCWZvcl9lYWNoX2lm ICgoKG1hc2tfXykgJiBpbnRlbF9lbmdpbmVfZmxhZyhlbmdpbmVfXykpICYmIFwKPiAtCQkJICAg ICBpbnRlbF9lbmdpbmVfaW5pdGlhbGl6ZWQoZW5naW5lX18pKQo+ICsjZGVmaW5lIGZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lX18sIGRldl9wcml2X18sIG1hc2tfXywgdG1wX18pIFwKPiAr CWZvciAodG1wX18gPSBtYXNrX18gJiBJTlRFTF9JTkZPKGRldl9wcml2X18pLT5yaW5nX21hc2s7 CVwKPiArCSAgICAgdG1wX18gPyAoZW5naW5lX18gPSAmKGRldl9wcml2X18pLT5lbmdpbmVbX19t YXNrX25leHRfYml0KHRtcF9fKV0pLCAxIDogMDsgKQo+ICAKPiAgZW51bSBoZG1pX2ZvcmNlX2F1 ZGlvIHsKPiAgCUhETUlfQVVESU9fT0ZGX0RWSSA9IC0yLAkvKiBubyBhdXggZGF0YSBmb3IgSERN SS1EVkkgY29udmVydGVyICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu Ywo+IGluZGV4IDAyMjQyNzM2ZTQ5Mi4uNDRiNDY0YTIwZWI0IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC03NDQsNiArNzQ0LDcgQEAgc3RhdGljIGJv b2wgZW5naW5lX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp Cj4gIHZvaWQgaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgewo+ICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICsJ dW5zaWduZWQgdG1wOwo+ICAKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5kcm0u c3RydWN0X211dGV4KTsKPiAgCj4gQEAgLTc1Miw3ICs3NTMsNyBAQCB2b2lkIGk5MTVfZ2VtX3Jl dGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICAJ R0VNX0JVR19PTighZGV2X3ByaXYtPmd0LmF3YWtlKTsKPiAgCj4gLQlmb3JfZWFjaF9lbmdpbmVf bWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGRldl9wcml2LT5ndC5hY3RpdmVfZW5naW5lcykgewo+ ICsJZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBkZXZfcHJpdi0+Z3Qu YWN0aXZlX2VuZ2luZXMsIHRtcCkgewo+ICAJCWlmIChlbmdpbmVfcmV0aXJlX3JlcXVlc3RzKGVu Z2luZSkpCj4gIAkJCWRldl9wcml2LT5ndC5hY3RpdmVfZW5naW5lcyAmPSB+aW50ZWxfZW5naW5l X2ZsYWcoZW5naW5lKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jCj4gaW5kZXggYmI0MDc5MjIzZTM5Li42NDc1YmVlOTA3MzAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTMzMCw2ICszMzAs NyBAQCBzdGF0aWMgdm9pZCBndWNfaW5pdF9jdHhfZGVzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMs Cj4gIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gY2xpZW50LT5vd25lcjsKPiAgCXN0 cnVjdCBndWNfY29udGV4dF9kZXNjIGRlc2M7Cj4gIAlzdHJ1Y3Qgc2dfdGFibGUgKnNnOwo+ICsJ dW5zaWduZWQgdG1wOwo+ICAJdTMyIGdmeF9hZGRyOwo+ICAKPiAgCW1lbXNldCgmZGVzYywgMCwg c2l6ZW9mKGRlc2MpKTsKPiBAQCAtMzM5LDcgKzM0MCw3IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0 X2N0eF9kZXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKPiAgCWRlc2MucHJpb3JpdHkgPSBjbGll bnQtPnByaW9yaXR5Owo+ICAJZGVzYy5kYl9pZCA9IGNsaWVudC0+ZG9vcmJlbGxfaWQ7Cj4gIAo+ IC0JZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBjbGllbnQtPmVuZ2lu ZXMpIHsKPiArCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgY2xpZW50 LT5lbmdpbmVzLCB0bXApIHsKPiAgCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPSAmY3R4LT5l bmdpbmVbZW5naW5lLT5pZF07Cj4gIAkJdWludDMyX3QgZ3VjX2VuZ2luZV9pZCA9IGVuZ2luZS0+ Z3VjX2lkOwo+ICAJCXN0cnVjdCBndWNfZXhlY2xpc3RfY29udGV4dCAqbHJjID0gJmRlc2MubHJj W2d1Y19lbmdpbmVfaWRdOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IGluZGV4IDdhMjM2ZGQz MzdmYS4uZjRmMGM0MTBmNzJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gQEAgLTMx NDAsNiArMzE0MCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAKPiAgCWlmIChodW5nKSB7Cj4gIAkJY2hhciBtc2dbODBd Owo+ICsJCXVuc2lnbmVkIHRtcDsKPiAgCQlpbnQgbGVuOwo+ICAKPiAgCQkvKiBJZiBzb21lIHJp bmdzIGh1bmcgYnV0IG90aGVycyB3ZXJlIHN0aWxsIGJ1c3ksIG9ubHkKPiBAQCAtMzE0OSw3ICsz MTUwLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tfZWxhcHNlZChzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspCj4gIAkJCWh1bmcgJj0gfnN0dWNrOwo+ICAJCWxlbiA9IHNjbnByaW50Ziht c2csIHNpemVvZihtc2cpLAo+ICAJCQkJIiVzIG9uICIsIHN0dWNrID09IGh1bmcgPyAiTm8gcHJv Z3Jlc3MiIDogIkhhbmciKTsKPiAtCQlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2 X3ByaXYsIGh1bmcpCj4gKwkJZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2 LCBodW5nLCB0bXApCj4gIAkJCWxlbiArPSBzY25wcmludGYobXNnICsgbGVuLCBzaXplb2YobXNn KSAtIGxlbiwKPiAgCQkJCQkgIiVzLCAiLCBlbmdpbmUtPm5hbWUpOwo+ICAJCW1zZ1tsZW4tMl0g PSAnXDAnOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggYTZiMDRkYTRi ZjIxLi4zYTc5N2MzNWQyNTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ IEBAIC0xNTk3LDggKzE1OTcsMTAgQEAgc3RhdGljIGludCBnZW42X3Jlc2V0X2VuZ2luZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJaWYgKGVuZ2luZV9tYXNrID09IEFM TF9FTkdJTkVTKSB7Cj4gIAkJaHdfbWFzayA9IEdFTjZfR1JET01fRlVMTDsKPiAgCX0gZWxzZSB7 Cj4gKwkJdW5zaWduZWQgdG1wOwo+ICsKPiAgCQlod19tYXNrID0gMDsKPiAtCQlmb3JfZWFjaF9l bmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGVuZ2luZV9tYXNrKQo+ICsJCWZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRtcCkKPiAgCQkJ aHdfbWFzayB8PSBod19lbmdpbmVfbWFza1tlbmdpbmUtPmlkXTsKPiAgCX0KPiAgCj4gQEAgLTE3 MTQsMTUgKzE3MTYsMTYgQEAgc3RhdGljIGludCBnZW44X3Jlc2V0X2VuZ2luZXMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICB1bnNpZ25lZCBlbmdpbmVfbWFz aykKPiAgewo+ICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICsJdW5zaWduZWQg dG1wOwo+ICAKPiAtCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5n aW5lX21hc2spCj4gKwlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGVu Z2luZV9tYXNrLCB0bXApCj4gIAkJaWYgKGdlbjhfcmVxdWVzdF9lbmdpbmVfcmVzZXQoZW5naW5l KSkKPiAgCQkJZ290byBub3RfcmVhZHk7Cj4gIAo+ICAJcmV0dXJuIGdlbjZfcmVzZXRfZW5naW5l cyhkZXZfcHJpdiwgZW5naW5lX21hc2spOwo+ICAKPiAgbm90X3JlYWR5Ogo+IC0JZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBlbmdpbmVfbWFzaykKPiArCWZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRtcCkKPiAgCQln ZW44X3VucmVxdWVzdF9lbmdpbmVfcmVzZXQoZW5naW5lKTsKPiAgCj4gIAlyZXR1cm4gLUVJTzsK PiAtLSAKPiAyLjguMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=