From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 33/49] drm/i915: Reduce locking in gen8 IRQ handler Date: Fri, 27 Mar 2015 15:13:08 +0100 Message-ID: <20150327141308.GY23521@phenom.ffwll.local> References: <1427454141-4000-1-git-send-email-chris@chris-wilson.co.uk> <1427454141-4000-34-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 mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 76BE772159 for ; Fri, 27 Mar 2015 07:11:22 -0700 (PDT) Received: by wiaa2 with SMTP id a2so32962381wia.0 for ; Fri, 27 Mar 2015 07:11:21 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1427454141-4000-34-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBNYXIgMjcsIDIwMTUgYXQgMTE6MDI6MDVBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFNpbWlsYXIgaW4gdmFpbiBpbiByZWR1Y2luZyB0aGUgbnVtYmVyIG9mIHVucmVxdWly ZWQgc3BpbmxvY2tzIHVzZWQgZm9yCj4gZXhlY2xpc3QgY29tbWFuZCBzdWJtaXNzaW9uICh3aGVy ZSB0aGUgZm9yY2V3YWtlIGlzIHJlcXVpcmVkIGJ1dAo+IG1hbnVhbGx5IGNvbnRyb2xsZWQpLCB3 ZSBrbm93IHRoYXQgdGhlIElSUSByZWdpc3RlcnMgYXJlIG91dHNpZGUgb2YgdGhlCj4gcG93ZXJ3 ZWxsIGFuZCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gZGlyZWN0bHkuIFNpbmNlIHdlIG5vdyBoYXZl IGRpcmVjdAo+IGFjY2VzcyBleHBvcnRlZCB2aWEgSTkxNV9SRUFEX0ZXL0k5MTVfV1JJVEVfRlcs IGxldHMgcHV0IHRob3NlIHRvIHVzZSBpbgo+IHRoZSBpcnEgaGFuZGxlcnMgYXMgd2VsbC4KPiAK PiBJbiB0aGUgcHJvY2VzcywgcmVvcmRlciB0aGUgZXhlY2xpc3Qgc3VibWlzc2lvbiB0byBoYXBw ZW4gYXMgZWFybHkgYXMKPiBwb3NzaWJsZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KCnBvcnQvcGlwZSBpbnRlcnJ1cHRzIGFyZSBp biBkaXNwbGF5IHBvd2VyIGRvbWFpbnMgYWZhaWssIHNvIEknZCBwcmVmZXIgbm90CnRvIGxvc2Ug cG0gZGVidWcgd2l0aCB0aG9zZS4gQnV0IHRoZXkncmUgYWxzbyBnYXRlZCBiZWhpbmQgdGhlIG1h c3Rlcl9jdGwKYml0cywgc28gY2FuIHdlIGhhdmUgYWxsIG9mIHRoZSBzcGVlZHVwcyBzdGlsbCB3 aXRob3V0IHRvdWNoaW5nIHRob3NlPwpTYW1lIGZvciB0aGUgcGNoLCBqdXN0IGluIGNhc2UuCi1E YW5pZWwKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgfCA2MyArKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwg MzEgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCj4gaW5kZXggOGI1ZTAzNThjNTkyLi5kYTNiNzZiOWViZDkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKPiBAQCAtMTI4NSw1NiArMTI4NSw1NiBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg Z2VuOF9ndF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaXJxcmV0dXJu X3QgcmV0ID0gSVJRX05PTkU7Cj4gIAo+ICAJaWYgKG1hc3Rlcl9jdGwgJiAoR0VOOF9HVF9SQ1Nf SVJRIHwgR0VOOF9HVF9CQ1NfSVJRKSkgewo+IC0JCXRtcCA9IEk5MTVfUkVBRChHRU44X0dUX0lJ UigwKSk7Cj4gKwkJdG1wID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDApKTsKPiAgCQlpZiAo dG1wKSB7Cj4gLQkJCUk5MTVfV1JJVEUoR0VOOF9HVF9JSVIoMCksIHRtcCk7Cj4gKwkJCUk5MTVf V1JJVEVfRlcoR0VOOF9HVF9JSVIoMCksIHRtcCk7Cj4gIAkJCXJldCA9IElSUV9IQU5ETEVEOwo+ ICAKPiAgCQkJcmNzID0gdG1wID4+IEdFTjhfUkNTX0lSUV9TSElGVDsKPiAgCQkJcmluZyA9ICZk ZXZfcHJpdi0+cmluZ1tSQ1NdOwo+IC0JCQlpZiAocmNzICYgR1RfUkVOREVSX1VTRVJfSU5URVJS VVBUKQo+IC0JCQkJbm90aWZ5X3JpbmcoZGV2LCByaW5nKTsKPiAgCQkJaWYgKHJjcyAmIEdUX0NP TlRFWFRfU1dJVENIX0lOVEVSUlVQVCkKPiAgCQkJCWludGVsX2xyY19pcnFfaGFuZGxlcihyaW5n KTsKPiArCQkJaWYgKHJjcyAmIEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCkKPiArCQkJCW5vdGlm eV9yaW5nKGRldiwgcmluZyk7Cj4gIAo+ICAJCQliY3MgPSB0bXAgPj4gR0VOOF9CQ1NfSVJRX1NI SUZUOwo+ICAJCQlyaW5nID0gJmRldl9wcml2LT5yaW5nW0JDU107Cj4gLQkJCWlmIChiY3MgJiBH VF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQpCj4gLQkJCQlub3RpZnlfcmluZyhkZXYsIHJpbmcpOwo+ ICAJCQlpZiAoYmNzICYgR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUKQo+ICAJCQkJaW50ZWxf bHJjX2lycV9oYW5kbGVyKHJpbmcpOwo+ICsJCQlpZiAoYmNzICYgR1RfUkVOREVSX1VTRVJfSU5U RVJSVVBUKQo+ICsJCQkJbm90aWZ5X3JpbmcoZGV2LCByaW5nKTsKPiAgCQl9IGVsc2UKPiAgCQkJ RFJNX0VSUk9SKCJUaGUgbWFzdGVyIGNvbnRyb2wgaW50ZXJydXB0IGxpZWQgKEdUMCkhXG4iKTsK PiAgCX0KPiAgCj4gIAlpZiAobWFzdGVyX2N0bCAmIChHRU44X0dUX1ZDUzFfSVJRIHwgR0VOOF9H VF9WQ1MyX0lSUSkpIHsKPiAtCQl0bXAgPSBJOTE1X1JFQUQoR0VOOF9HVF9JSVIoMSkpOwo+ICsJ CXRtcCA9IEk5MTVfUkVBRF9GVyhHRU44X0dUX0lJUigxKSk7Cj4gIAkJaWYgKHRtcCkgewo+IC0J CQlJOTE1X1dSSVRFKEdFTjhfR1RfSUlSKDEpLCB0bXApOwo+ICsJCQlJOTE1X1dSSVRFX0ZXKEdF TjhfR1RfSUlSKDEpLCB0bXApOwo+ICAJCQlyZXQgPSBJUlFfSEFORExFRDsKPiAgCj4gIAkJCXZj cyA9IHRtcCA+PiBHRU44X1ZDUzFfSVJRX1NISUZUOwo+ICAJCQlyaW5nID0gJmRldl9wcml2LT5y aW5nW1ZDU107Cj4gLQkJCWlmICh2Y3MgJiBHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQpCj4gLQkJ CQlub3RpZnlfcmluZyhkZXYsIHJpbmcpOwo+ICAJCQlpZiAodmNzICYgR1RfQ09OVEVYVF9TV0lU Q0hfSU5URVJSVVBUKQo+ICAJCQkJaW50ZWxfbHJjX2lycV9oYW5kbGVyKHJpbmcpOwo+ICsJCQlp ZiAodmNzICYgR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUKQo+ICsJCQkJbm90aWZ5X3JpbmcoZGV2 LCByaW5nKTsKPiAgCj4gIAkJCXZjcyA9IHRtcCA+PiBHRU44X1ZDUzJfSVJRX1NISUZUOwo+ICAJ CQlyaW5nID0gJmRldl9wcml2LT5yaW5nW1ZDUzJdOwo+IC0JCQlpZiAodmNzICYgR1RfUkVOREVS X1VTRVJfSU5URVJSVVBUKQo+IC0JCQkJbm90aWZ5X3JpbmcoZGV2LCByaW5nKTsKPiAgCQkJaWYg KHZjcyAmIEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCkKPiAgCQkJCWludGVsX2xyY19pcnFf aGFuZGxlcihyaW5nKTsKPiArCQkJaWYgKHZjcyAmIEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCkK PiArCQkJCW5vdGlmeV9yaW5nKGRldiwgcmluZyk7Cj4gIAkJfSBlbHNlCj4gIAkJCURSTV9FUlJP UigiVGhlIG1hc3RlciBjb250cm9sIGludGVycnVwdCBsaWVkIChHVDEpIVxuIik7Cj4gIAl9Cj4g IAo+ICAJaWYgKG1hc3Rlcl9jdGwgJiBHRU44X0dUX1BNX0lSUSkgewo+IC0JCXRtcCA9IEk5MTVf UkVBRChHRU44X0dUX0lJUigyKSk7Cj4gKwkJdG1wID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlS KDIpKTsKPiAgCQlpZiAodG1wICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpIHsKPiAtCQkJSTkx NV9XUklURShHRU44X0dUX0lJUigyKSwKPiAtCQkJCSAgIHRtcCAmIGRldl9wcml2LT5wbV9ycHNf ZXZlbnRzKTsKPiArCQkJSTkxNV9XUklURV9GVyhHRU44X0dUX0lJUigyKSwKPiArCQkJCSAgICAg IHRtcCAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKPiAgCQkJcmV0ID0gSVJRX0hBTkRMRUQ7 Cj4gIAkJCWdlbjZfcnBzX2lycV9oYW5kbGVyKGRldl9wcml2LCB0bXApOwo+ICAJCX0gZWxzZQo+ IEBAIC0xMzQyLDE3ICsxMzQyLDE3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2d0X2lycV9o YW5kbGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAl9Cj4gIAo+ICAJaWYgKG1hc3Rlcl9j dGwgJiBHRU44X0dUX1ZFQ1NfSVJRKSB7Cj4gLQkJdG1wID0gSTkxNV9SRUFEKEdFTjhfR1RfSUlS KDMpKTsKPiArCQl0bXAgPSBJOTE1X1JFQURfRlcoR0VOOF9HVF9JSVIoMykpOwo+ICAJCWlmICh0 bXApIHsKPiAtCQkJSTkxNV9XUklURShHRU44X0dUX0lJUigzKSwgdG1wKTsKPiArCQkJSTkxNV9X UklURV9GVyhHRU44X0dUX0lJUigzKSwgdG1wKTsKPiAgCQkJcmV0ID0gSVJRX0hBTkRMRUQ7Cj4g IAo+ICAJCQl2Y3MgPSB0bXAgPj4gR0VOOF9WRUNTX0lSUV9TSElGVDsKPiAgCQkJcmluZyA9ICZk ZXZfcHJpdi0+cmluZ1tWRUNTXTsKPiAtCQkJaWYgKHZjcyAmIEdUX1JFTkRFUl9VU0VSX0lOVEVS UlVQVCkKPiAtCQkJCW5vdGlmeV9yaW5nKGRldiwgcmluZyk7Cj4gIAkJCWlmICh2Y3MgJiBHVF9D T05URVhUX1NXSVRDSF9JTlRFUlJVUFQpCj4gIAkJCQlpbnRlbF9scmNfaXJxX2hhbmRsZXIocmlu Zyk7Cj4gKwkJCWlmICh2Y3MgJiBHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQpCj4gKwkJCQlub3Rp ZnlfcmluZyhkZXYsIHJpbmcpOwo+ICAJCX0gZWxzZQo+ICAJCQlEUk1fRVJST1IoIlRoZSBtYXN0 ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAoR1QzKSFcbiIpOwo+ICAJfQo+IEBAIC0yMTc4LDIy ICsyMTc4LDIxIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2lycV9oYW5kbGVyKGludCBpcnEs IHZvaWQgKmFyZykKPiAgCQlhdXhfbWFzayB8PSAgR0VOOV9BVVhfQ0hBTk5FTF9CIHwgR0VOOV9B VVhfQ0hBTk5FTF9DIHwKPiAgCQkJR0VOOV9BVVhfQ0hBTk5FTF9EOwo+ICAKPiAtCW1hc3Rlcl9j dGwgPSBJOTE1X1JFQUQoR0VOOF9NQVNURVJfSVJRKTsKPiArCW1hc3Rlcl9jdGwgPSBJOTE1X1JF QURfRlcoR0VOOF9NQVNURVJfSVJRKTsKPiAgCW1hc3Rlcl9jdGwgJj0gfkdFTjhfTUFTVEVSX0lS UV9DT05UUk9MOwo+ICAJaWYgKCFtYXN0ZXJfY3RsKQo+ICAJCXJldHVybiBJUlFfTk9ORTsKPiAg Cj4gLQlJOTE1X1dSSVRFKEdFTjhfTUFTVEVSX0lSUSwgMCk7Cj4gLQlQT1NUSU5HX1JFQUQoR0VO OF9NQVNURVJfSVJRKTsKPiArCUk5MTVfV1JJVEVfRlcoR0VOOF9NQVNURVJfSVJRLCAwKTsKPiAg Cj4gIAkvKiBGaW5kLCBjbGVhciwgdGhlbiBwcm9jZXNzIGVhY2ggc291cmNlIG9mIGludGVycnVw dCAqLwo+ICAKPiAgCXJldCA9IGdlbjhfZ3RfaXJxX2hhbmRsZXIoZGV2LCBkZXZfcHJpdiwgbWFz dGVyX2N0bCk7Cj4gIAo+ICAJaWYgKG1hc3Rlcl9jdGwgJiBHRU44X0RFX01JU0NfSVJRKSB7Cj4g LQkJdG1wID0gSTkxNV9SRUFEKEdFTjhfREVfTUlTQ19JSVIpOwo+ICsJCXRtcCA9IEk5MTVfUkVB RF9GVyhHRU44X0RFX01JU0NfSUlSKTsKPiAgCQlpZiAodG1wKSB7Cj4gLQkJCUk5MTVfV1JJVEUo R0VOOF9ERV9NSVNDX0lJUiwgdG1wKTsKPiArCQkJSTkxNV9XUklURV9GVyhHRU44X0RFX01JU0Nf SUlSLCB0bXApOwo+ICAJCQlyZXQgPSBJUlFfSEFORExFRDsKPiAgCQkJaWYgKHRtcCAmIEdFTjhf REVfTUlTQ19HU0UpCj4gIAkJCQlpbnRlbF9vcHJlZ2lvbl9hc2xlX2ludHIoZGV2KTsKPiBAQCAt MjIwNSw5ICsyMjA0LDkgQEAgc3RhdGljIGlycXJldHVybl90IGdlbjhfaXJxX2hhbmRsZXIoaW50 IGlycSwgdm9pZCAqYXJnKQo+ICAJfQo+ICAKPiAgCWlmIChtYXN0ZXJfY3RsICYgR0VOOF9ERV9Q T1JUX0lSUSkgewo+IC0JCXRtcCA9IEk5MTVfUkVBRChHRU44X0RFX1BPUlRfSUlSKTsKPiArCQl0 bXAgPSBJOTE1X1JFQURfRlcoR0VOOF9ERV9QT1JUX0lJUik7Cj4gIAkJaWYgKHRtcCkgewo+IC0J CQlJOTE1X1dSSVRFKEdFTjhfREVfUE9SVF9JSVIsIHRtcCk7Cj4gKwkJCUk5MTVfV1JJVEVfRlco R0VOOF9ERV9QT1JUX0lJUiwgdG1wKTsKPiAgCQkJcmV0ID0gSVJRX0hBTkRMRUQ7Cj4gIAo+ICAJ CQlpZiAodG1wICYgYXV4X21hc2spCj4gQEAgLTIyMjUsMTAgKzIyMjQsMTAgQEAgc3RhdGljIGly cXJldHVybl90IGdlbjhfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQo+ICAJCWlmICgh KG1hc3Rlcl9jdGwgJiBHRU44X0RFX1BJUEVfSVJRKHBpcGUpKSkKPiAgCQkJY29udGludWU7Cj4g IAo+IC0JCXBpcGVfaWlyID0gSTkxNV9SRUFEKEdFTjhfREVfUElQRV9JSVIocGlwZSkpOwo+ICsJ CXBpcGVfaWlyID0gSTkxNV9SRUFEX0ZXKEdFTjhfREVfUElQRV9JSVIocGlwZSkpOwo+ICAJCWlm IChwaXBlX2lpcikgewo+ICAJCQlyZXQgPSBJUlFfSEFORExFRDsKPiAtCQkJSTkxNV9XUklURShH RU44X0RFX1BJUEVfSUlSKHBpcGUpLCBwaXBlX2lpcik7Cj4gKwkJCUk5MTVfV1JJVEVfRlcoR0VO OF9ERV9QSVBFX0lJUihwaXBlKSwgcGlwZV9paXIpOwo+ICAKPiAgCQkJaWYgKHBpcGVfaWlyICYg R0VOOF9QSVBFX1ZCTEFOSyAmJgo+ICAJCQkgICAgaW50ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKGRl diwgcGlwZSkpCj4gQEAgLTIyNzEsOSArMjI3MCw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44 X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQkgKiBzY2hlbWUgYWxzbyBjbG9z ZWQgdGhlIFNERSBpbnRlcnJ1cHQgaGFuZGxpbmcgcmFjZSB3ZSd2ZSBzZWVuCj4gIAkJICogb24g b2xkZXIgcGNoLXNwbGl0IHBsYXRmb3Jtcy4gQnV0IHRoaXMgbmVlZHMgdGVzdGluZy4KPiAgCQkg Ki8KPiAtCQl1MzIgcGNoX2lpciA9IEk5MTVfUkVBRChTREVJSVIpOwo+ICsJCXUzMiBwY2hfaWly ID0gSTkxNV9SRUFEX0ZXKFNERUlJUik7Cj4gIAkJaWYgKHBjaF9paXIpIHsKPiAtCQkJSTkxNV9X UklURShTREVJSVIsIHBjaF9paXIpOwo+ICsJCQlJOTE1X1dSSVRFX0ZXKFNERUlJUiwgcGNoX2lp cik7Cj4gIAkJCXJldCA9IElSUV9IQU5ETEVEOwo+ICAJCQljcHRfaXJxX2hhbmRsZXIoZGV2LCBw Y2hfaWlyKTsKPiAgCQl9IGVsc2UKPiBAQCAtMjI4MSw4ICsyMjgwLDggQEAgc3RhdGljIGlycXJl dHVybl90IGdlbjhfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQo+ICAKPiAgCX0KPiAg Cj4gLQlJOTE1X1dSSVRFKEdFTjhfTUFTVEVSX0lSUSwgR0VOOF9NQVNURVJfSVJRX0NPTlRST0wp Owo+IC0JUE9TVElOR19SRUFEKEdFTjhfTUFTVEVSX0lSUSk7Cj4gKwlJOTE1X1dSSVRFX0ZXKEdF TjhfTUFTVEVSX0lSUSwgR0VOOF9NQVNURVJfSVJRX0NPTlRST0wpOwo+ICsJUE9TVElOR19SRUFE X0ZXKEdFTjhfTUFTVEVSX0lSUSk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IC0tIAo+IDIu MS40Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=