From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Kill the undead intel_context.c zombie Date: Tue, 28 May 2019 14:33:14 +0300 Message-ID: <87lfyq6cg5.fsf@intel.com> References: <20190528090001.17248-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 762D989D9B for ; Tue, 28 May 2019 11:30:03 +0000 (UTC) In-Reply-To: <20190528090001.17248-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 T24gVHVlLCAyOCBNYXkgMjAxOSwgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+IHdyb3RlOgo+IEl0IHdhcyBtb3ZlZCBvdmVyIHRvIGd0LyBidXQgdGhlIGJhY2ttZXJnZSBi cm91Z2h0IGl0IGJhY2sgZnJvbSB0aGUgZGVhZC4KCldob29wcywgbWVhIGN1bHBhLgoKUmV2aWV3 ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cgo+Cj4gU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IEphbmkg TmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbnRleHQuYyB8IDI3MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiAgMSBmaWxlIGNoYW5nZWQsIDI3MCBkZWxldGlvbnMoLSkKPiAgZGVsZXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHQuYwo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbnRleHQuYwo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDky NGNjNTU2MjIzYS4uMDAwMDAwMDAwMDAwCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29udGV4dC5jCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDI3MCArMCwwIEBACj4gLS8qCj4g LSAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKPiAtICoKPiAtICogQ29weXJpZ2h0IMKp IDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KPiAtICovCj4gLQo+IC0jaW5jbHVkZSAiaTkxNV9kcnYu aCIKPiAtI2luY2x1ZGUgImk5MTVfZ2VtX2NvbnRleHQuaCIKPiAtI2luY2x1ZGUgImk5MTVfZ2xv YmFscy5oIgo+IC0jaW5jbHVkZSAiaW50ZWxfY29udGV4dC5oIgo+IC0jaW5jbHVkZSAiaW50ZWxf cmluZ2J1ZmZlci5oIgo+IC0KPiAtc3RhdGljIHN0cnVjdCBpOTE1X2dsb2JhbF9jb250ZXh0IHsK PiAtCXN0cnVjdCBpOTE1X2dsb2JhbCBiYXNlOwo+IC0Jc3RydWN0IGttZW1fY2FjaGUgKnNsYWJf Y2U7Cj4gLX0gZ2xvYmFsOwo+IC0KPiAtc3RydWN0IGludGVsX2NvbnRleHQgKmludGVsX2NvbnRl eHRfYWxsb2Modm9pZCkKPiAtewo+IC0JcmV0dXJuIGttZW1fY2FjaGVfemFsbG9jKGdsb2JhbC5z bGFiX2NlLCBHRlBfS0VSTkVMKTsKPiAtfQo+IC0KPiAtdm9pZCBpbnRlbF9jb250ZXh0X2ZyZWUo c3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+IC17Cj4gLQlrbWVtX2NhY2hlX2ZyZWUoZ2xvYmFs LnNsYWJfY2UsIGNlKTsKPiAtfQo+IC0KPiAtc3RydWN0IGludGVsX2NvbnRleHQgKgo+IC1pbnRl bF9jb250ZXh0X2xvb2t1cChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+IC0JCSAgICAg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY2UgPSBOVUxMOwo+IC0Jc3RydWN0IHJiX25vZGUgKnA7Cj4gLQo+IC0Jc3Bpbl9sb2Nr KCZjdHgtPmh3X2NvbnRleHRzX2xvY2spOwo+IC0JcCA9IGN0eC0+aHdfY29udGV4dHMucmJfbm9k ZTsKPiAtCXdoaWxlIChwKSB7Cj4gLQkJc3RydWN0IGludGVsX2NvbnRleHQgKnRoaXMgPQo+IC0J CQlyYl9lbnRyeShwLCBzdHJ1Y3QgaW50ZWxfY29udGV4dCwgbm9kZSk7Cj4gLQo+IC0JCWlmICh0 aGlzLT5lbmdpbmUgPT0gZW5naW5lKSB7Cj4gLQkJCUdFTV9CVUdfT04odGhpcy0+Z2VtX2NvbnRl eHQgIT0gY3R4KTsKPiAtCQkJY2UgPSB0aGlzOwo+IC0JCQlicmVhazsKPiAtCQl9Cj4gLQo+IC0J CWlmICh0aGlzLT5lbmdpbmUgPCBlbmdpbmUpCj4gLQkJCXAgPSBwLT5yYl9yaWdodDsKPiAtCQll bHNlCj4gLQkJCXAgPSBwLT5yYl9sZWZ0Owo+IC0JfQo+IC0Jc3Bpbl91bmxvY2soJmN0eC0+aHdf Y29udGV4dHNfbG9jayk7Cj4gLQo+IC0JcmV0dXJuIGNlOwo+IC19Cj4gLQo+IC1zdHJ1Y3QgaW50 ZWxfY29udGV4dCAqCj4gLV9faW50ZWxfY29udGV4dF9pbnNlcnQoc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eCwKPiAtCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ IC0JCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCj4gLXsKPiAtCXN0cnVjdCByYl9u b2RlICoqcCwgKnBhcmVudDsKPiAtCWludCBlcnIgPSAwOwo+IC0KPiAtCXNwaW5fbG9jaygmY3R4 LT5od19jb250ZXh0c19sb2NrKTsKPiAtCj4gLQlwYXJlbnQgPSBOVUxMOwo+IC0JcCA9ICZjdHgt Pmh3X2NvbnRleHRzLnJiX25vZGU7Cj4gLQl3aGlsZSAoKnApIHsKPiAtCQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqdGhpczsKPiAtCj4gLQkJcGFyZW50ID0gKnA7Cj4gLQkJdGhpcyA9IHJiX2VudHJ5 KHBhcmVudCwgc3RydWN0IGludGVsX2NvbnRleHQsIG5vZGUpOwo+IC0KPiAtCQlpZiAodGhpcy0+ ZW5naW5lID09IGVuZ2luZSkgewo+IC0JCQllcnIgPSAtRUVYSVNUOwo+IC0JCQljZSA9IHRoaXM7 Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAtCj4gLQkJaWYgKHRoaXMtPmVuZ2luZSA8IGVuZ2luZSkK PiAtCQkJcCA9ICZwYXJlbnQtPnJiX3JpZ2h0Owo+IC0JCWVsc2UKPiAtCQkJcCA9ICZwYXJlbnQt PnJiX2xlZnQ7Cj4gLQl9Cj4gLQlpZiAoIWVycikgewo+IC0JCXJiX2xpbmtfbm9kZSgmY2UtPm5v ZGUsIHBhcmVudCwgcCk7Cj4gLQkJcmJfaW5zZXJ0X2NvbG9yKCZjZS0+bm9kZSwgJmN0eC0+aHdf Y29udGV4dHMpOwo+IC0JfQo+IC0KPiAtCXNwaW5fdW5sb2NrKCZjdHgtPmh3X2NvbnRleHRzX2xv Y2spOwo+IC0KPiAtCXJldHVybiBjZTsKPiAtfQo+IC0KPiAtdm9pZCBfX2ludGVsX2NvbnRleHRf cmVtb3ZlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKPiAtewo+IC0Jc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCA9IGNlLT5nZW1fY29udGV4dDsKPiAtCj4gLQlzcGluX2xvY2soJmN0eC0+ aHdfY29udGV4dHNfbG9jayk7Cj4gLQlyYl9lcmFzZSgmY2UtPm5vZGUsICZjdHgtPmh3X2NvbnRl eHRzKTsKPiAtCXNwaW5fdW5sb2NrKCZjdHgtPmh3X2NvbnRleHRzX2xvY2spOwo+IC19Cj4gLQo+ IC1zdGF0aWMgc3RydWN0IGludGVsX2NvbnRleHQgKgo+IC1pbnRlbF9jb250ZXh0X2luc3RhbmNl KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gLQkJICAgICAgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKPiAtewo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCAqcG9z Owo+IC0KPiAtCWNlID0gaW50ZWxfY29udGV4dF9sb29rdXAoY3R4LCBlbmdpbmUpOwo+IC0JaWYg KGxpa2VseShjZSkpCj4gLQkJcmV0dXJuIGNlOwo+IC0KPiAtCWNlID0gaW50ZWxfY29udGV4dF9h bGxvYygpOwo+IC0JaWYgKCFjZSkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAtCj4g LQlpbnRlbF9jb250ZXh0X2luaXQoY2UsIGN0eCwgZW5naW5lKTsKPiAtCj4gLQlwb3MgPSBfX2lu dGVsX2NvbnRleHRfaW5zZXJ0KGN0eCwgZW5naW5lLCBjZSk7Cj4gLQlpZiAodW5saWtlbHkocG9z ICE9IGNlKSkgLyogQmVhdGVuISBVc2UgdGhlaXIgSFcgY29udGV4dCBpbnN0ZWFkICovCj4gLQkJ aW50ZWxfY29udGV4dF9mcmVlKGNlKTsKPiAtCj4gLQlHRU1fQlVHX09OKGludGVsX2NvbnRleHRf bG9va3VwKGN0eCwgZW5naW5lKSAhPSBwb3MpOwo+IC0JcmV0dXJuIHBvczsKPiAtfQo+IC0KPiAt c3RydWN0IGludGVsX2NvbnRleHQgKgo+IC1pbnRlbF9jb250ZXh0X3Bpbl9sb2NrKHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gLQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKPiAtCV9fYWNxdWlyZXMoY2UtPnBpbl9tdXRleCkKPiAtewo+IC0Jc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlOwo+IC0KPiAtCWNlID0gaW50ZWxfY29udGV4dF9pbnN0YW5jZShjdHgs IGVuZ2luZSk7Cj4gLQlpZiAoSVNfRVJSKGNlKSkKPiAtCQlyZXR1cm4gY2U7Cj4gLQo+IC0JaWYg KG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmY2UtPnBpbl9tdXRleCkpCj4gLQkJcmV0dXJuIEVS Ul9QVFIoLUVJTlRSKTsKPiAtCj4gLQlyZXR1cm4gY2U7Cj4gLX0KPiAtCj4gLXN0cnVjdCBpbnRl bF9jb250ZXh0ICoKPiAtaW50ZWxfY29udGV4dF9waW4oc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCwKPiAtCQkgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAtewo+IC0Jc3Ry dWN0IGludGVsX2NvbnRleHQgKmNlOwo+IC0JaW50IGVycjsKPiAtCj4gLQljZSA9IGludGVsX2Nv bnRleHRfaW5zdGFuY2UoY3R4LCBlbmdpbmUpOwo+IC0JaWYgKElTX0VSUihjZSkpCj4gLQkJcmV0 dXJuIGNlOwo+IC0KPiAtCWlmIChsaWtlbHkoYXRvbWljX2luY19ub3RfemVybygmY2UtPnBpbl9j b3VudCkpKQo+IC0JCXJldHVybiBjZTsKPiAtCj4gLQlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRp YmxlKCZjZS0+cGluX211dGV4KSkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRUlOVFIpOwo+IC0KPiAt CWlmIChsaWtlbHkoIWF0b21pY19yZWFkKCZjZS0+cGluX2NvdW50KSkpIHsKPiAtCQllcnIgPSBj ZS0+b3BzLT5waW4oY2UpOwo+IC0JCWlmIChlcnIpCj4gLQkJCWdvdG8gZXJyOwo+IC0KPiAtCQlp OTE1X2dlbV9jb250ZXh0X2dldChjdHgpOwo+IC0JCUdFTV9CVUdfT04oY2UtPmdlbV9jb250ZXh0 ICE9IGN0eCk7Cj4gLQo+IC0JCW11dGV4X2xvY2soJmN0eC0+bXV0ZXgpOwo+IC0JCWxpc3RfYWRk KCZjZS0+YWN0aXZlX2xpbmssICZjdHgtPmFjdGl2ZV9lbmdpbmVzKTsKPiAtCQltdXRleF91bmxv Y2soJmN0eC0+bXV0ZXgpOwo+IC0KPiAtCQlpbnRlbF9jb250ZXh0X2dldChjZSk7Cj4gLQkJc21w X21iX19iZWZvcmVfYXRvbWljKCk7IC8qIGZsdXNoIHBpbiBiZWZvcmUgaXQgaXMgdmlzaWJsZSAq Lwo+IC0JfQo+IC0KPiAtCWF0b21pY19pbmMoJmNlLT5waW5fY291bnQpOwo+IC0JR0VNX0JVR19P TighaW50ZWxfY29udGV4dF9pc19waW5uZWQoY2UpKTsgLyogbm8gb3ZlcmZsb3chICovCj4gLQo+ IC0JbXV0ZXhfdW5sb2NrKCZjZS0+cGluX211dGV4KTsKPiAtCXJldHVybiBjZTsKPiAtCj4gLWVy cjoKPiAtCW11dGV4X3VubG9jaygmY2UtPnBpbl9tdXRleCk7Cj4gLQlyZXR1cm4gRVJSX1BUUihl cnIpOwo+IC19Cj4gLQo+IC12b2lkIGludGVsX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2Nv bnRleHQgKmNlKQo+IC17Cj4gLQlpZiAobGlrZWx5KGF0b21pY19hZGRfdW5sZXNzKCZjZS0+cGlu X2NvdW50LCAtMSwgMSkpKQo+IC0JCXJldHVybjsKPiAtCj4gLQkvKiBXZSBtYXkgYmUgY2FsbGVk IGZyb20gaW5zaWRlIGludGVsX2NvbnRleHRfcGluKCkgdG8gZXZpY3QgYW5vdGhlciAqLwo+IC0J aW50ZWxfY29udGV4dF9nZXQoY2UpOwo+IC0JbXV0ZXhfbG9ja19uZXN0ZWQoJmNlLT5waW5fbXV0 ZXgsIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKPiAtCj4gLQlpZiAobGlrZWx5KGF0b21pY19kZWNf YW5kX3Rlc3QoJmNlLT5waW5fY291bnQpKSkgewo+IC0JCWNlLT5vcHMtPnVucGluKGNlKTsKPiAt Cj4gLQkJbXV0ZXhfbG9jaygmY2UtPmdlbV9jb250ZXh0LT5tdXRleCk7Cj4gLQkJbGlzdF9kZWwo JmNlLT5hY3RpdmVfbGluayk7Cj4gLQkJbXV0ZXhfdW5sb2NrKCZjZS0+Z2VtX2NvbnRleHQtPm11 dGV4KTsKPiAtCj4gLQkJaTkxNV9nZW1fY29udGV4dF9wdXQoY2UtPmdlbV9jb250ZXh0KTsKPiAt CQlpbnRlbF9jb250ZXh0X3B1dChjZSk7Cj4gLQl9Cj4gLQo+IC0JbXV0ZXhfdW5sb2NrKCZjZS0+ cGluX211dGV4KTsKPiAtCWludGVsX2NvbnRleHRfcHV0KGNlKTsKPiAtfQo+IC0KPiAtc3RhdGlj IHZvaWQgaW50ZWxfY29udGV4dF9yZXRpcmUoc3RydWN0IGk5MTVfYWN0aXZlX3JlcXVlc3QgKmFj dGl2ZSwKPiAtCQkJCSBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAtewo+IC0Jc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlID0KPiAtCQljb250YWluZXJfb2YoYWN0aXZlLCB0eXBlb2YoKmNlKSwg YWN0aXZlX3RyYWNrZXIpOwo+IC0KPiAtCWludGVsX2NvbnRleHRfdW5waW4oY2UpOwo+IC19Cj4g LQo+IC12b2lkCj4gLWludGVsX2NvbnRleHRfaW5pdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2Us Cj4gLQkJICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAtCQkgICBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gLXsKPiAtCWtyZWZfaW5pdCgmY2UtPnJlZik7Cj4gLQo+ IC0JY2UtPmdlbV9jb250ZXh0ID0gY3R4Owo+IC0JY2UtPmVuZ2luZSA9IGVuZ2luZTsKPiAtCWNl LT5vcHMgPSBlbmdpbmUtPmNvcHM7Cj4gLQljZS0+c2F0dXJhdGVkID0gMDsKPiAtCj4gLQlJTklU X0xJU1RfSEVBRCgmY2UtPnNpZ25hbF9saW5rKTsKPiAtCUlOSVRfTElTVF9IRUFEKCZjZS0+c2ln bmFscyk7Cj4gLQo+IC0JbXV0ZXhfaW5pdCgmY2UtPnBpbl9tdXRleCk7Cj4gLQo+IC0JLyogVXNl IHRoZSB3aG9sZSBkZXZpY2UgYnkgZGVmYXVsdCAqLwo+IC0JY2UtPnNzZXUgPSBpbnRlbF9kZXZp Y2VfZGVmYXVsdF9zc2V1KGN0eC0+aTkxNSk7Cj4gLQo+IC0JaTkxNV9hY3RpdmVfcmVxdWVzdF9p bml0KCZjZS0+YWN0aXZlX3RyYWNrZXIsCj4gLQkJCQkgTlVMTCwgaW50ZWxfY29udGV4dF9yZXRp cmUpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBpOTE1X2dsb2JhbF9jb250ZXh0X3Nocmluayh2 b2lkKQo+IC17Cj4gLQlrbWVtX2NhY2hlX3NocmluayhnbG9iYWwuc2xhYl9jZSk7Cj4gLX0KPiAt Cj4gLXN0YXRpYyB2b2lkIGk5MTVfZ2xvYmFsX2NvbnRleHRfZXhpdCh2b2lkKQo+IC17Cj4gLQlr bWVtX2NhY2hlX2Rlc3Ryb3koZ2xvYmFsLnNsYWJfY2UpOwo+IC19Cj4gLQo+IC1zdGF0aWMgc3Ry dWN0IGk5MTVfZ2xvYmFsX2NvbnRleHQgZ2xvYmFsID0geyB7Cj4gLQkuc2hyaW5rID0gaTkxNV9n bG9iYWxfY29udGV4dF9zaHJpbmssCj4gLQkuZXhpdCA9IGk5MTVfZ2xvYmFsX2NvbnRleHRfZXhp dCwKPiAtfSB9Owo+IC0KPiAtaW50IF9faW5pdCBpOTE1X2dsb2JhbF9jb250ZXh0X2luaXQodm9p ZCkKPiAtewo+IC0JZ2xvYmFsLnNsYWJfY2UgPSBLTUVNX0NBQ0hFKGludGVsX2NvbnRleHQsIFNM QUJfSFdDQUNIRV9BTElHTik7Cj4gLQlpZiAoIWdsb2JhbC5zbGFiX2NlKQo+IC0JCXJldHVybiAt RU5PTUVNOwo+IC0KPiAtCWk5MTVfZ2xvYmFsX3JlZ2lzdGVyKCZnbG9iYWwuYmFzZSk7Cj4gLQly ZXR1cm4gMDsKPiAtfQoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGlj cyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4