From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 9/9] drm/i915/gt: Schedule request retirement when timeline idles Date: Wed, 20 Nov 2019 14:16:17 +0000 Message-ID: References: <20191120093302.3723715-1-chris@chris-wilson.co.uk> <20191120093302.3723715-9-chris@chris-wilson.co.uk> <63602b43-06bb-aa55-5ac4-06ba45046160@linux.intel.com> <157425717389.13839.1416435425305498787@skylake-alporthouse-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 ESMTPS id 992AA6EA50 for ; Wed, 20 Nov 2019 14:16:20 +0000 (UTC) In-Reply-To: <157425717389.13839.1416435425305498787@skylake-alporthouse-com> Content-Language: en-US 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 Ck9uIDIwLzExLzIwMTkgMTM6MzksIENocmlzIFdpbHNvbiB3cm90ZToKPiBRdW90aW5nIFR2cnRr byBVcnN1bGluICgyMDE5LTExLTIwIDEzOjE2OjUxKQo+Pgo+PiBPbiAyMC8xMS8yMDE5IDA5OjMz LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4+PiBUaGUgbWFqb3IgZHJhd2JhY2sgb2YgY29tbWl0IDdl MzRmNGU0YWFkMyAoImRybS9pOTE1L2dlbjgrOiBBZGQgUkM2IENUWAo+Pj4gY29ycnVwdGlvbiBX QSIpIGlzIHRoYXQgaXQgZGlzYWJsZXMgUkM2IHdoaWxlIFNreWxha2UgKGFuZCBmcmllbmRzKSBp cwo+Pj4gYWN0aXZlLCBhbmQgd2UgZG8gbm90IGNvbnNpZGVyIHRoZSBHUFUgaWRsZSB1bnRpbCBh bGwgb3V0c3RhbmRpbmcKPj4+IHJlcXVlc3RzIGhhdmUgYmVlbiByZXRpcmVkIGFuZCB0aGUgZW5n aW5lIHN3aXRjaGVkIG92ZXIgdG8gdGhlIGtlcm5lbAo+Pj4gY29udGV4dC4gSWYgdXNlcnNwYWNl IGlzIGlkbGUsIHRoaXMgdGFzayBmYWxscyBvbnRvIG91ciBiYWNrZ3JvdW5kIGlkbGUKPj4+IHdv cmtlciwgd2hpY2ggb25seSBydW5zIHJvdWdobHkgb25jZSBhIHNlY29uZCwgbWVhbmluZyB0aGF0 IHVzZXJzcGFjZSBoYXMKPj4+IHRvIGhhdmUgYmVlbiBpZGxlIGZvciBhIGNvdXBsZSBvZiBzZWNv bmRzIGJlZm9yZSB3ZSBlbmFibGUgUkM2IGFnYWluLgo+Pj4gTmF0dXJhbGx5LCB0aGlzIGNhdXNl cyB1cyB0byBjb25zdW1lIGNvbnNpZGVyYWJseSBtb3JlIGVuZXJneSB0aGFuCj4+PiBiZWZvcmUg YXMgcG93ZXJzYXZpbmcgaXMgZWZmZWN0aXZlbHkgZGlzYWJsZWQgd2hpbGUgYSBkaXNwbGF5IHNl cnZlcgo+Pj4gKGhlcmUncyBsb29raW5nIGF0IHlvdSBYb3JnKSBpcyBydW5uaW5nLgo+Pj4KPj4+ IEFzIGV4ZWNsaXN0cyB3aWxsIGdldCBhIGNvbXBsZXRpb24gZXZlbnQgYXMgZWFjaCBjb250ZXh0 IGlzIGNvbXBsZXRlZCwKPj4+IHdlIGNhbiB1c2UgdGhpcyBpbnRlcnJ1cHQgdG8gcXVldWUgYSBy ZXRpcmUgd29ya2VyIGJvdW5kIHRvIHRoaXMgZW5naW5lCj4+PiB0byBjbGVhbnVwIGlkbGUgdGlt ZWxpbmVzLiBXZSB3aWxsIHRoZW4gaW1tZWRpYXRlbHkgbm90aWNlIHRoZSBpZGxlCj4+PiBlbmdp bmUgKHdpdGhvdXQgdXNlcnNwYWNlIGludGVydmVudGlvbiBvciB0aGUgYWlkIG9mIHRoZSBiYWNr Z3JvdW5kCj4+PiByZXRpcmUgd29ya2VyKSBhbmQgc3RhcnQgcGFya2luZyB0aGUgR1BVLiBUaHVz IGR1cmluZyBsaWdodCB3b3JrbG9hZHMsCj4+PiB3ZSB3aWxsIGRvIG11Y2ggbW9yZSB3b3JrIHRv IGlkbGUgdGhlIEdQVSBmYXN0ZXIuLi4gIEhvcGVmdWxseSB3aXRoCj4+PiBjb21tZW5zdXJhdGUg cG93ZXIgc2F2aW5nIQo+Pj4KPj4+IHYyOiBXYXRjaCBjb250ZXh0IGNvbXBsZXRpb25zIGFuZCBv bmx5IGxvb2sgYXQgdGhvc2UgbG9jYWwgdG8gdGhlIGVuZ2luZQo+Pj4gd2hlbiByZXRpcmluZyB0 byByZWR1Y2UgdGhlIGFtb3VudCBvZiBleGNlc3Mgd29yayB3ZSBwZXJmb3JtLgo+Pj4KPj4+IFJl ZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEx MjMxNQo+Pj4gUmVmZXJlbmNlczogN2UzNGY0ZTRhYWQzICgiZHJtL2k5MTUvZ2VuOCs6IEFkZCBS QzYgQ1RYIGNvcnJ1cHRpb24gV0EiKQo+Pj4gUmVmZXJlbmNlczogMjI0OGEyODM4NGZlICgiZHJt L2k5MTUvZ2VuOCs6IEFkZCBSQzYgQ1RYIGNvcnJ1cHRpb24gV0EiKQo+Pj4gU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+PiBDYzogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgICAgIHwgIDggKy0KPj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oICB8ICA4ICsrCj4+PiAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jICAgfCA3NCArKysr KysrKysrKysrKysrKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9y ZXF1ZXN0cy5oICAgfCAxNyArKysrLQo+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfbHJjLmMgICAgICAgICAgIHwgIDkgKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF90aW1lbGluZS5jICAgICAgfCAgMSArCj4+PiAgICAuLi4vZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3RpbWVsaW5lX3R5cGVzLmggICAgfCAgMyArCj4+PiAgICA3IGZpbGVzIGNoYW5nZWQs IDExNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCj4+PiBpbmRleCBiOTYxM2QwNDQzOTMuLjhmNmUz NTNjYWE2NiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV9jcy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYwo+Pj4gQEAgLTI4LDEzICsyOCwxMyBAQAo+Pj4gICAgCj4+PiAgICAjaW5jbHVkZSAiaTkx NV9kcnYuaCIKPj4+ICAgIAo+Pj4gLSNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgo+Pj4gLQo+Pj4g KyNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfZW5naW5l LmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3BtLmgiCj4+PiAgICAjaW5jbHVkZSAi aW50ZWxfZW5naW5lX3Bvb2wuaCIKPj4+ICAgICNpbmNsdWRlICJpbnRlbF9lbmdpbmVfdXNlci5o Igo+Pj4gLSNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCj4+PiArI2luY2x1ZGUgImludGVsX2d0 LmgiCj4+PiArI2luY2x1ZGUgImludGVsX2d0X3JlcXVlc3RzLmgiCj4+PiAgICAjaW5jbHVkZSAi aW50ZWxfbHJjLmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfcmVzZXQuaCIKPj4+ICAgICNpbmNs dWRlICJpbnRlbF9yaW5nLmgiCj4+PiBAQCAtNjE3LDYgKzYxNyw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfZW5naW5lX3NldHVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+ PiAgICAgICAgaW50ZWxfZW5naW5lX2luaXRfZXhlY2xpc3RzKGVuZ2luZSk7Cj4+PiAgICAgICAg aW50ZWxfZW5naW5lX2luaXRfY21kX3BhcnNlcihlbmdpbmUpOwo+Pj4gICAgICAgIGludGVsX2Vu Z2luZV9pbml0X19wbShlbmdpbmUpOwo+Pj4gKyAgICAgaW50ZWxfZW5naW5lX2luaXRfcmV0aXJl KGVuZ2luZSk7Cj4+PiAgICAKPj4+ICAgICAgICBpbnRlbF9lbmdpbmVfcG9vbF9pbml0KCZlbmdp bmUtPnBvb2wpOwo+Pj4gICAgCj4+PiBAQCAtODM5LDYgKzg0MCw3IEBAIHZvaWQgaW50ZWxfZW5n aW5lX2NsZWFudXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPj4+ICAg IAo+Pj4gICAgICAgIGNsZWFudXBfc3RhdHVzX3BhZ2UoZW5naW5lKTsKPj4+ICAgIAo+Pj4gKyAg ICAgaW50ZWxfZW5naW5lX2ZpbmlfcmV0aXJlKGVuZ2luZSk7Cj4+PiAgICAgICAgaW50ZWxfZW5n aW5lX3Bvb2xfZmluaSgmZW5naW5lLT5wb29sKTsKPj4+ICAgICAgICBpbnRlbF9lbmdpbmVfZmlu aV9icmVhZGNydW1icyhlbmdpbmUpOwo+Pj4gICAgICAgIGludGVsX2VuZ2luZV9jbGVhbnVwX2Nt ZF9wYXJzZXIoZW5naW5lKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9lbmdpbmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV90eXBlcy5oCj4+PiBpbmRleCA3NThmMGU4ZWM2NzIuLjE3ZjFmMTQ0MWVmYyAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAo+Pj4g QEAgLTQ1MSw2ICs0NTEsMTQgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4+PiAgICAKPj4+ ICAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyBleGVjbGlzdHM7Cj4+PiAgICAK Pj4+ICsgICAgIC8qCj4+PiArICAgICAgKiBLZWVwIHRyYWNrIG9mIGNvbXBsZXRlZCB0aW1lbGlu ZXMgb24gdGhpcyBlbmdpbmUgZm9yIGVhcmx5Cj4+PiArICAgICAgKiByZXRpcmVtZW50IHdpdGgg dGhlIGdvYWwgb2YgcXVpY2tseSBlbmFibGluZyBwb3dlcnNhdmluZyBhcwo+Pj4gKyAgICAgICog c29vbiBhcyB0aGUgZW5naW5lIGlzIGlkbGUuCj4+PiArICAgICAgKi8KPj4+ICsgICAgIHN0cnVj dCBpbnRlbF90aW1lbGluZSAqcmV0aXJlOwo+Pj4gKyAgICAgc3RydWN0IHdvcmtfc3RydWN0IHJl dGlyZV93b3JrOwo+Pj4gKwo+Pj4gICAgICAgIC8qIHN0YXR1c19ub3RpZmllcjogbGlzdCBvZiBj YWxsYmFja3MgZm9yIGNvbnRleHQtc3dpdGNoIGNoYW5nZXMgKi8KPj4+ICAgICAgICBzdHJ1Y3Qg YXRvbWljX25vdGlmaWVyX2hlYWQgY29udGV4dF9zdGF0dXNfbm90aWZpZXI7Cj4+PiAgICAKPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVxdWVzdHMuYwo+Pj4gaW5kZXgg NGRjM2NiZWIxYjM2Li40YTk4ZmVmZGY5MTUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCj4+PiBAQCAtMjksNiArMjksODAgQEAgc3RhdGlj IHZvaWQgZmx1c2hfc3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQo+Pj4gICAgICAgICAg ICAgICAgaW50ZWxfZW5naW5lX2ZsdXNoX3N1Ym1pc3Npb24oZW5naW5lKTsKPj4+ICAgIH0KPj4+ ICAgIAo+Pj4gK3N0YXRpYyB2b2lkIGVuZ2luZV9yZXRpcmUoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQo+Pj4gK3sKPj4+ICsgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9Cj4+ PiArICAgICAgICAgICAgIGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmVuZ2luZSksIHJldGly ZV93b3JrKTsKPj4+ICsgICAgIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB4Y2hnKCZlbmdp bmUtPnJldGlyZSwgTlVMTCk7Cj4+Cj4+IFNob3VsZG4ndCB0aGlzIGJlIGF0b21pY194Y2hnIHRv IGF2b2lkIHJhY2luZyB3aXRoIGFkZF9yZXRpcmU/Cj4+Cj4+PiArCj4+PiArICAgICBkbyB7Cj4+ PiArICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqbmV4dCA9IHhjaGcoJnRsLT5y ZXRpcmUsIE5VTEwpOwo+Pgo+PiBIZXJlIGFzIHdlbGw/Cj4gCj4geGNoZygpIGFyZSBhbHdheXMg bG9ja2VkLgo+IAo+IGF0b21pY194Y2hnKCkgb3BlcmF0ZXMgb24gYXRvbWljX3Q7IHhjaGcoKSB3 b3JrcyBvbiBhbnkgdmFyaWFibGUsIGxpa2UKPiBjbXB4Y2hnKCkuCj4gCj4+PiArCj4+PiArICAg ICAgICAgICAgIC8qCj4+PiArICAgICAgICAgICAgICAqIE91ciBnb2FsIGhlcmUgaXMgdG8gcmV0 aXJlIF9pZGxlXyB0aW1lbGluZXMgYXMgc29vbiBhcwo+Pj4gKyAgICAgICAgICAgICAgKiBwb3Nz aWJsZSAoYXMgdGhleSBhcmUgaWRsZSwgd2UgZG8gbm90IGV4cGVjdCB1c2Vyc3BhY2UKPj4+ICsg ICAgICAgICAgICAgICogdG8gYmUgY2xlYW5pbmcgdXAgYW55dGltZSBzb29uKS4KPj4+ICsgICAg ICAgICAgICAgICoKPj4+ICsgICAgICAgICAgICAgICogSWYgdGhlIHRsLT5hY3RpdmVfY291bnQg aXMgYWxyZWFkeSB6ZXJvLCBzb21lb25lIGVsc2UKPj4+ICsgICAgICAgICAgICAgICogc2hvdWxk IGhhdmUgcmV0aXJlZCB0aGUgdGltZWxpbmUuIEVxdWFsbHkgaWYgdGhlIHRpbWVsaW5lCj4+PiAr ICAgICAgICAgICAgICAqIGlzIGN1cnJlbnRseSBsb2NrZWQsIGVpdGhlciBpdCBpcyBiZWluZyBy ZXRpcmVkIGVsc2V3aGVyZQo+Pj4gKyAgICAgICAgICAgICAgKiBvciBhYm91dCB0byBiZSEKPj4+ ICsgICAgICAgICAgICAgICovCj4+PiArICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgmdGwt PmFjdGl2ZV9jb3VudCkgJiYKPj4+ICsgICAgICAgICAgICAgICAgIG11dGV4X3RyeWxvY2soJnRs LT5tdXRleCkpIHsKPj4+ICsgICAgICAgICAgICAgICAgICAgICByZXRpcmVfcmVxdWVzdHModGwp Owo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIG11dGV4X3VubG9jaygmdGwtPm11dGV4KTsKPj4+ ICsgICAgICAgICAgICAgfQo+Pj4gKyAgICAgICAgICAgICBpbnRlbF90aW1lbGluZV9wdXQodGwp Owo+Pj4gKwo+Pj4gKyAgICAgICAgICAgICBHRU1fQlVHX09OKCFuZXh0KTsKPj4+ICsgICAgICAg ICAgICAgdGwgPSBwdHJfbWFza19iaXRzKG5leHQsIDEpOwo+Pgo+PiBZb3Ugc29tZXRpbWVzIGV4 cGVjdCBlbmdpbmUtPnJldGlyZSB0byBjb250YWluIDB4MT8KPiAKPiBZZXMsIGltYWdpbmUgdGhh dCB3ZSBhcmUgc3VibWl0dGluZyB2ZXJ5IGZhc3Qgc3VjaCB0aGF0IHdlIHNjaGVkdWxlX291dAo+ IHRoZSBzYW1lIGNvbnRleHQgYmVmb3JlIHRoZSB3b3JrZXIgcmFuLCB3ZSB3b3VsZCB0aGVuIHRy eSB0bwo+IGFkZF9yZXRpcmUoKSB0aGUgc2FtZSB0aW1lbGluZSBhZ2Fpbi4gU28gSSB3YXMgdXNp bmcgQklUKDApIHRvIHRhZyBhbgo+IGFjdGl2ZSBlbGVtZW50IGluIHRoZSByZXRpcmVtZW50IGxp c3QuCgpJZiB3ZSBoYXZlIHNjaGVkdWxlX291dCBvbiB0aGUgc2FtZSBjb250ZXh0IGJlZm9yZSB0 aGUgcmV0aXJlIHJhbiB0aGVuIAphZGRfcmV0aXJlIGlzIGEgbm8tb3AgZHVlIHRsLT5yZXRpcmUg YmVpbmcgc2V0LgoKSXQgY291bGQgYmUgYSByYWNlIGJldHdlZW4gZW5naW5lX3JldGlyZSBhbmQg YWRkX3JldGlyZSB3aGVyZSAKZW5naW5lLT5yZXRpcmUgaXMgc2V0IHRvIE5VTEwgc28gbGF0dGVy IHdvdWxkIHNldCB0bC0+cmV0aXJlIHRvIE5VTEwgfCAKQklUKDApLgoKQnV0IEJJVCgwKSBpcyBv bmx5IGZpbHRlcmVkIG91dCBhbmQgbm90IGFjdGVkIHVwb24gYW55d2hlcmUgc28gSSBhbSAKc3Rp bGwgbG9zdC4KClNvIG1heWJlIGZyb20gdGhlIG9wcG9zaXRlIGFuZ2xlLCB3aGF0IGdvZXMgd3Jv bmcgaWYgeW91IGRyb3AgYWxsIEJJVCgwKSAKYnVzaW5lc3M/Cgo+IAo+Pj4gKyAgICAgfSB3aGls ZSAodGwpOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgYm9vbCBhZGRfcmV0aXJlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPj4+ICsgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGwpCj4+PiArewo+Pj4gKyAgICAgc3RydWN0IGludGVsX3RpbWVsaW5l ICpmaXJzdCA9IFJFQURfT05DRShlbmdpbmUtPnJldGlyZSk7Cj4+PiArCj4+PiArICAgICAvKgo+ Pj4gKyAgICAgICogV2Ugb3Blbi1jb2RlIGEgbGxpc3QgaGVyZSB0byBpbmNsdWRlIHRoZSBhZGRp dGlvbmFsIHRhZyBbQklUKDApXQo+Pj4gKyAgICAgICogc28gdGhhdCB3ZSBrbm93IHdoZW4gdGhl IHRpbWVsaW5lIGlzIGFscmVhZHkgb24gYQo+Pj4gKyAgICAgICogcmV0aXJlbWVudCBxdWV1ZTog ZWl0aGVyIHRoaXMgZW5naW5lIG9yIGFub3RoZXIuCj4+PiArICAgICAgKgo+Pj4gKyAgICAgICog SG93ZXZlciwgd2UgcmVseSBvbiB0aGF0IGEgdGltZWxpbmUgY2FuIG9ubHkgYmUgYWN0aXZlIG9u IGEgc2luZ2xlCj4+PiArICAgICAgKiBlbmdpbmUgYXQgYW55IG9uZSB0aW1lIGFuZCB0aGF0IGFk ZF9yZXRpcmUoKSBpcyBjYWxsZWQgYmVmb3JlIHRoZQo+Pj4gKyAgICAgICogZW5naW5lIHJlbGVh c2VzIHRoZSB0aW1lbGluZSBhbmQgdHJhbnNmZXJyZWQgdG8gYW5vdGhlciB0byByZXRpcmUuCj4+ PiArICAgICAgKi8KPj4+ICsKPj4+ICsgICAgIGlmIChSRUFEX09OQ0UodGwtPnJldGlyZSkpIC8q IGFscmVhZHkgcXVldWVkICovCj4+PiArICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPj4KPj4g Q2FuJ3QgdGhpcyBnbyBmaXJzdCBpbiB0aGUgZnVuY3Rpb24/Cj4gCj4gQ29uY2VwdHVhbGx5IGl0 IGlzLiBBbmQgSSBtYWRlIGl0IHNvIGJlY2F1c2UgSSBhbHNvIGRlY2lkZWQgYWdhaW5zdAo+IGhh dmluZyB0aGUgUkVBRF9PTkNFKCkgYXQgdGhlIHRvcC4KCkJ1dCBSRUFEX09OQ0UgaXMgYXQgdGhl IHRvcCwganVzdCBhIGRpZmZlcmVudCBvbmUgd2hpY2ggaXMgZGlzY2FyZGVkIGlmIAp0aGlzIG9u ZSBpcyBOVUxMLgoKPiAKPj4+ICsKPj4+ICsgICAgIGludGVsX3RpbWVsaW5lX2dldCh0bCk7Cj4+ PiArICAgICBkbwo+Pj4gKyAgICAgICAgICAgICB0bC0+cmV0aXJlID0gcHRyX3BhY2tfYml0cyhm aXJzdCwgMSwgMSk7Cj4+Cj4+IEhlcmUgeW91IHJlbHkgb24gYXNzaWdubWVudCBiZWluZyBhdG9t aWMgcmlnaHQ/Cj4gCj4gSXNoLiBIZXJlIHdlIHJlbHkgb24gdGhlIHRpbWVsaW5lIGJlaW5nIG93 bmVkIGJ5IHRoZSBlbmdpbmUgc28gaXQgY2Fubm90Cj4gYmUgc3VibWl0dGVkIGJ5IGFub3RoZXIg KGFuZCBzbyBzY2hlZHVsZV9vdXQgY2FsbGVkKSB1bnRpbCB0aGlzIGVuZ2luZQo+IGhhcyByZWxl YXNlZCBpdC4KPiAKPiBJdCBpcyBhIHdlYWsgcG9pbnQgZm9yIGdlbmVyYWxpdHksIGJ1dCB0aGUg b3JkZXJpbmcgaXMgc3Ryb25nIGluCj4gZXhlY2xpc3RzLgo+IAo+Pj4gKyAgICAgd2hpbGUgKCF0 cnlfY21weGNoZygmZW5naW5lLT5yZXRpcmUsICZmaXJzdCwgdGwpKTsKPj4KPj4gU28gdGhlIGxv b3AgaXMgZWZmZWN0aXZlbHkgY3JlYXRpbmcgYSBjaGFpbiBvZiB0aW1lbGluZXMgdG8gcmV0aXJl IG9uCj4+IHRoaXMgZW5naW5lLgo+Pgo+PiBXaGF0IGhhcHBlbnMgd2l0aCB2aXJ0dWFsIGVuZ2lu ZXMgd2hlbiBhIHRpbWVsaW5lIGdvZXMgdG8gZGlmZmVyZW50Cj4+IGVuZ2luZSBiZWZvcmUgKHdl bGwgb3IgYW55IHNpbmdsZSB0aW1lbGluZSBjb250ZXh0KSB0aGUgcmV0aXJlIHdvcmtlcgo+PiBy dW5zPyBBaCBva2F5LCBpdCBnZXRzIHJlLWFzc2lnbmVkIHRvIHRoZSBtb3N0IHJlY2VudCBlbmdp bmUuCj4gCj4gUmlnaHQuIFRoZSBlbmdpbmVfcmV0aXJlKCkgZG9lc24ndCBjYXJlIHdoaWNoIGVu Z2luZSB0aGUgdGltZWxpbmVzIHdlcmUKPiBydW4gb24sIGl0J3MganVzdCBhIGxpc3Qgb2Ygc3Vz cGVjdGVkIGlkbGUgdGltZWxpbmVzLgo+IAo+PiBJIGFtIG5vdCBzdXJlIGFib3V0IHRoZSBCSVQo MCkgYnVzaW5lc3MuIEl0J3MgYWx3YXlzIHNldCBvbiB3cml0ZSBzbyBJCj4+IGFtIG5vdCBnZXR0 aW5nIHdoeSBpdCBpcyB1c2VmdWwuCj4gCj4gSXQncyBhbHNvIHNldCB0byAwIG9uIGNvbnN1bXB0 aW9uIDopCgpBbm90aGVyIHRoaW5nIC0gYXNzZXJ0IHRoYXQgZW5naW5lLT5yZXRpcmUgaXMgTlVM TCBhZnRlciBmbHVzaF93b3JrIGluIAppbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUgY291bGQgYmUg dXNlZnVsLgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86C33C432C0 for ; Wed, 20 Nov 2019 14:16:22 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FDDA2230F for ; Wed, 20 Nov 2019 14:16:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5FDDA2230F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 08D9C6E5FB; Wed, 20 Nov 2019 14:16:22 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 992AA6EA50 for ; Wed, 20 Nov 2019 14:16:20 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Nov 2019 06:16:19 -0800 X-IronPort-AV: E=Sophos;i="5.69,222,1571727600"; d="scan'208";a="200728811" Received: from unknown (HELO [10.252.30.240]) ([10.252.30.240]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/AES256-SHA; 20 Nov 2019 06:16:19 -0800 To: Chris Wilson , intel-gfx@lists.freedesktop.org References: <20191120093302.3723715-1-chris@chris-wilson.co.uk> <20191120093302.3723715-9-chris@chris-wilson.co.uk> <63602b43-06bb-aa55-5ac4-06ba45046160@linux.intel.com> <157425717389.13839.1416435425305498787@skylake-alporthouse-com> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: Date: Wed, 20 Nov 2019 14:16:17 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <157425717389.13839.1416435425305498787@skylake-alporthouse-com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 9/9] drm/i915/gt: Schedule request retirement when timeline idles X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191120141617.8uXhKSFcb6KgaGgheacli7J-Q70TpHegq4FeKh9JtNg@z> Ck9uIDIwLzExLzIwMTkgMTM6MzksIENocmlzIFdpbHNvbiB3cm90ZToKPiBRdW90aW5nIFR2cnRr byBVcnN1bGluICgyMDE5LTExLTIwIDEzOjE2OjUxKQo+Pgo+PiBPbiAyMC8xMS8yMDE5IDA5OjMz LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4+PiBUaGUgbWFqb3IgZHJhd2JhY2sgb2YgY29tbWl0IDdl MzRmNGU0YWFkMyAoImRybS9pOTE1L2dlbjgrOiBBZGQgUkM2IENUWAo+Pj4gY29ycnVwdGlvbiBX QSIpIGlzIHRoYXQgaXQgZGlzYWJsZXMgUkM2IHdoaWxlIFNreWxha2UgKGFuZCBmcmllbmRzKSBp cwo+Pj4gYWN0aXZlLCBhbmQgd2UgZG8gbm90IGNvbnNpZGVyIHRoZSBHUFUgaWRsZSB1bnRpbCBh bGwgb3V0c3RhbmRpbmcKPj4+IHJlcXVlc3RzIGhhdmUgYmVlbiByZXRpcmVkIGFuZCB0aGUgZW5n aW5lIHN3aXRjaGVkIG92ZXIgdG8gdGhlIGtlcm5lbAo+Pj4gY29udGV4dC4gSWYgdXNlcnNwYWNl IGlzIGlkbGUsIHRoaXMgdGFzayBmYWxscyBvbnRvIG91ciBiYWNrZ3JvdW5kIGlkbGUKPj4+IHdv cmtlciwgd2hpY2ggb25seSBydW5zIHJvdWdobHkgb25jZSBhIHNlY29uZCwgbWVhbmluZyB0aGF0 IHVzZXJzcGFjZSBoYXMKPj4+IHRvIGhhdmUgYmVlbiBpZGxlIGZvciBhIGNvdXBsZSBvZiBzZWNv bmRzIGJlZm9yZSB3ZSBlbmFibGUgUkM2IGFnYWluLgo+Pj4gTmF0dXJhbGx5LCB0aGlzIGNhdXNl cyB1cyB0byBjb25zdW1lIGNvbnNpZGVyYWJseSBtb3JlIGVuZXJneSB0aGFuCj4+PiBiZWZvcmUg YXMgcG93ZXJzYXZpbmcgaXMgZWZmZWN0aXZlbHkgZGlzYWJsZWQgd2hpbGUgYSBkaXNwbGF5IHNl cnZlcgo+Pj4gKGhlcmUncyBsb29raW5nIGF0IHlvdSBYb3JnKSBpcyBydW5uaW5nLgo+Pj4KPj4+ IEFzIGV4ZWNsaXN0cyB3aWxsIGdldCBhIGNvbXBsZXRpb24gZXZlbnQgYXMgZWFjaCBjb250ZXh0 IGlzIGNvbXBsZXRlZCwKPj4+IHdlIGNhbiB1c2UgdGhpcyBpbnRlcnJ1cHQgdG8gcXVldWUgYSBy ZXRpcmUgd29ya2VyIGJvdW5kIHRvIHRoaXMgZW5naW5lCj4+PiB0byBjbGVhbnVwIGlkbGUgdGlt ZWxpbmVzLiBXZSB3aWxsIHRoZW4gaW1tZWRpYXRlbHkgbm90aWNlIHRoZSBpZGxlCj4+PiBlbmdp bmUgKHdpdGhvdXQgdXNlcnNwYWNlIGludGVydmVudGlvbiBvciB0aGUgYWlkIG9mIHRoZSBiYWNr Z3JvdW5kCj4+PiByZXRpcmUgd29ya2VyKSBhbmQgc3RhcnQgcGFya2luZyB0aGUgR1BVLiBUaHVz IGR1cmluZyBsaWdodCB3b3JrbG9hZHMsCj4+PiB3ZSB3aWxsIGRvIG11Y2ggbW9yZSB3b3JrIHRv IGlkbGUgdGhlIEdQVSBmYXN0ZXIuLi4gIEhvcGVmdWxseSB3aXRoCj4+PiBjb21tZW5zdXJhdGUg cG93ZXIgc2F2aW5nIQo+Pj4KPj4+IHYyOiBXYXRjaCBjb250ZXh0IGNvbXBsZXRpb25zIGFuZCBv bmx5IGxvb2sgYXQgdGhvc2UgbG9jYWwgdG8gdGhlIGVuZ2luZQo+Pj4gd2hlbiByZXRpcmluZyB0 byByZWR1Y2UgdGhlIGFtb3VudCBvZiBleGNlc3Mgd29yayB3ZSBwZXJmb3JtLgo+Pj4KPj4+IFJl ZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEx MjMxNQo+Pj4gUmVmZXJlbmNlczogN2UzNGY0ZTRhYWQzICgiZHJtL2k5MTUvZ2VuOCs6IEFkZCBS QzYgQ1RYIGNvcnJ1cHRpb24gV0EiKQo+Pj4gUmVmZXJlbmNlczogMjI0OGEyODM4NGZlICgiZHJt L2k5MTUvZ2VuOCs6IEFkZCBSQzYgQ1RYIGNvcnJ1cHRpb24gV0EiKQo+Pj4gU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+PiBDYzogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgICAgIHwgIDggKy0KPj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oICB8ICA4ICsrCj4+PiAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jICAgfCA3NCArKysr KysrKysrKysrKysrKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9y ZXF1ZXN0cy5oICAgfCAxNyArKysrLQo+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfbHJjLmMgICAgICAgICAgIHwgIDkgKysrCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF90aW1lbGluZS5jICAgICAgfCAgMSArCj4+PiAgICAuLi4vZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3RpbWVsaW5lX3R5cGVzLmggICAgfCAgMyArCj4+PiAgICA3IGZpbGVzIGNoYW5nZWQs IDExNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCj4+PiBpbmRleCBiOTYxM2QwNDQzOTMuLjhmNmUz NTNjYWE2NiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV9jcy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYwo+Pj4gQEAgLTI4LDEzICsyOCwxMyBAQAo+Pj4gICAgCj4+PiAgICAjaW5jbHVkZSAiaTkx NV9kcnYuaCIKPj4+ICAgIAo+Pj4gLSNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgo+Pj4gLQo+Pj4g KyNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfZW5naW5l LmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3BtLmgiCj4+PiAgICAjaW5jbHVkZSAi aW50ZWxfZW5naW5lX3Bvb2wuaCIKPj4+ICAgICNpbmNsdWRlICJpbnRlbF9lbmdpbmVfdXNlci5o Igo+Pj4gLSNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCj4+PiArI2luY2x1ZGUgImludGVsX2d0 LmgiCj4+PiArI2luY2x1ZGUgImludGVsX2d0X3JlcXVlc3RzLmgiCj4+PiAgICAjaW5jbHVkZSAi aW50ZWxfbHJjLmgiCj4+PiAgICAjaW5jbHVkZSAiaW50ZWxfcmVzZXQuaCIKPj4+ICAgICNpbmNs dWRlICJpbnRlbF9yaW5nLmgiCj4+PiBAQCAtNjE3LDYgKzYxNyw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfZW5naW5lX3NldHVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+ PiAgICAgICAgaW50ZWxfZW5naW5lX2luaXRfZXhlY2xpc3RzKGVuZ2luZSk7Cj4+PiAgICAgICAg aW50ZWxfZW5naW5lX2luaXRfY21kX3BhcnNlcihlbmdpbmUpOwo+Pj4gICAgICAgIGludGVsX2Vu Z2luZV9pbml0X19wbShlbmdpbmUpOwo+Pj4gKyAgICAgaW50ZWxfZW5naW5lX2luaXRfcmV0aXJl KGVuZ2luZSk7Cj4+PiAgICAKPj4+ICAgICAgICBpbnRlbF9lbmdpbmVfcG9vbF9pbml0KCZlbmdp bmUtPnBvb2wpOwo+Pj4gICAgCj4+PiBAQCAtODM5LDYgKzg0MCw3IEBAIHZvaWQgaW50ZWxfZW5n aW5lX2NsZWFudXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPj4+ICAg IAo+Pj4gICAgICAgIGNsZWFudXBfc3RhdHVzX3BhZ2UoZW5naW5lKTsKPj4+ICAgIAo+Pj4gKyAg ICAgaW50ZWxfZW5naW5lX2ZpbmlfcmV0aXJlKGVuZ2luZSk7Cj4+PiAgICAgICAgaW50ZWxfZW5n aW5lX3Bvb2xfZmluaSgmZW5naW5lLT5wb29sKTsKPj4+ICAgICAgICBpbnRlbF9lbmdpbmVfZmlu aV9icmVhZGNydW1icyhlbmdpbmUpOwo+Pj4gICAgICAgIGludGVsX2VuZ2luZV9jbGVhbnVwX2Nt ZF9wYXJzZXIoZW5naW5lKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9lbmdpbmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV90eXBlcy5oCj4+PiBpbmRleCA3NThmMGU4ZWM2NzIuLjE3ZjFmMTQ0MWVmYyAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAo+Pj4g QEAgLTQ1MSw2ICs0NTEsMTQgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4+PiAgICAKPj4+ ICAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyBleGVjbGlzdHM7Cj4+PiAgICAK Pj4+ICsgICAgIC8qCj4+PiArICAgICAgKiBLZWVwIHRyYWNrIG9mIGNvbXBsZXRlZCB0aW1lbGlu ZXMgb24gdGhpcyBlbmdpbmUgZm9yIGVhcmx5Cj4+PiArICAgICAgKiByZXRpcmVtZW50IHdpdGgg dGhlIGdvYWwgb2YgcXVpY2tseSBlbmFibGluZyBwb3dlcnNhdmluZyBhcwo+Pj4gKyAgICAgICog c29vbiBhcyB0aGUgZW5naW5lIGlzIGlkbGUuCj4+PiArICAgICAgKi8KPj4+ICsgICAgIHN0cnVj dCBpbnRlbF90aW1lbGluZSAqcmV0aXJlOwo+Pj4gKyAgICAgc3RydWN0IHdvcmtfc3RydWN0IHJl dGlyZV93b3JrOwo+Pj4gKwo+Pj4gICAgICAgIC8qIHN0YXR1c19ub3RpZmllcjogbGlzdCBvZiBj YWxsYmFja3MgZm9yIGNvbnRleHQtc3dpdGNoIGNoYW5nZXMgKi8KPj4+ICAgICAgICBzdHJ1Y3Qg YXRvbWljX25vdGlmaWVyX2hlYWQgY29udGV4dF9zdGF0dXNfbm90aWZpZXI7Cj4+PiAgICAKPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVxdWVzdHMuYwo+Pj4gaW5kZXgg NGRjM2NiZWIxYjM2Li40YTk4ZmVmZGY5MTUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCj4+PiBAQCAtMjksNiArMjksODAgQEAgc3RhdGlj IHZvaWQgZmx1c2hfc3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQo+Pj4gICAgICAgICAg ICAgICAgaW50ZWxfZW5naW5lX2ZsdXNoX3N1Ym1pc3Npb24oZW5naW5lKTsKPj4+ICAgIH0KPj4+ ICAgIAo+Pj4gK3N0YXRpYyB2b2lkIGVuZ2luZV9yZXRpcmUoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQo+Pj4gK3sKPj4+ICsgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9Cj4+ PiArICAgICAgICAgICAgIGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmVuZ2luZSksIHJldGly ZV93b3JrKTsKPj4+ICsgICAgIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB4Y2hnKCZlbmdp bmUtPnJldGlyZSwgTlVMTCk7Cj4+Cj4+IFNob3VsZG4ndCB0aGlzIGJlIGF0b21pY194Y2hnIHRv IGF2b2lkIHJhY2luZyB3aXRoIGFkZF9yZXRpcmU/Cj4+Cj4+PiArCj4+PiArICAgICBkbyB7Cj4+ PiArICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqbmV4dCA9IHhjaGcoJnRsLT5y ZXRpcmUsIE5VTEwpOwo+Pgo+PiBIZXJlIGFzIHdlbGw/Cj4gCj4geGNoZygpIGFyZSBhbHdheXMg bG9ja2VkLgo+IAo+IGF0b21pY194Y2hnKCkgb3BlcmF0ZXMgb24gYXRvbWljX3Q7IHhjaGcoKSB3 b3JrcyBvbiBhbnkgdmFyaWFibGUsIGxpa2UKPiBjbXB4Y2hnKCkuCj4gCj4+PiArCj4+PiArICAg ICAgICAgICAgIC8qCj4+PiArICAgICAgICAgICAgICAqIE91ciBnb2FsIGhlcmUgaXMgdG8gcmV0 aXJlIF9pZGxlXyB0aW1lbGluZXMgYXMgc29vbiBhcwo+Pj4gKyAgICAgICAgICAgICAgKiBwb3Nz aWJsZSAoYXMgdGhleSBhcmUgaWRsZSwgd2UgZG8gbm90IGV4cGVjdCB1c2Vyc3BhY2UKPj4+ICsg ICAgICAgICAgICAgICogdG8gYmUgY2xlYW5pbmcgdXAgYW55dGltZSBzb29uKS4KPj4+ICsgICAg ICAgICAgICAgICoKPj4+ICsgICAgICAgICAgICAgICogSWYgdGhlIHRsLT5hY3RpdmVfY291bnQg aXMgYWxyZWFkeSB6ZXJvLCBzb21lb25lIGVsc2UKPj4+ICsgICAgICAgICAgICAgICogc2hvdWxk IGhhdmUgcmV0aXJlZCB0aGUgdGltZWxpbmUuIEVxdWFsbHkgaWYgdGhlIHRpbWVsaW5lCj4+PiAr ICAgICAgICAgICAgICAqIGlzIGN1cnJlbnRseSBsb2NrZWQsIGVpdGhlciBpdCBpcyBiZWluZyBy ZXRpcmVkIGVsc2V3aGVyZQo+Pj4gKyAgICAgICAgICAgICAgKiBvciBhYm91dCB0byBiZSEKPj4+ ICsgICAgICAgICAgICAgICovCj4+PiArICAgICAgICAgICAgIGlmIChhdG9taWNfcmVhZCgmdGwt PmFjdGl2ZV9jb3VudCkgJiYKPj4+ICsgICAgICAgICAgICAgICAgIG11dGV4X3RyeWxvY2soJnRs LT5tdXRleCkpIHsKPj4+ICsgICAgICAgICAgICAgICAgICAgICByZXRpcmVfcmVxdWVzdHModGwp Owo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIG11dGV4X3VubG9jaygmdGwtPm11dGV4KTsKPj4+ ICsgICAgICAgICAgICAgfQo+Pj4gKyAgICAgICAgICAgICBpbnRlbF90aW1lbGluZV9wdXQodGwp Owo+Pj4gKwo+Pj4gKyAgICAgICAgICAgICBHRU1fQlVHX09OKCFuZXh0KTsKPj4+ICsgICAgICAg ICAgICAgdGwgPSBwdHJfbWFza19iaXRzKG5leHQsIDEpOwo+Pgo+PiBZb3Ugc29tZXRpbWVzIGV4 cGVjdCBlbmdpbmUtPnJldGlyZSB0byBjb250YWluIDB4MT8KPiAKPiBZZXMsIGltYWdpbmUgdGhh dCB3ZSBhcmUgc3VibWl0dGluZyB2ZXJ5IGZhc3Qgc3VjaCB0aGF0IHdlIHNjaGVkdWxlX291dAo+ IHRoZSBzYW1lIGNvbnRleHQgYmVmb3JlIHRoZSB3b3JrZXIgcmFuLCB3ZSB3b3VsZCB0aGVuIHRy eSB0bwo+IGFkZF9yZXRpcmUoKSB0aGUgc2FtZSB0aW1lbGluZSBhZ2Fpbi4gU28gSSB3YXMgdXNp bmcgQklUKDApIHRvIHRhZyBhbgo+IGFjdGl2ZSBlbGVtZW50IGluIHRoZSByZXRpcmVtZW50IGxp c3QuCgpJZiB3ZSBoYXZlIHNjaGVkdWxlX291dCBvbiB0aGUgc2FtZSBjb250ZXh0IGJlZm9yZSB0 aGUgcmV0aXJlIHJhbiB0aGVuIAphZGRfcmV0aXJlIGlzIGEgbm8tb3AgZHVlIHRsLT5yZXRpcmUg YmVpbmcgc2V0LgoKSXQgY291bGQgYmUgYSByYWNlIGJldHdlZW4gZW5naW5lX3JldGlyZSBhbmQg YWRkX3JldGlyZSB3aGVyZSAKZW5naW5lLT5yZXRpcmUgaXMgc2V0IHRvIE5VTEwgc28gbGF0dGVy IHdvdWxkIHNldCB0bC0+cmV0aXJlIHRvIE5VTEwgfCAKQklUKDApLgoKQnV0IEJJVCgwKSBpcyBv bmx5IGZpbHRlcmVkIG91dCBhbmQgbm90IGFjdGVkIHVwb24gYW55d2hlcmUgc28gSSBhbSAKc3Rp bGwgbG9zdC4KClNvIG1heWJlIGZyb20gdGhlIG9wcG9zaXRlIGFuZ2xlLCB3aGF0IGdvZXMgd3Jv bmcgaWYgeW91IGRyb3AgYWxsIEJJVCgwKSAKYnVzaW5lc3M/Cgo+IAo+Pj4gKyAgICAgfSB3aGls ZSAodGwpOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgYm9vbCBhZGRfcmV0aXJlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPj4+ICsgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGwpCj4+PiArewo+Pj4gKyAgICAgc3RydWN0IGludGVsX3RpbWVsaW5l ICpmaXJzdCA9IFJFQURfT05DRShlbmdpbmUtPnJldGlyZSk7Cj4+PiArCj4+PiArICAgICAvKgo+ Pj4gKyAgICAgICogV2Ugb3Blbi1jb2RlIGEgbGxpc3QgaGVyZSB0byBpbmNsdWRlIHRoZSBhZGRp dGlvbmFsIHRhZyBbQklUKDApXQo+Pj4gKyAgICAgICogc28gdGhhdCB3ZSBrbm93IHdoZW4gdGhl IHRpbWVsaW5lIGlzIGFscmVhZHkgb24gYQo+Pj4gKyAgICAgICogcmV0aXJlbWVudCBxdWV1ZTog ZWl0aGVyIHRoaXMgZW5naW5lIG9yIGFub3RoZXIuCj4+PiArICAgICAgKgo+Pj4gKyAgICAgICog SG93ZXZlciwgd2UgcmVseSBvbiB0aGF0IGEgdGltZWxpbmUgY2FuIG9ubHkgYmUgYWN0aXZlIG9u IGEgc2luZ2xlCj4+PiArICAgICAgKiBlbmdpbmUgYXQgYW55IG9uZSB0aW1lIGFuZCB0aGF0IGFk ZF9yZXRpcmUoKSBpcyBjYWxsZWQgYmVmb3JlIHRoZQo+Pj4gKyAgICAgICogZW5naW5lIHJlbGVh c2VzIHRoZSB0aW1lbGluZSBhbmQgdHJhbnNmZXJyZWQgdG8gYW5vdGhlciB0byByZXRpcmUuCj4+ PiArICAgICAgKi8KPj4+ICsKPj4+ICsgICAgIGlmIChSRUFEX09OQ0UodGwtPnJldGlyZSkpIC8q IGFscmVhZHkgcXVldWVkICovCj4+PiArICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPj4KPj4g Q2FuJ3QgdGhpcyBnbyBmaXJzdCBpbiB0aGUgZnVuY3Rpb24/Cj4gCj4gQ29uY2VwdHVhbGx5IGl0 IGlzLiBBbmQgSSBtYWRlIGl0IHNvIGJlY2F1c2UgSSBhbHNvIGRlY2lkZWQgYWdhaW5zdAo+IGhh dmluZyB0aGUgUkVBRF9PTkNFKCkgYXQgdGhlIHRvcC4KCkJ1dCBSRUFEX09OQ0UgaXMgYXQgdGhl IHRvcCwganVzdCBhIGRpZmZlcmVudCBvbmUgd2hpY2ggaXMgZGlzY2FyZGVkIGlmIAp0aGlzIG9u ZSBpcyBOVUxMLgoKPiAKPj4+ICsKPj4+ICsgICAgIGludGVsX3RpbWVsaW5lX2dldCh0bCk7Cj4+ PiArICAgICBkbwo+Pj4gKyAgICAgICAgICAgICB0bC0+cmV0aXJlID0gcHRyX3BhY2tfYml0cyhm aXJzdCwgMSwgMSk7Cj4+Cj4+IEhlcmUgeW91IHJlbHkgb24gYXNzaWdubWVudCBiZWluZyBhdG9t aWMgcmlnaHQ/Cj4gCj4gSXNoLiBIZXJlIHdlIHJlbHkgb24gdGhlIHRpbWVsaW5lIGJlaW5nIG93 bmVkIGJ5IHRoZSBlbmdpbmUgc28gaXQgY2Fubm90Cj4gYmUgc3VibWl0dGVkIGJ5IGFub3RoZXIg KGFuZCBzbyBzY2hlZHVsZV9vdXQgY2FsbGVkKSB1bnRpbCB0aGlzIGVuZ2luZQo+IGhhcyByZWxl YXNlZCBpdC4KPiAKPiBJdCBpcyBhIHdlYWsgcG9pbnQgZm9yIGdlbmVyYWxpdHksIGJ1dCB0aGUg b3JkZXJpbmcgaXMgc3Ryb25nIGluCj4gZXhlY2xpc3RzLgo+IAo+Pj4gKyAgICAgd2hpbGUgKCF0 cnlfY21weGNoZygmZW5naW5lLT5yZXRpcmUsICZmaXJzdCwgdGwpKTsKPj4KPj4gU28gdGhlIGxv b3AgaXMgZWZmZWN0aXZlbHkgY3JlYXRpbmcgYSBjaGFpbiBvZiB0aW1lbGluZXMgdG8gcmV0aXJl IG9uCj4+IHRoaXMgZW5naW5lLgo+Pgo+PiBXaGF0IGhhcHBlbnMgd2l0aCB2aXJ0dWFsIGVuZ2lu ZXMgd2hlbiBhIHRpbWVsaW5lIGdvZXMgdG8gZGlmZmVyZW50Cj4+IGVuZ2luZSBiZWZvcmUgKHdl bGwgb3IgYW55IHNpbmdsZSB0aW1lbGluZSBjb250ZXh0KSB0aGUgcmV0aXJlIHdvcmtlcgo+PiBy dW5zPyBBaCBva2F5LCBpdCBnZXRzIHJlLWFzc2lnbmVkIHRvIHRoZSBtb3N0IHJlY2VudCBlbmdp bmUuCj4gCj4gUmlnaHQuIFRoZSBlbmdpbmVfcmV0aXJlKCkgZG9lc24ndCBjYXJlIHdoaWNoIGVu Z2luZSB0aGUgdGltZWxpbmVzIHdlcmUKPiBydW4gb24sIGl0J3MganVzdCBhIGxpc3Qgb2Ygc3Vz cGVjdGVkIGlkbGUgdGltZWxpbmVzLgo+IAo+PiBJIGFtIG5vdCBzdXJlIGFib3V0IHRoZSBCSVQo MCkgYnVzaW5lc3MuIEl0J3MgYWx3YXlzIHNldCBvbiB3cml0ZSBzbyBJCj4+IGFtIG5vdCBnZXR0 aW5nIHdoeSBpdCBpcyB1c2VmdWwuCj4gCj4gSXQncyBhbHNvIHNldCB0byAwIG9uIGNvbnN1bXB0 aW9uIDopCgpBbm90aGVyIHRoaW5nIC0gYXNzZXJ0IHRoYXQgZW5naW5lLT5yZXRpcmUgaXMgTlVM TCBhZnRlciBmbHVzaF93b3JrIGluIAppbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUgY291bGQgYmUg dXNlZnVsLgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng=