From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v6 14/25] drm/i915: Manually unwind after a failed request allocation Date: Wed, 27 Apr 2016 13:51:38 +0100 Message-ID: <5720B5DA.70507@linux.intel.com> References: <1461701180-895-1-git-send-email-chris@chris-wilson.co.uk> <1461701180-895-15-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 5A8956E24A for ; Wed, 27 Apr 2016 12:51:43 +0000 (UTC) In-Reply-To: <1461701180-895-15-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 Ck9uIDI2LzA0LzE2IDIxOjA2LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSW4gdGhlIG5leHQgcGF0 Y2hlcywgd2Ugd2FudCB0byBtb3ZlIHRoZSB3b3JrIG91dCBvZiBmcmVlaW5nIHRoZSByZXF1ZXN0 Cj4gYW5kIGludG8gaXRzIHJldGlyZW1lbnQgKHNvIHRoYXQgd2UgY2FuIGZyZWUgdGhlIHJlcXVl c3Qgd2l0aG91dAo+IHJlcXVpcmluZyB0aGUgc3RydWN0X211dGV4KS4gVGhpcyBtZWFucyB0aGF0 IHdlIGNhbm5vdCByZWx5IG9uCj4gdW5yZWZlcmVuY2luZyB0aGUgcmVxdWVzdCB0byBjb21wbGV0 ZWx5IHRlYXJkb3duIHRoZSByZXF1ZXN0IGFueSBtb3JlCj4gYW5kIHNvIHdlIG5lZWQgdG8gbWFu dWFsbHkgdW53aW5kIHRoZSBmYWlsZWQgYWxsb2NhdGlvbi4gSW4gZG9pbmcgc28sIHdlCj4gcmVv cmRlciB0aGUgYWxsb2NhdGlvbiBpbiBvcmRlciB0byBtYWtlIHRoZSB1bndpbmQgc2ltcGxlIChh bmQgZW5zdXJlCj4gdGhhdCB3ZSBkb24ndCB0cnkgdG8gdW53aW5kIGEgcGFydGlhbCByZXF1ZXN0 IHRoYXQgbWF5IGhhdmUgbW9kaWZpZWQKPiBnbG9iYWwgc3RhdGUpIGFuZCBzbyB3ZSBlbmQgdXAg cHVzaGluZyB0aGUgaW5pdGlhbCBwcmVhbGxvY2F0aW9uIGRvd24KPiBpbnRvIHRoZSBlbmdpbmUg cmVxdWVzdCBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbnMgd2hlcmUgd2UgaGF2ZSB0aGUKPiByZXF1 aXNpdGUgY29udHJvbCBvdmVyIHRoZSBzdGF0ZSBvZiB0aGUgcmVxdWVzdC4KPgo+IE1vdmluZyB0 aGUgaW5pdGlhbCBwcmVhbGxvY2F0aW9uIGludG8gdGhlIGVuZ2luZSBpcyBsZXNzIHRoYW4gaWRl YWw6IGl0Cj4gbW92ZXMgbG9naWMgdG8gaGFuZGxlIGEgc3BlY2lmaWMgcHJvYmxlbSB3aXRoIHJl cXVlc3QgaGFuZGxpbmcgb3V0IG9mCj4gdGhlIGNvbW1vbiBjb2RlLiBPbiB0aGUgb3RoZXIgaGFu ZCwgaXQgZG9lcyBhbGxvdyB0aG9zZSBiYWNrZW5kcwo+IHNpZ25pZmljYW50bHkgbW9yZSBmbGV4 aWJpbGl0eSBpbiBwZXJmb3JtaW5nIGl0cyBhbGxvY2F0aW9ucy4KCkNvdWxkIGFkZCBfZnJlZV9y ZXF1ZXN0X2V4dHJhcyB3aGljaCB3b3VsZCBvbmx5IGJlIGFsbG93ZWQgdG8gYmUgY2FsbGVkIApm cm9tIF9hbGxvY19yZXF1ZXN0PyBUaGF0IHdvdWxkIGVuYWJsZSBub3QtcG9sbHV0aW5nIHRoZSBl bmdpbmUgd2l0aCAKY29tbW9uIGNvZGUgSSB0aGluay4KClJlZ2FyZHMsCgpUdnJ0a28KCj4gU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6 IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXguaW50ZWwuY29tPgo+IENjOiBKb29uYXMg TGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAyOCArKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAg fCAxNiArKysrKysrKysrKysrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMgfCAgMiArLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAy MiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDBlMjc0ODRi ZDI4YS4uZDdmZjVlNzkxODJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTI3 NjYsMTUgKzI3NjYsNiBAQCBfX2k5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLAo+ICAgCXJlcS0+Y3R4ICA9IGN0eDsKPiAgIAlpOTE1X2dlbV9jb250 ZXh0X3JlZmVyZW5jZShyZXEtPmN0eCk7Cj4KPiAtCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMp Cj4gLQkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFzKHJlcSk7 Cj4gLQllbHNlCj4gLQkJcmV0ID0gaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhyZXEp Owo+IC0JaWYgKHJldCkgewo+IC0JCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UocmVxLT5j dHgpOwo+IC0JCWdvdG8gZXJyOwo+IC0JfQo+IC0KPiAgIAkvKgo+ICAgCSAqIFJlc2VydmUgc3Bh Y2UgaW4gdGhlIHJpbmcgYnVmZmVyIGZvciBhbGwgdGhlIGNvbW1hbmRzIHJlcXVpcmVkIHRvCj4g ICAJICogZXZlbnR1YWxseSBlbWl0IHRoaXMgcmVxdWVzdC4gVGhpcyBpcyB0byBndWFyYW50ZWUg dGhhdCB0aGUKPiBAQCAtMjc4MywyMCArMjc3NCwxOSBAQCBfX2k5MTVfZ2VtX3JlcXVlc3RfYWxs b2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAgCSAqIGF3YXksIGUuZy4gYmVj YXVzZSBhIEdQVSBzY2hlZHVsZXIgaGFzIGRlZmVycmVkIGl0Lgo+ICAgCSAqLwo+ICAgCXJlcS0+ cmVzZXJ2ZWRfc3BhY2UgPSBNSU5fU1BBQ0VfRk9SX0FERF9SRVFVRVNUOwo+IC0JcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyZXEsIDApOwo+IC0JaWYgKHJldCkgewo+IC0JCS8qCj4gLQkJICogQXQg dGhpcyBwb2ludCwgdGhlIHJlcXVlc3QgaXMgZnVsbHkgYWxsb2NhdGVkIGV2ZW4gaWYgbm90Cj4g LQkJICogZnVsbHkgcHJlcGFyZWQuIFRodXMgaXQgY2FuIGJlIGNsZWFuZWQgdXAgdXNpbmcgdGhl IHByb3Blcgo+IC0JCSAqIGZyZWUgY29kZS4KPiAtCQkgKi8KPiAtCQlpOTE1X2dlbV9yZXF1ZXN0 X3VucmVmZXJlbmNlKHJlcSk7Cj4gLQkJcmV0dXJuIHJldDsKPiAtCX0KPiArCj4gKwlpZiAoaTkx NS5lbmFibGVfZXhlY2xpc3RzKQo+ICsJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19y ZXF1ZXN0X2V4dHJhcyhyZXEpOwo+ICsJZWxzZQo+ICsJCXJldCA9IGludGVsX3JpbmdfYWxsb2Nf cmVxdWVzdF9leHRyYXMocmVxKTsKPiArCWlmIChyZXQpCj4gKwkJZ290byBlcnJfY3R4Owo+Cj4g ICAJKnJlcV9vdXQgPSByZXE7Cj4gICAJcmV0dXJuIDA7Cj4KPiArZXJyX2N0eDoKPiArCWk5MTVf Z2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKPiAgIGVycjoKPiAgIAlrbWVtX2NhY2hlX2Zy ZWUoZGV2X3ByaXYtPnJlcXVlc3RzLCByZXEpOwo+ICAgCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA5MTAwNDRjZjE0M2UuLjAxNTE3ZGQ3MDY5YiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTY5OCw3ICs2OTgsNyBAQCBzdGF0aWMgaW50 IGV4ZWNsaXN0c19tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwK Pgo+ICAgaW50IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCj4gICB7Cj4gLQlpbnQgcmV0ID0gMDsKPiAr CWludCByZXQ7Cj4KPiAgIAlyZXF1ZXN0LT5yaW5nYnVmID0gcmVxdWVzdC0+Y3R4LT5lbmdpbmVb cmVxdWVzdC0+ZW5naW5lLT5pZF0ucmluZ2J1ZjsKPgo+IEBAIC03MTUsOSArNzE1LDIxIEBAIGlu dCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0Cj4gICAJCQlyZXR1cm4gcmV0Owo+ICAgCX0KPgo+IC0JaWYg KHJlcXVlc3QtPmN0eCAhPSByZXF1ZXN0LT5pOTE1LT5rZXJuZWxfY29udGV4dCkKPiArCWlmIChy ZXF1ZXN0LT5jdHggIT0gcmVxdWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpIHsKPiAgIAkJcmV0 ID0gaW50ZWxfbHJfY29udGV4dF9waW4ocmVxdWVzdC0+Y3R4LCByZXF1ZXN0LT5lbmdpbmUpOwo+ ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4KPiArCXJldCA9IGludGVsX3Jp bmdfYmVnaW4ocmVxdWVzdCwgMCk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gZXJyX3VucGluOwo+ ICsKPiArCXJldHVybiAwOwo+ICsKPiArZXJyX3VucGluOgo+ICsJaWYgKHJlcXVlc3QtPmN0eCAh PSByZXF1ZXN0LT5pOTE1LT5rZXJuZWxfY29udGV4dCkKPiArCQlpbnRlbF9scl9jb250ZXh0X3Vu cGluKHJlcXVlc3QtPmN0eCwgcmVxdWVzdC0+ZW5naW5lKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAg fQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IGJhNTk0 NmI5ZmEwNi4uMTE5MzM3MmY3NGZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYwo+IEBAIC0yMzMzLDcgKzIzMzMsNyBAQCBpbnQgaW50ZWxfZW5naW5lX2lkbGUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgaW50IGludGVsX3JpbmdfYWxsb2Nf cmVxdWVzdF9leHRyYXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAg ewo+ICAgCXJlcXVlc3QtPnJpbmdidWYgPSByZXF1ZXN0LT5lbmdpbmUtPmJ1ZmZlcjsKPiAtCXJl dHVybiAwOwo+ICsJcmV0dXJuIGludGVsX3JpbmdfYmVnaW4ocmVxdWVzdCwgMCk7Cj4gICB9Cj4K PiAgIHN0YXRpYyBpbnQgd2FpdF9mb3Jfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsIGludCBieXRlcykKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK