From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 14/20] drm/i915/gt: Track timeline activeness in enter/exit Date: Mon, 22 Jul 2019 17:14:23 +0100 Message-ID: References: <20190718070024.21781-1-chris@chris-wilson.co.uk> <20190718070024.21781-14-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 ESMTPS id C25D68984F for ; Mon, 22 Jul 2019 16:14:25 +0000 (UTC) In-Reply-To: <20190718070024.21781-14-chris@chris-wilson.co.uk> 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 Ck9uIDE4LzA3LzIwMTkgMDg6MDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBMaWZ0IG1vdmluZyB0 aGUgdGltZWxpbmUgdG8vZnJvbSB0aGUgYWN0aXZlX2xpc3Qgb24gZW50ZXIvZXhpdCBpbiBvcmRl cgo+IHRvIHNob3J0ZW4gdGhlIGFjdGl2ZSB0cmFja2luZyBzcGFuIGluIGNvbXBhcmlzb24gdG8g dGhlIGV4aXN0aW5nCj4gcGluL3VucGluLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3BtLmMgICAgICAgIHwgIDEgLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfY29udGV4dC5jICAgICAgIHwgIDIgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmMgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDQgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAgICAgIHwgOTggKysrKysrKy0tLS0tLS0tLS0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuaCAgICAgIHwgIDMgKy0KPiAg IC4uLi9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaCAgICB8ICAxICsKPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMgICB8ICAyIC0KPiAg IDggZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BtLmMKPiBpbmRleCA4ZmFmMjYyMjc4YWUu LjE5NWVlNmVlZGFjMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j Cj4gQEAgLTM5LDcgKzM5LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcGFyayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgIAkJaTkxNV9nZW1fYmF0Y2hfcG9vbF9maW5pKCZlbmdp bmUtPmJhdGNoX3Bvb2wpOwo+ICAgCX0KPiAgIAo+IC0JaW50ZWxfdGltZWxpbmVzX3BhcmsoaTkx NSk7Cj4gICAJaTkxNV92bWFfcGFya2VkKGk5MTUpOwo+ICAgCj4gICAJaTkxNV9nbG9iYWxzX3Bh cmsoKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4 dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jCj4gaW5kZXggOTgz MGVkZGExYWRlLi44N2M4NGNjMGY2NTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfY29udGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfY29udGV4dC5jCj4gQEAgLTI0MiwxMCArMjQyLDEyIEBAIGludCBfX2luaXQgaTkxNV9nbG9i YWxfY29udGV4dF9pbml0KHZvaWQpCj4gICB2b2lkIGludGVsX2NvbnRleHRfZW50ZXJfZW5naW5l KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKPiAgIHsKPiAgIAlpbnRlbF9lbmdpbmVfcG1fZ2V0 KGNlLT5lbmdpbmUpOwo+ICsJaW50ZWxfdGltZWxpbmVfZW50ZXIoY2UtPnJpbmctPnRpbWVsaW5l KTsKPiAgIH0KPiAgIAo+ICAgdm9pZCBpbnRlbF9jb250ZXh0X2V4aXRfZW5naW5lKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSkKPiAgIHsKPiArCWludGVsX3RpbWVsaW5lX2V4aXQoY2UtPnJpbmct PnRpbWVsaW5lKTsKPiAgIAlpbnRlbF9lbmdpbmVfcG1fcHV0KGNlLT5lbmdpbmUpOwo+ICAgfQo+ ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmMKPiBpbmRleCBl NzRmYmYwNGE2OGQuLjA3MmY2NWU2YTA5ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2VuZ2luZV9wbS5jCj4gQEAgLTg5LDYgKzg5LDcgQEAgc3RhdGljIGJvb2wgc3dpdGNo X3RvX2tlcm5lbF9jb250ZXh0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAo+ ICAgCS8qIENoZWNrIGFnYWluIG9uIHRoZSBuZXh0IHJldGlyZW1lbnQuICovCj4gICAJZW5naW5l LT53YWtlcmVmX3NlcmlhbCA9IGVuZ2luZS0+c2VyaWFsICsgMTsKPiArCWludGVsX3RpbWVsaW5l X2VudGVyKHJxLT50aW1lbGluZSk7Cj4gICAKPiAgIAlpOTE1X3JlcXVlc3RfYWRkX2JhcnJpZXJz KHJxKTsKPiAgIAlfX2k5MTVfcmVxdWVzdF9jb21taXQocnEpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2xyYy5jCj4gaW5kZXggODg0ZGZjMWNiMDMzLi5hY2ViOTkwYWUzYjkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IEBAIC0zMjUzLDYgKzMyNTMsOCBAQCBzdGF0 aWMgdm9pZCB2aXJ0dWFsX2NvbnRleHRfZW50ZXIoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+ ICAgCj4gICAJZm9yIChuID0gMDsgbiA8IHZlLT5udW1fc2libGluZ3M7IG4rKykKPiAgIAkJaW50 ZWxfZW5naW5lX3BtX2dldCh2ZS0+c2libGluZ3Nbbl0pOwo+ICsKPiArCWludGVsX3RpbWVsaW5l X2VudGVyKGNlLT5yaW5nLT50aW1lbGluZSk7CgpIZXJlIHdlIGNvdWxkbid0IGVudGVyIGFsbCBz aWJsaW5nIGNvbnRleHRzIGluc3RlYWQ/IFdvdWxkIGJlIGEgYml0IAp3YXN0ZWZ1bCBJIGd1ZXNz LiBBbmQgdGhlcmUgbXVzdCBiZSBhIHBsYWNlIHdoZXJlIGl0IGlzIGFscmVhZHkgZG9uZS4gCkJ1 dCBjYW4ndCBiZSBvbiBwaWNraW5nIHRoZSBlbmdpbmUsIHdoZXJlIGlzIGl0PwoKPiAgIH0KPiAg IAo+ICAgc3RhdGljIHZvaWQgdmlydHVhbF9jb250ZXh0X2V4aXQoc3RydWN0IGludGVsX2NvbnRl eHQgKmNlKQo+IEBAIC0zMjYwLDYgKzMyNjIsOCBAQCBzdGF0aWMgdm9pZCB2aXJ0dWFsX2NvbnRl eHRfZXhpdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCj4gICAJc3RydWN0IHZpcnR1YWxfZW5n aW5lICp2ZSA9IGNvbnRhaW5lcl9vZihjZSwgdHlwZW9mKCp2ZSksIGNvbnRleHQpOwo+ICAgCXVu c2lnbmVkIGludCBuOwo+ICAgCj4gKwlpbnRlbF90aW1lbGluZV9leGl0KGNlLT5yaW5nLT50aW1l bGluZSk7Cj4gKwo+ICAgCWZvciAobiA9IDA7IG4gPCB2ZS0+bnVtX3NpYmxpbmdzOyBuKyspCj4g ICAJCWludGVsX2VuZ2luZV9wbV9wdXQodmUtPnNpYmxpbmdzW25dKTsKPiAgIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKPiBpbmRleCA2ZGFhOWViNTllMTkuLjRh ZjBiOTgwMWQ5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90 aW1lbGluZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUu Ywo+IEBAIC0yNzgsNjQgKzI3OCwxMSBAQCB2b2lkIGludGVsX3RpbWVsaW5lc19pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAgCXRpbWVsaW5lc19pbml0KCZpOTE1LT5ndCk7 Cj4gICB9Cj4gICAKPiAtc3RhdGljIHZvaWQgdGltZWxpbmVfYWRkX3RvX2FjdGl2ZShzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRsKQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfZ3RfdGltZWxpbmVzICpn dCA9ICZ0bC0+Z3QtPnRpbWVsaW5lczsKPiAtCj4gLQltdXRleF9sb2NrKCZndC0+bXV0ZXgpOwo+ IC0JbGlzdF9hZGQoJnRsLT5saW5rLCAmZ3QtPmFjdGl2ZV9saXN0KTsKPiAtCW11dGV4X3VubG9j aygmZ3QtPm11dGV4KTsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdGltZWxpbmVfcmVtb3ZlX2Zy b21fYWN0aXZlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCj4gLXsKPiAtCXN0cnVjdCBpbnRl bF9ndF90aW1lbGluZXMgKmd0ID0gJnRsLT5ndC0+dGltZWxpbmVzOwo+IC0KPiAtCW11dGV4X2xv Y2soJmd0LT5tdXRleCk7Cj4gLQlsaXN0X2RlbCgmdGwtPmxpbmspOwo+IC0JbXV0ZXhfdW5sb2Nr KCZndC0+bXV0ZXgpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB0aW1lbGluZXNfcGFyayhzdHJ1 Y3QgaW50ZWxfZ3QgKmd0KQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfZ3RfdGltZWxpbmVzICp0aW1l bGluZXMgPSAmZ3QtPnRpbWVsaW5lczsKPiAtCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxp bmU7Cj4gLQo+IC0JbXV0ZXhfbG9jaygmdGltZWxpbmVzLT5tdXRleCk7Cj4gLQlsaXN0X2Zvcl9l YWNoX2VudHJ5KHRpbWVsaW5lLCAmdGltZWxpbmVzLT5hY3RpdmVfbGlzdCwgbGluaykgewo+IC0J CS8qCj4gLQkJICogQWxsIGtub3duIGZlbmNlcyBhcmUgY29tcGxldGVkIHNvIHdlIGNhbiBzY3Jh cAo+IC0JCSAqIHRoZSBjdXJyZW50IHN5bmMgcG9pbnQgdHJhY2tpbmcgYW5kIHN0YXJ0IGFmcmVz aCwKPiAtCQkgKiBhbnkgYXR0ZW1wdCB0byB3YWl0IHVwb24gYSBwcmV2aW91cyBzeW5jIHBvaW50 Cj4gLQkJICogd2lsbCBiZSBza2lwcGVkIGFzIHRoZSBmZW5jZSB3YXMgc2lnbmFsZWQuCj4gLQkJ ICovCj4gLQkJaTkxNV9zeW5jbWFwX2ZyZWUoJnRpbWVsaW5lLT5zeW5jKTsKPiAtCX0KPiAtCW11 dGV4X3VubG9jaygmdGltZWxpbmVzLT5tdXRleCk7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBpbnRl bF90aW1lbGluZXNfcGFyayAtIGNhbGxlZCB3aGVuIHRoZSBkcml2ZXIgaWRsZXMKPiAtICogQGk5 MTU6IHRoZSBkcm1faTkxNV9wcml2YXRlIGRldmljZQo+IC0gKgo+IC0gKiBXaGVuIHRoZSBkcml2 ZXIgaXMgY29tcGxldGVseSBpZGxlLCB3ZSBrbm93IHRoYXQgYWxsIG9mIG91ciBzeW5jIHBvaW50 cwo+IC0gKiBoYXZlIGJlZW4gc2lnbmFsZWQgYW5kIG91ciB0cmFja2luZyBpcyB0aGVuIGVudGly ZWx5IHJlZHVuZGFudC4gQW55IHJlcXVlc3QKPiAtICogdG8gd2FpdCB1cG9uIGFuIG9sZGVyIHN5 bmMgcG9pbnQgd2lsbCBiZSBjb21wbGV0ZWQgaW5zdGFudGx5IGFzIHdlIGtub3cKPiAtICogdGhl IGZlbmNlIGlzIHNpZ25hbGVkIGFuZCB0aGVyZWZvcmUgd2Ugd2lsbCBub3QgZXZlbiBsb29rIHRo ZW0gdXAgaW4gdGhlCj4gLSAqIHN5bmMgcG9pbnQgbWFwLgo+IC0gKi8KPiAtdm9pZCBpbnRlbF90 aW1lbGluZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAtewo+IC0JdGlt ZWxpbmVzX3BhcmsoJmk5MTUtPmd0KTsKPiAtfQo+IC0KPiAgIHZvaWQgaW50ZWxfdGltZWxpbmVf ZmluaShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKQo+ICAgewo+ICAgCUdFTV9CVUdf T04odGltZWxpbmUtPnBpbl9jb3VudCk7Cj4gICAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmdGlt ZWxpbmUtPnJlcXVlc3RzKSk7Cj4gICAKPiAtCWk5MTVfc3luY21hcF9mcmVlKCZ0aW1lbGluZS0+ c3luYyk7Cj4gLQo+ICAgCWlmICh0aW1lbGluZS0+aHdzcF9jYWNoZWxpbmUpCj4gICAJCWNhY2hl bGluZV9mcmVlKHRpbWVsaW5lLT5od3NwX2NhY2hlbGluZSk7Cj4gICAJZWxzZQo+IEBAIC0zNzAs NiArMzE3LDcgQEAgaW50IGludGVsX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsKQo+ICAgCWlmICh0bC0+cGluX2NvdW50KyspCj4gICAJCXJldHVybiAwOwo+ICAgCUdFTV9C VUdfT04oIXRsLT5waW5fY291bnQpOwo+ICsJR0VNX0JVR19PTih0bC0+YWN0aXZlX2NvdW50KTsK PiAgIAo+ICAgCWVyciA9IGk5MTVfdm1hX3Bpbih0bC0+aHdzcF9nZ3R0LCAwLCAwLCBQSU5fR0xP QkFMIHwgUElOX0hJR0gpOwo+ICAgCWlmIChlcnIpCj4gQEAgLTM4MCw3ICszMjgsNiBAQCBpbnQg aW50ZWxfdGltZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCj4gICAJCW9mZnNl dF9pbl9wYWdlKHRsLT5od3NwX29mZnNldCk7Cj4gICAKPiAgIAljYWNoZWxpbmVfYWNxdWlyZSh0 bC0+aHdzcF9jYWNoZWxpbmUpOwo+IC0JdGltZWxpbmVfYWRkX3RvX2FjdGl2ZSh0bCk7Cj4gICAK PiAgIAlyZXR1cm4gMDsKPiAgIAo+IEBAIC0zODksNiArMzM2LDQwIEBAIGludCBpbnRlbF90aW1l bGluZV9waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKPiAgIAlyZXR1cm4gZXJyOwo+ICAg fQo+ICAgCj4gK3ZvaWQgaW50ZWxfdGltZWxpbmVfZW50ZXIoc3RydWN0IGludGVsX3RpbWVsaW5l ICp0bCkKPiArewo+ICsJc3RydWN0IGludGVsX2d0X3RpbWVsaW5lcyAqdGltZWxpbmVzID0gJnRs LT5ndC0+dGltZWxpbmVzOwo+ICsKPiArCUdFTV9CVUdfT04oIXRsLT5waW5fY291bnQpOwo+ICsJ aWYgKHRsLT5hY3RpdmVfY291bnQrKykKPiArCQlyZXR1cm47Cj4gKwlHRU1fQlVHX09OKCF0bC0+ YWN0aXZlX2NvdW50KTsgLyogb3ZlcmZsb3c/ICovCj4gKwo+ICsJbXV0ZXhfbG9jaygmdGltZWxp bmVzLT5tdXRleCk7Cj4gKwlsaXN0X2FkZCgmdGwtPmxpbmssICZ0aW1lbGluZXMtPmFjdGl2ZV9s aXN0KTsKPiArCW11dGV4X3VubG9jaygmdGltZWxpbmVzLT5tdXRleCk7Cj4gK30KPiArCj4gK3Zv aWQgaW50ZWxfdGltZWxpbmVfZXhpdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQo+ICt7Cj4g KwlzdHJ1Y3QgaW50ZWxfZ3RfdGltZWxpbmVzICp0aW1lbGluZXMgPSAmdGwtPmd0LT50aW1lbGlu ZXM7Cj4gKwo+ICsJR0VNX0JVR19PTighdGwtPmFjdGl2ZV9jb3VudCk7Cj4gKwlpZiAoLS10bC0+ YWN0aXZlX2NvdW50KQo+ICsJCXJldHVybjsKPiArCj4gKwltdXRleF9sb2NrKCZ0aW1lbGluZXMt Pm11dGV4KTsKPiArCWxpc3RfZGVsKCZ0bC0+bGluayk7Cj4gKwltdXRleF91bmxvY2soJnRpbWVs aW5lcy0+bXV0ZXgpOwoKU28gd2UgZW5kIHVwIHdpdGggb25lIGxvY2sgcHJvdGVjdGluZyB0bC0+ YWN0aXZlX2NvdW50IGFuZCBhbm90aGVyIGZvciAKdGhlIGxpc3Qgb2YgYWN0aXZlIHRpbWVsaW5l cz8KCj4gKwo+ICsJLyoKPiArCSAqIFNpbmNlIHRoaXMgdGltZWxpbmUgaXMgaWRsZSwgYWxsIGJh cmllcnMgdXBvbiB3aGljaCB3ZSB3ZXJlIHdhaXRpbmcKPiArCSAqIG11c3QgYWxzbyBiZSBjb21w bGV0ZSBhbmQgc28gd2UgY2FuIGRpc2NhcmQgdGhlIGxhc3QgdXNlZCBiYXJyaWVycwo+ICsJICog d2l0aG91dCBsb3NzIG9mIGluZm9ybWF0aW9uLgo+ICsJICovCj4gKwlpOTE1X3N5bmNtYXBfZnJl ZSgmdGwtPnN5bmMpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHUzMiB0aW1lbGluZV9hZHZhbmNlKHN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCj4gICB7Cj4gICAJR0VNX0JVR19PTighdGwtPnBpbl9j b3VudCk7Cj4gQEAgLTU0NiwxNiArNTI3LDkgQEAgdm9pZCBpbnRlbF90aW1lbGluZV91bnBpbihz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQo+ICAgCWlmICgtLXRsLT5waW5fY291bnQpCj4gICAJ CXJldHVybjsKPiAgIAo+IC0JdGltZWxpbmVfcmVtb3ZlX2Zyb21fYWN0aXZlKHRsKTsKPiArCUdF TV9CVUdfT04odGwtPmFjdGl2ZV9jb3VudCk7Cj4gICAJY2FjaGVsaW5lX3JlbGVhc2UodGwtPmh3 c3BfY2FjaGVsaW5lKTsKPiAgIAo+IC0JLyoKPiAtCSAqIFNpbmNlIHRoaXMgdGltZWxpbmUgaXMg aWRsZSwgYWxsIGJhcmllcnMgdXBvbiB3aGljaCB3ZSB3ZXJlIHdhaXRpbmcKPiAtCSAqIG11c3Qg YWxzbyBiZSBjb21wbGV0ZSBhbmQgc28gd2UgY2FuIGRpc2NhcmQgdGhlIGxhc3QgdXNlZCBiYXJy aWVycwo+IC0JICogd2l0aG91dCBsb3NzIG9mIGluZm9ybWF0aW9uLgo+IC0JICovCj4gLQlpOTE1 X3N5bmNtYXBfZnJlZSgmdGwtPnN5bmMpOwo+IC0KPiAgIAlfX2k5MTVfdm1hX3VucGluKHRsLT5o d3NwX2dndHQpOwo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3RpbWVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1l bGluZS5oCj4gaW5kZXggZTA4Y2ViZjY0ODMzLi5mNTgzYWYxYmExOGQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKPiBAQCAtNzcsOSArNzcsMTEgQEAgc3Rh dGljIGlubGluZSBib29sIGludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGludGVs X3RpbWVsaW5lICp0bCwKPiAgIH0KPiAgIAo+ICAgaW50IGludGVsX3RpbWVsaW5lX3BpbihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsKPiArdm9pZCBpbnRlbF90aW1lbGluZV9lbnRlcihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsKPiAgIGludCBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8o c3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKPiAgIAkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEsCj4gICAJCQkgICAgIHUzMiAqc2Vxbm8pOwo+ICt2b2lkIGludGVsX3RpbWVsaW5lX2V4 aXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCk7Cj4gICB2b2lkIGludGVsX3RpbWVsaW5lX3Vu cGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpOwo+ICAgCj4gICBpbnQgaW50ZWxfdGltZWxp bmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCj4gQEAgLTg3LDcgKzg5LDYg QEAgaW50IGludGVsX3RpbWVsaW5lX3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9t LAo+ICAgCQkJICAgICB1MzIgKmh3c3Bfb2Zmc2V0KTsKPiAgIAo+ICAgdm9pZCBpbnRlbF90aW1l bGluZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4gLXZvaWQgaW50ZWxf dGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ICAgdm9pZCBp bnRlbF90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4gICAK PiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90 aW1lbGluZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVf dHlwZXMuaAo+IGluZGV4IDlhNzFhZWE3YTMzOC4uYjgyMGVlNzZiN2Y1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lX3R5cGVzLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZV90eXBlcy5oCj4gQEAgLTU4LDYg KzU4LDcgQEAgc3RydWN0IGludGVsX3RpbWVsaW5lIHsKPiAgIAkgKi8KPiAgIAlzdHJ1Y3QgaTkx NV9zeW5jbWFwICpzeW5jOwo+ICAgCj4gKwl1bnNpZ25lZCBpbnQgYWN0aXZlX2NvdW50OwoKSXMg aXQgYmVjb21pbmcgbm9uLW9idmlvdXMgd2hhdCBpcyBwaW5fY291bnQgYW5kIHdoYXQgaXMgYWN0 aXZlX2NvdW50PyBJIApzdWdnZXN0IHNvbWUgY29tbWVudHMgZHJvcHBlZCBhbG9uZyB0aGUgbWVt YmVycyBoZXJlLgoKPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Cj4gICAJc3RydWN0IGludGVs X2d0ICpndDsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxm dGVzdF90aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxp bmUuYwo+IGluZGV4IGYwYTg0MDAzMDM4Mi4uZDU0MTEzNjk3NzQ1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jCj4gQEAgLTgxNiw4ICs4MTYsNiBA QCBzdGF0aWMgaW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKPiAgIAo+ICAgCQkJaWYg KGVycikKPiAgIAkJCQlnb3RvIG91dDsKPiAtCj4gLQkJCWludGVsX3RpbWVsaW5lc19wYXJrKGk5 MTUpOyAvKiBFbmNvdXJhZ2UgcmVjeWNsaW5nISAqLwo+ICAgCQl9IHdoaWxlICghX19pZ3RfdGlt ZW91dChlbmRfdGltZSwgTlVMTCkpOwo+ICAgCX0KPiAgIAo+IAoKUmVnYXJkcywKClR2cnRrbwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=