From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 045/190] drm/i915: Move releasing of the GEM request from free to retire/cancel Date: Tue, 5 Apr 2016 14:42:16 +0100 Message-ID: <5703C0B8.2070105@linux.intel.com> References: <1452503961-14837-1-git-send-email-chris@chris-wilson.co.uk> <1452503961-14837-45-git-send-email-chris@chris-wilson.co.uk> <56DED069.3040205@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 57FD46E253 for ; Tue, 5 Apr 2016 13:42:18 +0000 (UTC) In-Reply-To: <56DED069.3040205@linux.intel.com> 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 Ck9uIDA4LzAzLzE2IDEzOjE1LCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPgo+IE9uIDExLzAxLzE2 IDA5OjE2LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4+IElmIHdlIG1vdmUgdGhlIHJlbGVhc2Ugb2Yg dGhlIEdFTSByZXF1ZXN0IChpLmUuIGRlY291cGxpbmcgaXQgZnJvbSB0aGUKPj4gdmFyaW91cyBs aXN0cyB1c2VkIGZvciBjbGllbnQgYW5kIGNvbnRleHQgdHJhY2tpbmcpIGFmdGVyIGl0IGlzIGNv bXBsZXRlCj4+IChlaXRoZXIgYnkgdGhlIEdQVSByZXRpcmluZyB0aGUgcmVxdWVzdCwgb3IgYnkg dGhlIGNhbGxlciBjYW5jZWxsaW5nIHRoZQo+PiByZXF1ZXN0KSwgd2UgY2FuIHJlbW92ZSB0aGUg cmVxdWlyZW1lbnQgdGhhdCB0aGUgZmluYWwgdW5yZWZlcmVuY2Ugb2YKPj4gdGhlIEdFTSByZXF1 ZXN0IG5lZWQgdG8gYmUgdW5kZXIgdGhlIHN0cnVjdF9tdXRleC4KPj4KPj4gdjI6IEV4ZWNsaXN0 cyBhcyBhbHdheXMgaXMgYmFkbHkgYXN5bWV0cmljIGFuZCB5ZWFyIG9sZCBwYXRjaGVzIHN0aWxs Cj4+IGhhdmVuJ3QgbGFuZGVkIHRvIGZpeCBpdCB1cC4KPgo+IExvb2tzIGdvb2QgYW5kIHByZXR0 eSBzdGFuZGFsb25lIHRvIG1lIChkZXBlbmRzIG9uIGk5MTVfZ2VtX3JlcXVlc3QgY29kZQo+IG1v dmVtZW50IG9ubHkgSSB0aGluaykuIEp1c3Qgb25lIHF1ZXN0aW9uIGJlbG93Lgo+Cj4+IFNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+PiAtLS0K Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgIHwgIDQgKy0tCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jICB8IDUwCj4+ICsrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5oICB8IDE0IC0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2JyZWFkY3J1bWJzLmMgfCAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyAgICAgfCAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jICAgICAgICAgfCAgNiArKy0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYyAgICAgICAgICB8ICAyICstCj4+ICAgNyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25z KCspLCA1MCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+IGlu ZGV4IDY4YTI1NjE3Y2E3YS4uNmQ4ZDY1MzA0YWJmIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKPj4gQEAgLTI1MDIsNyArMjUwMiw3IEBAIGk5MTVfZ2VtX3dhaXRfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZAo+PiAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ PiAgICAgICAgICAgICAgIHJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QocmVxW2ldLCB0cnVlLAo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+dGltZW91dF9ucyA+IDAgPyAmYXJn cy0+dGltZW91dF9ucyA6Cj4+IE5VTEwsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 b19ycHNfY2xpZW50KGZpbGUpKTsKPj4gLSAgICAgICAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVy ZW5jZV9fdW5sb2NrZWQocmVxW2ldKTsKPj4gKyAgICAgICAgaTkxNV9nZW1fcmVxdWVzdF91bnJl ZmVyZW5jZShyZXFbaV0pOwo+PiAgICAgICB9Cj4+ICAgICAgIHJldHVybiByZXQ7Cj4+Cj4+IEBA IC0zNTA1LDcgKzM1MDUsNyBAQCBpOTE1X2dlbV9yaW5nX3Rocm90dGxlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+IHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPj4gICAgICAgICAgIHJldHVybiAw Owo+Pgo+PiAgICAgICByZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KHRhcmdldCwgdHJ1ZSwgTlVM TCwgTlVMTCk7Cj4+IC0gICAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQo dGFyZ2V0KTsKPj4gKyAgICBpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHRhcmdldCk7Cj4+ Cj4+ICAgICAgIHJldHVybiByZXQ7Cj4+ICAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jCj4+IGluZGV4IGI0ZWRlNmRkN2IyMC4uMWM0ZjRkODNhM2MyIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCj4+IEBAIC0xODQsMTMg KzE4NCw2IEBAIGVycjoKPj4gICAgICAgcmV0dXJuIHJldDsKPj4gICB9Cj4+Cj4+IC12b2lkIGk5 MTVfZ2VtX3JlcXVlc3RfY2FuY2VsKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ PiAtewo+PiAtICAgIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHJlcS0+cmluZ2J1 Zik7Cj4+IC0KPj4gLSAgICBpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7Cj4+IC19 Cj4+IC0KPj4gICBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+PiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCj4+ICAgewo+PiBAQCAtMjM1LDkgKzIyOCwyOCBAQCBpOTE1X2dlbV9yZXF1 ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChzdHJ1Y3QKPj4gZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cXVlc3QpCj4+ICAgICAgIHJlcXVlc3QtPnBpZCA9IE5VTEw7Cj4+ICAgfQo+Pgo+PiArc3RhdGlj IHZvaWQgX19pOTE1X2dlbV9yZXF1ZXN0X3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0Cj4+ICpyZXF1ZXN0KQo+PiArewo+PiArICAgIGk5MTVfZ2VtX3JlcXVlc3RfcmVtb3ZlX2Zy b21fY2xpZW50KHJlcXVlc3QpOwo+PiArCj4+ICsgICAgaTkxNV9nZW1fY29udGV4dF91bnJlZmVy ZW5jZShyZXF1ZXN0LT5jdHgpOwo+PiArICAgIGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2Uo cmVxdWVzdCk7Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+ICt7Cj4+ICsgICAgaW50ZWxfcmluZ19y ZXNlcnZlZF9zcGFjZV9jYW5jZWwocmVxLT5yaW5nYnVmKTsKPj4gKyAgICBpZiAoaTkxNS5lbmFi bGVfZXhlY2xpc3RzKSB7Cj4+ICsgICAgICAgIGlmIChyZXEtPmN0eCAhPSByZXEtPnJpbmctPmRl ZmF1bHRfY29udGV4dCkKPj4gKyAgICAgICAgICAgIGludGVsX2xyX2NvbnRleHRfdW5waW4ocmVx KTsKPj4gKyAgICB9Cj4+ICsgICAgX19pOTE1X2dlbV9yZXF1ZXN0X3JlbGVhc2UocmVxKTsKPj4g K30KPj4gKwo+PiAgIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdAo+PiAqcmVxdWVzdCkKPj4gICB7Cj4+ICAgICAgIHRyYWNlX2k5 MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwo+PiArICAgIGxpc3RfZGVsX2luaXQoJnJl cXVlc3QtPmxpc3QpOwo+Pgo+PiAgICAgICAvKiBXZSBrbm93IHRoZSBHUFUgbXVzdCBoYXZlIHJl YWQgdGhlIHJlcXVlc3QgdG8gaGF2ZQo+PiAgICAgICAgKiBzZW50IHVzIHRoZSBzZXFubyArIGlu dGVycnVwdCwgc28gdXNlIHRoZSBwb3NpdGlvbgo+PiBAQCAtMjQ4LDExICsyNjAsNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZShzdHJ1Y3QKPj4gZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcXVlc3QpCj4+ICAgICAgICAqIGNvbXBsZXRpb24gb3JkZXIuCj4+ICAgICAgICAq Lwo+PiAgICAgICByZXF1ZXN0LT5yaW5nYnVmLT5sYXN0X3JldGlyZWRfaGVhZCA9IHJlcXVlc3Qt PnBvc3RmaXg7Cj4+IC0KPj4gLSAgICBsaXN0X2RlbF9pbml0KCZyZXF1ZXN0LT5saXN0KTsKPj4g LSAgICBpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChyZXF1ZXN0KTsKPj4gLQo+ PiAtICAgIGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVxdWVzdCk7Cj4+ICsgICAgX19p OTE1X2dlbV9yZXF1ZXN0X3JlbGVhc2UocmVxdWVzdCk7Cj4+ICAgfQo+Pgo+PiAgIHZvaWQKPj4g QEAgLTYzOSwyMSArNjQ3LDcgQEAgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEpCj4+Cj4+ICAgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0 IGtyZWYgKnJlcV9yZWYpCj4+ICAgewo+PiAtICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxID0gY29udGFpbmVyX29mKHJlcV9yZWYsCj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgdHlwZW9mKCpyZXEpLCByZWYpOwo+PiAtICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgg PSByZXEtPmN0eDsKPj4gLQo+PiAtICAgIGlmIChyZXEtPmZpbGVfcHJpdikKPj4gLSAgICAgICAg aTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJvbV9jbGllbnQocmVxKTsKPj4gLQo+PiAtICAgIGlm IChjdHgpIHsKPj4gLSAgICAgICAgaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgewo+PiAtICAg ICAgICAgICAgaWYgKGN0eCAhPSByZXEtPnJpbmctPmRlZmF1bHRfY29udGV4dCkKPj4gLSAgICAg ICAgICAgICAgICBpbnRlbF9scl9jb250ZXh0X3VucGluKHJlcSk7Cj4+IC0gICAgICAgIH0KPj4g LQo+PiAtICAgICAgICBpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7Cj4+IC0gICAg fQo+PiAtCj4+ICsgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPQo+PiArICAg ICAgICBjb250YWluZXJfb2YocmVxX3JlZiwgdHlwZW9mKCpyZXEpLCByZWYpOwo+PiAgICAgICBr bWVtX2NhY2hlX2ZyZWUocmVxLT5pOTE1LT5yZXF1ZXN0cywgcmVxKTsKPj4gICB9Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPj4gaW5kZXggZDQ2ZjIyZjMwYjBh Li5hZjFiODI1ZmNlNTAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlcXVlc3QuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1 ZXN0LmgKPj4gQEAgLTE1NCwyMyArMTU0LDkgQEAgaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2Uo c3RydWN0Cj4+IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+ICAgc3RhdGljIGlubGluZSB2 b2lkCj4+ICAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSkKPj4gICB7Cj4+IC0gICAgV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZy ZXEtPnJpbmctPmRldi0+c3RydWN0X211dGV4KSk7Cj4+ICAgICAgIGtyZWZfcHV0KCZyZXEtPnJl ZiwgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKTsKPj4gICB9Cj4+Cj4+IC1zdGF0aWMgaW5saW5lIHZv aWQKPj4gLWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2VfX3VubG9ja2VkKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+PiAtewo+PiAtICAgIHN0cnVjdCBkcm1fZGV2aWNlICpk ZXY7Cj4+IC0KPj4gLSAgICBpZiAoIXJlcSkKPj4gLSAgICAgICAgcmV0dXJuOwo+PiAtCj4+IC0g ICAgZGV2ID0gcmVxLT5yaW5nLT5kZXY7Cj4+IC0gICAgaWYgKGtyZWZfcHV0X211dGV4KCZyZXEt PnJlZiwgaTkxNV9nZW1fcmVxdWVzdF9mcmVlLAo+PiAmZGV2LT5zdHJ1Y3RfbXV0ZXgpKQo+PiAt ICAgICAgICBtdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPj4gLX0KPj4gLQo+PiAg IHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbihzdHJ1Y3QKPj4gZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKipwZHN0LAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpzcmMpCj4+ICAgewo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPj4gaW5kZXggMGVhMDFiZDY4MTFjLi5mNjczMWFh YzdmY2YgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1 bWJzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwo+ PiBAQCAtMzkwLDcgKzM5MCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2lnbmFs ZXIodm9pZCAqYXJnKQo+PiAgICAgICAgICAgICAgICAqLwo+PiAgICAgICAgICAgICAgIGludGVs X2VuZ2luZV9yZW1vdmVfd2FpdChlbmdpbmUsICZzaWduYWwtPndhaXQpOwo+Pgo+PiAtICAgICAg ICAgICAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQoc2lnbmFsLT5yZXF1 ZXN0KTsKPj4gKyAgICAgICAgICAgIGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2Uoc2lnbmFs LT5yZXF1ZXN0KTsKPj4KPj4gICAgICAgICAgICAgICAvKiBGaW5kIHRoZSBuZXh0IG9sZGVzdCBz aWduYWwuIE5vdGUgdGhhdCBhcyB3ZSBoYXZlCj4+ICAgICAgICAgICAgICAgICogbm90IGJlZW4g aG9sZGluZyB0aGUgbG9jaywgYW5vdGhlciBjbGllbnQgbWF5Cj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggNTdjNTRjOWJjODJiLi4zMjg4NWI4ZDVjMDIgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTExNDMxLDcgKzEx NDMxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW1pb19mbGlwX3dvcmtfZnVuYyhzdHJ1Y3QKPj4g d29ya19zdHJ1Y3QgKndvcmspCj4+ICAgICAgICAgICBXQVJOX09OKF9faTkxNV93YWl0X3JlcXVl c3QobW1pb19mbGlwLT5yZXEsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIE5V TEwsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1taW9fZmxpcC0+aTkxNS0+cnBzLm1t aW9mbGlwcykpOwo+PiAtICAgICAgICBpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlX191bmxv Y2tlZChtbWlvX2ZsaXAtPnJlcSk7Cj4+ICsgICAgICAgIGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZl cmVuY2UobW1pb19mbGlwLT5yZXEpOwo+PiAgICAgICB9Cj4+Cj4+ICAgICAgIC8qIEZvciBmcmFt ZWJ1ZmZlciBiYWNrZWQgYnkgZG1hYnVmLCB3YWl0IGZvciBmZW5jZSAqLwo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwo+PiBpbmRleCBiNjM0ZTdkN2E5MmIuLjdhMzA2OWEyYmViMiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gQEAgLTU4Nyw5ICs1ODcsNiBAQCBzdGF0 aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdAo+PiBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdCkKPj4gICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJz b3I7Cj4+ICAgICAgIGludCBudW1fZWxlbWVudHMgPSAwOwo+Pgo+PiAtICAgIGlmIChyZXF1ZXN0 LT5jdHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQo+PiAtICAgICAgICBpbnRlbF9scl9jb250 ZXh0X3BpbihyZXF1ZXN0KTsKPj4gLQo+Cj4gU2luY2UgeW91IHJlbW92ZSBMUkMgcGluIGZyb20g cXVldWUsIHRoZSBsaWZldGltZSBpcyBub3cgZWl0aGVyOgo+Cj4gMS4gRnJvbSByZXF1ZXN0IGNy ZWF0ZSB0byBjYW5jZWwuCj4gMi4gRnJvbSByZXF1ZXN0IGNyZWF0ZSB0byBleGVjbGlzdCByZXRp cmVtZW50Lgo+Cj4gV291bGQgaXQgYmUgbW9yZSBsb2dpY2FsIHRvIGxlYXZlIHRoZSBMUkMgcGlu IGluIHF1ZXVlLCBidXQgcmVtb3ZlIGl0Cj4gZnJvbSByZXF1ZXN0IGNyZWF0aW9uIGluc3RlYWQ/ IFRoYXQgd291bGQgbWFrZSB0aGUgTFJDIHBpbiBsaWZldGltZSBvbmx5Cj4gYSBzaW5nbGUgcG9z c2liaWxpdHksIGZyb20gcXVldWUgdG8gZXhlY2xpc3QgcmV0aXJlLgoKSSBmZWx0IHdhcyBzbyBj bG9zZSBpbiBnZXR0aW5nIHJpZCBvZiBleGVjbGlzdF9yZXRpcmVkX3JlcV9xdWV1ZSwgdXNpbmcg CnRoaXMgcGF0Y2ggYXMgYSBzdGFydGluZyBwb2ludCwgd2hlbiBJIHJlYWxpc2VkIHRoaXMgcGF0 Y2ggZG9lcyBub3QgcGxheSAKbmljZWx5IHdpdGggdGhlIEd1Qy4gQmFjayB0byB0aGUgZHJhd2lu ZyBib2FyZC4gOigKClJlZ2FyZHMsCgpUdnJ0a28KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=