From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [RFC] drm/i915: Move execlists irq handler to a bottom half Date: Wed, 23 Mar 2016 12:46:35 +0000 Message-ID: <56F2902B.3030506@linux.intel.com> References: <1458667804-14121-1-git-send-email-tvrtko.ursulin@linux.intel.com> <20160323090735.GM28483@phenom.ffwll.local> <20160323091427.GB21717@nuc-i3427.alporthouse.com> <56F26B2E.3040401@linux.intel.com> <20160323113137.GD21717@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id DBDFE6E7ED for ; Wed, 23 Mar 2016 12:46:36 +0000 (UTC) In-Reply-To: <20160323113137.GD21717@nuc-i3427.alporthouse.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 , Daniel Vetter , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIzLzAzLzE2IDExOjMxLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gT24gV2VkLCBNYXIgMjMs IDIwMTYgYXQgMTA6MDg6NDZBTSArMDAwMCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Cj4+IE9u IDIzLzAzLzE2IDA5OjE0LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4+PiBPbiBXZWQsIE1hciAyMywg MjAxNiBhdCAxMDowNzozNUFNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+Pj4+IE9uIFR1 ZSwgTWFyIDIyLCAyMDE2IGF0IDA1OjMwOjA0UE0gKzAwMDAsIFR2cnRrbyBVcnN1bGluIHdyb3Rl Ogo+Pj4+PiBGcm9tOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+ Pj4+Pgo+Pj4+PiBEb2luZyBhIGxvdCBvZiB3b3JrIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBp bnRyb2R1Y2VzIGh1Z2UKPj4+Pj4gbGF0ZW5jaWVzIHRvIHRoZSBzeXN0ZW0gYXMgYSB3aG9sZS4K Pj4+Pj4KPj4+Pj4gTW9zdCBkcmFtYXRpYyBlZmZlY3QgY2FuIGJlIHNlZW4gYnkgcnVubmluZyBh biBhbGwgZW5naW5lCj4+Pj4+IHN0cmVzcyB0ZXN0IGxpa2UgaWd0L2dlbV9leGVjX25vcC9hbGwg d2hlcmUsIHdoZW4gdGhlIGtlcm5lbAo+Pj4+PiBjb25maWcgaXMgbGVhbiBlbm91Z2gsIHRoZSB3 aG9sZSBzeXN0ZW0gY2FuIGJlIGJyb3VnaHQgaW50bwo+Pj4+PiBtdWx0aS1zZWNvbmQgcGVyaW9k cyBvZiBjb21wbGV0ZSBub24taW50ZXJhY3RpdnR5LiBUaGF0IGNhbgo+Pj4+PiBsb29rIGZvciBl eGFtcGxlIGxpa2UgdGhpczoKPj4+Pj4KPj4+Pj4gICBOTUkgd2F0Y2hkb2c6IEJVRzogc29mdCBs b2NrdXAgLSBDUFUjMCBzdHVjayBmb3IgMjNzISBba3dvcmtlci91ODozOjE0M10KPj4+Pj4gICBN b2R1bGVzIGxpbmtlZCBpbjogW3JlZGFjdGVkIGZvciBicmV2aXR5XQo+Pj4+PiAgIENQVTogMCBQ SUQ6IDE0MyBDb21tOiBrd29ya2VyL3U4OjMgVGFpbnRlZDogRyAgICAgVSAgICAgICBMICA0LjUu MC0xNjAzMjErICMxODMKPj4+Pj4gICBIYXJkd2FyZSBuYW1lOiBJbnRlbCBDb3Jwb3JhdGlvbiBC cm9hZHdlbGwgQ2xpZW50IHBsYXRmb3JtL1doaXRlVGlwIE1vdW50YWluIDEKPj4+Pj4gICBXb3Jr cXVldWU6IGk5MTUgZ2VuNl9wbV9ycHNfd29yayBbaTkxNV0KPj4+Pj4gICB0YXNrOiBmZmZmODgw MGFhZTg4MDAwIHRpOiBmZmZmODgwMGFhZTkwMDAwIHRhc2sudGk6IGZmZmY4ODAwYWFlOTAwMDAK Pj4+Pj4gICBSSVA6IDAwMTA6WzxmZmZmZmZmZjgxMDRhM2MyPl0gIFs8ZmZmZmZmZmY4MTA0YTNj Mj5dIF9fZG9fc29mdGlycSsweDcyLzB4MWQwCj4+Pj4+ICAgUlNQOiAwMDAwOmZmZmY4ODAxNGY0 MDNmMzggIEVGTEFHUzogMDAwMDAyMDYKPj4+Pj4gICBSQVg6IGZmZmY4ODAwYWFlOTQwMDAgUkJY OiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogMDAwMDAwMDAwMDAwMDZlMAo+Pj4+PiAgIFJEWDogMDAw MDAwMDAwMDAwMDAyMCBSU0k6IDAwMDAwMDAwMDQyMDgwNjAgUkRJOiAwMDAwMDAwMDAwMjE1ZDgw Cj4+Pj4+ICAgUkJQOiBmZmZmODgwMTRmNDAzZjgwIFIwODogMDAwMDAwMGIxYjQyYzE4MCBSMDk6 IDAwMDAwMDAwMDAwMDAwMjIKPj4+Pj4gICBSMTA6IDAwMDAwMDAwMDAwMDAwMDQgUjExOiAwMDAw MDAwMGZmZmZmZmZmIFIxMjogMDAwMDAwMDAwMDAwYTAzMAo+Pj4+PiAgIFIxMzogMDAwMDAwMDAw MDAwMDA4MiBSMTQ6IGZmZmY4ODAwYWE0ZDAwODAgUjE1OiAwMDAwMDAwMDAwMDAwMDgyCj4+Pj4+ ICAgRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODAxNGY0MDAwMDAoMDAwMCkg a25sR1M6MDAwMDAwMDAwMDAwMDAwMAo+Pj4+PiAgIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAw MCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKPj4+Pj4gICBDUjI6IDAwMDA3ZmE1M2I5MGMwMDAgQ1Iz OiAwMDAwMDAwMDAxYTBhMDAwIENSNDogMDAwMDAwMDAwMDE0MDZmMAo+Pj4+PiAgIERSMDogMDAw MDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAw Cj4+Pj4+ICAgRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6 IDAwMDAwMDAwMDAwMDA0MDAKPj4+Pj4gICBTdGFjazoKPj4+Pj4gICAgMDQyMDgwNjAxYjMzODY5 ZiBmZmZmODgwMGFhZTk0MDAwIDAwMDAwMDAwZmZmYzI2NzggZmZmZjg4MDEwMDAwMDAwYQo+Pj4+ PiAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMGEwMzAgMDAwMDAwMDAwMDAwNTMwMiBm ZmZmODgwMGFhNGQwMDgwCj4+Pj4+ICAgIDAwMDAwMDAwMDAwMDAyMDYgZmZmZjg4MDE0ZjQwM2Y5 MCBmZmZmZmZmZjgxMDRhNzE2IGZmZmY4ODAxNGY0MDNmYTgKPj4+Pj4gICBDYWxsIFRyYWNlOgo+ Pj4+PiAgICA8SVJRPgo+Pj4+PiAgICBbPGZmZmZmZmZmODEwNGE3MTY+XSBpcnFfZXhpdCsweDg2 LzB4OTAKPj4+Pj4gICAgWzxmZmZmZmZmZjgxMDMxZTdkPl0gc21wX2FwaWNfdGltZXJfaW50ZXJy dXB0KzB4M2QvMHg1MAo+Pj4+PiAgICBbPGZmZmZmZmZmODE0ZjNlYWM+XSBhcGljX3RpbWVyX2lu dGVycnVwdCsweDdjLzB4OTAKPj4+Pj4gICAgPEVPST4KPj4+Pj4gICAgWzxmZmZmZmZmZmEwMWM1 YjQwPl0gPyBnZW44X3dyaXRlNjQrMHgxYTAvMHgxYTAgW2k5MTVdCj4+Pj4+ICAgIFs8ZmZmZmZm ZmY4MTRmMmIzOT5dID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4OS8weDIwCj4+Pj4+ ICAgIFs8ZmZmZmZmZmZhMDFjNWM0ND5dIGdlbjhfd3JpdGUzMisweDEwNC8weDFhMCBbaTkxNV0K Pj4+Pj4gICAgWzxmZmZmZmZmZjgxMzJjNmEyPl0gPyBuX3R0eV9yZWNlaXZlX2J1Zl9jb21tb24r MHgzNzIvMHhhZTAKPj4+Pj4gICAgWzxmZmZmZmZmZmEwMTdjYzllPl0gZ2VuNl9zZXRfcnBzX3Ro cmVzaG9sZHMrMHgxYmUvMHgzMzAgW2k5MTVdCj4+Pj4+ICAgIFs8ZmZmZmZmZmZhMDE3ZWFmMD5d IGdlbjZfc2V0X3JwcysweDcwLzB4MjAwIFtpOTE1XQo+Pj4+PiAgICBbPGZmZmZmZmZmYTAxODUz NzU+XSBpbnRlbF9zZXRfcnBzKzB4MjUvMHgzMCBbaTkxNV0KPj4+Pj4gICAgWzxmZmZmZmZmZmEw MTc2OGZkPl0gZ2VuNl9wbV9ycHNfd29yaysweDEwZC8weDJlMCBbaTkxNV0KPj4+Pj4gICAgWzxm ZmZmZmZmZjgxMDYzODUyPl0gPyBmaW5pc2hfdGFza19zd2l0Y2grMHg3Mi8weDFjMAo+Pj4+PiAg ICBbPGZmZmZmZmZmODEwNWFiMjk+XSBwcm9jZXNzX29uZV93b3JrKzB4MTM5LzB4MzUwCj4+Pj4+ ICAgIFs8ZmZmZmZmZmY4MTA1YjE4Nj5dIHdvcmtlcl90aHJlYWQrMHgxMjYvMHg0OTAKPj4+Pj4g ICAgWzxmZmZmZmZmZjgxMDViMDYwPl0gPyByZXNjdWVyX3RocmVhZCsweDMyMC8weDMyMAo+Pj4+ PiAgICBbPGZmZmZmZmZmODEwNWZhNjQ+XSBrdGhyZWFkKzB4YzQvMHhlMAo+Pj4+PiAgICBbPGZm ZmZmZmZmODEwNWY5YTA+XSA/IGt0aHJlYWRfY3JlYXRlX29uX25vZGUrMHgxNzAvMHgxNzAKPj4+ Pj4gICAgWzxmZmZmZmZmZjgxNGYzNTFmPl0gcmV0X2Zyb21fZm9yaysweDNmLzB4NzAKPj4+Pj4g ICAgWzxmZmZmZmZmZjgxMDVmOWEwPl0gPyBrdGhyZWFkX2NyZWF0ZV9vbl9ub2RlKzB4MTcwLzB4 MTcwCj4+Pj4+Cj4+Pj4+IEkgY291bGQgbm90IGV4cGxhaW4sIG9yIGZpbmQgYSBjb2RlIHBhdGgs IHdoaWNoIHdvdWxkIGV4cGxhaW4KPj4+Pj4gYSArMjAgc2Vjb25kIGxvY2t1cCwgYnV0IGZyb20g c29tZSBpbnN0cnVtZW50YXRpb24gaXQgd2FzCj4+Pj4+IGFwcGFyZW50IHRoZSBpbnRlcnJ1cHRz IG9mZiBwcm9wb3J0aW9uIG9mIHRpbWUgd2FzIGJldHdlZW4KPj4+Pj4gMTAtMjUlIHVuZGVyIGhl YXZ5IGxvYWQgd2hpY2ggaXMgcXVpdGUgYmFkLgo+Pj4+Pgo+Pj4+PiBCeSBtb3ZpbmcgdGhlIEdU IGludGVycnVwdCBoYW5kbGluZyB0byBhIHRhc2tsZXQgaW4gYSBtb3N0Cj4+Pj4+IHNpbXBsZSB3 YXksIHRoZSBwcm9ibGVtIGFib3ZlIGRpc2FwcGVhcnMgY29tcGxldGVseS4KPj4+Pj4KPj4+Pj4g QWxzbywgZ2VtX2xhdGVuY3kgLW4gMTAwIHNob3dzIDI1JSBiZXR0ZXIgdGhyb3VnaHB1dCBhbmQg Q1BVCj4+Pj4+IHVzYWdlLCBhbmQgMTQlIGJldHRlciBsYXRlbmNpZXMuCj4+Pgo+Pj4gRm9yZ290 IGdlbV9zeXNsYXRlbmN5LCBzaW5jZSB0aGF0IGRvZXMgcmVmbGVjdCBVWCB1bmRlciBsb2FkIHJl YWxseQo+Pj4gc3RhcnRsaW5nbHkgd2VsbC4KPj4KPj4gZ2VtX3N5c2xhdGVuY3ksIGJlZm9yZToK Pj4KPj4gZ2VtX3N5c2xhdGVuY3k6IGN5Y2xlcz0xNTMyNzM5LCBsYXRlbmN5IG1lYW49NDE2NTMx LjgyOXVzIG1heD0yNDk5MjM3dXMKPj4gZ2VtX3N5c2xhdGVuY3k6IGN5Y2xlcz0xODM5NDM0LCBs YXRlbmN5IG1lYW49MTQ1ODA5OS4xNTd1cyBtYXg9NDk5ODk0NHVzCj4+IGdlbV9zeXNsYXRlbmN5 OiBjeWNsZXM9MTQzMjU3MCwgbGF0ZW5jeSBtZWFuPTI2ODguNDUxdXMgbWF4PTEyMDExODV1cwo+ PiBnZW1fc3lzbGF0ZW5jeTogY3ljbGVzPTE1MzM1NDMsIGxhdGVuY3kgbWVhbj00MTY1MjAuNDk5 dXMgbWF4PTI0OTg4ODZ1cwo+Pgo+PiB3aXRoIHRhc2tsZXQ6Cj4+Cj4+IGdlbV9zeXNsYXRlbmN5 OiBjeWNsZXM9ODA4OTA3LCBsYXRlbmN5IG1lYW49NTMuMTMzdXMgbWF4PTE2NDB1cwo+PiBnZW1f c3lzbGF0ZW5jeTogY3ljbGVzPTg2MjE1NCwgbGF0ZW5jeSBtZWFuPTYyLjc3OHVzIG1heD0yMTE3 dXMKPj4gZ2VtX3N5c2xhdGVuY3k6IGN5Y2xlcz04NTYwMzksIGxhdGVuY3kgbWVhbj01OC4wNzl1 cyBtYXg9MjEyM3VzCj4+IGdlbV9zeXNsYXRlbmN5OiBjeWNsZXM9ODQxNjgzLCBsYXRlbmN5IG1l YW49NTYuOTE0dXMgbWF4PTE2Njd1cwo+Pgo+PiBJcyB0aGlzIHNtYWxsZXIgdGhyb3VnaHB1dCBh bmQgYmV0dGVyIGxhdGVuY3k/Cj4KPiBZZWFoLiBJIHdhc24ndCBleHBlY3RpbmcgdGhlIHNtYWxs ZXIgdGhyb3VnaHB1dCwgYnV0IHRoZSBpbXBhY3Qgb24gb3RoZXIKPiB1c2VycyBpcyBtYXNzaXZl LiBZb3Ugc2hvdWxkIGJlIGFibGUgdG8gZmVlbCB0aGUgZGlmZmVyZW5jZSBpZiB5b3UgdHJ5Cj4g dG8gdXNlIHRoZSBtYWNoaW5lIHdoaWxzdCBnZW1fc3lzbGF0ZW5jeSBvciBnZW1fZXhlY19ub3Ag aXMgcnVubmluZywgYQo+IGRlbGF5IG9mIHVwIHRvIDJzIGluIHJlc3BvbmRpbmcgdG8gaHVtYW4g aW5wdXQgY2FuIGJlIGFubm95aW5nIQoKWWVzLCBpbXBhY3QgaXMgZWFzaWx5IGZlbHQuCgo+PiBn ZW1fZXhlY19ub3AvYWxsIGhhcyBhIGh1Z2UgaW1wcm92ZW1lbnQgYWxzbywgaWYgd2UgaWdub3Jl IHRoZSBmYWN0Cj4+IGl0IGxvY2tzIHVwIHRoZSBzeXN0ZW0gd2l0aCB0aGUgY3VycmV0IGlycSBo YW5kbGVyIG9uIGZ1bGwgdGlsdCwKPj4gd2hlbiBJIGxpbWl0IHRoZSBtYXggR1BVIGZyZXF1ZW5j eSBhIGJpdCBpdCBjYW4gYXZvaWQgdGhhdCBwcm9ibGVtCj4+IGJ1dCB0YXNrbGV0cyBtYWtlIGl0 IHR3aWNlIGFzIGZhc3QgaGVyZS4KPgo+IFllcywgd2l0aCB0aHJlYWRlZCBzdWJtaXNzaW9uIGNh biB0aGVuIGNvbmN1cnJlbnRseSBzdWJtaXQgcmVxdWVzdHMgdG8KPiBtdWx0aXBsZSByaW5ncy4g SSB0YWtlIGl0IHlvdSBoYXZlIGEgMi1wcm9jZXNzb3IgbWFjaGluZT8gV2Ugc2hvdWxkCj4gaWRl YWxseSBzZWUgbGluZWFyIHNjYWxpbmcgdXB0byBtaW4obnVtX2VuZ2luZXMsIG5wcm9jLTEpIGlm IHdlIGFzc3VtZQo+IHRoYXQgb25lIGNwdSBpcyBlbm91Z2ggdG8gc3VzdGFpbiBnZW1fZXhlY2J1 ZigpIGlvY3Rscy4KCjJDLzRUIGNvcnJlY3QuCgo+Pj4+PiBJIGRpZCBub3QgZmluZCBhbnkgZ2Fp bnMgb3IgcmVncmVzc2lvbnMgd2l0aCBTeW5tYXJrMiBvcgo+Pj4+PiBHTGJlbmNoIHVuZGVyIGxp Z2h0IHRlc3RpbmcuIE1vcmUgYmVuY2htYXJraW5nIGlzIGNlcnRhaW5seQo+Pj4+PiByZXF1aXJl ZC4KPj4+Pj4KPj4+Cj4+PiBCdWd6aWxsYT8KPj4KPj4gWW91IHRoaW5rIGl0IGlzIE9LIHRvIGNv bnRpbnVlIHNoYXJpbmcgeW91ciBvbmUsCj4+IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcv c2hvd19idWcuY2dpP2lkPTkzNDY3Pwo+Cj4gWWVzLCBpdCBmaXhlcyB0aGUgc2FtZSBmcmVlemUg KGFuZCB3ZSd2ZSByZW1vdmVkIHRoZSBsb29wIGZyb20gY2h2IGlycQo+IHNvIHRoZXJlIHJlYWxs eSBzaG91bGRuJ3QgYmUgYW55IG90aGVycyBsZWZ0ISkKCkkgZG9uJ3Qgc2VlIHRoYXQgaGFzIGJl ZW4gbWVyZ2VkLiBJcyBpdCBhbGwgcmVhZHkgQ0kgd2lzZSBzbyB3ZSBjb3VsZD8KCj4+Pj4+IFNp Z25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+ Pj4+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPj4+Pgo+Pj4+ IEkgdGhvdWdodCB0YXNrbGV0cyBhcmUgY29uc2lkZXJlZCB1bnBvcHVsYXIgbm93YWRheXM/IFRo ZXkgc3RpbGwgc3RlYWwgY3B1Cj4+Cj4+IERpZCBub3Qga25vdywgbGFzdCAoYW5kIGZpcnN0KSB0 aW1lIEkndmUgdXNlZCB0aGVtIHdhcyB+MTUgeWVhcnMKPj4gYWdvLiA6KSBZb3UgZ290IGFueSBs aW5rcyB0byByZWFkIGFib3V0IGl0PyBTaW5jZSAoc2VlIGJlbG93KSBJIGFtCj4+IG5vdCBzdXJl IHRoZXkgInN0ZWFsIiBDUFUgdGltZS4KPj4KPj4+PiB0aW1lLCBqdXN0IGhhdmUgdGhlIGJlbmVm aXQgb2Ygbm90IGFsc28gZGlzYWJsaW5nIGhhcmQgaW50ZXJydXB0cy4gVGhlcmUKPj4+PiBzaG91 bGQgYmUgbWl0aWdhdGlvbiB0aG91Z2ggdG8gb2ZmbG9hZCB0aGVzZSBzb2Z0aW50ZXJydXB0cyB0 byB0aHJlYWRzLgo+Pj4+IEhhdmUgeW91IHRyaWVkIHRvIGNyZWF0ZSBhIHRocmVhZGVkIGludGVy cnVwdCB0aHJlYWQganVzdCBmb3IgdGhlc2UgcGlucwo+Pj4+IGluc3RlYWQ/IEEgYml0IG9mIGJv aWxlcnBsYXRlLCBidXQgbm90IG11Y2ggdXNpbmcgdGhlIGdlbmlycSBzdHVmZiBpaXJjLgo+Pj4K Pj4+IEFoLCB5b3UgaGF2ZW4ndCBiZWVuIHJlYWRpbmcgcGF0Y2hlcy4gWWVzLCB0aGVyZSdzIGJl ZW4gYSBwYXRjaCB0byBmaXgKPj4+IHRoZSBoYXJkbG9ja3VwIHVzaW5nIGt0aHJlYWRzIGZvciBh IGZldyBtb250aHMuIFR2cnRrbyBpcyB0cnlpbmcgdG8gbW92ZQo+Pj4gdGhpcyBmb3J3YXJkIHNp bmNlIGhlIHRvbyBoYXMgZm91bmQgYSB3YXkgb2YgbG9ja2luZyB1cCBoaXMgbWFjaGluZQo+Pj4g dXNpbmcgZXhlY2xpc3QgdW5kZXIgbG9hZC4KPj4KPj4gQ29ycmVjdC4KPj4KPj4+IFNvIGZhciBr dGhyZWFkcyBzZWVtcyB0byBoYXZlIGEgc2xpZ2h0IGVkZ2UgaW4gdGhlIGJlbmNobWFya3MsIG9y IHJhdGhlcgo+Pj4gdXNpbmcgdGFza2xldCBJIGhhdmUgc29tZSB2ZXJ5IHdpbGQgcmVzdWx0cyBv biBCcmFzd2VsbC4gVXNpbmcgdGFza2xldHMKPj4+IHRoZSBDUFUgdGltZSBpcyBhY2NvdW50ZWQg dG8gdGhlIHByb2Nlc3MgKGkuZS4gd2hvZXZlciB3YXMgcnVubmluZyBhdAo+Pj4gdGhlIHRpbWUg b2YgdGhlIGlycSwgdHlwaWNhbGx5IHRoZSBiZW5jaG1hcmspLCB1c2luZyBrdGhyZWFkIHdlIGhh dmUKPj4KPj4gSSB0aG91Z2h0IHRoZXkgcnVuIGZyb20ga3NvZnRpcnFkIHNvIHRoZSBDUFUgdGlt ZSBpcyBhY2NvdW50ZWQKPj4gYWdhaW5zdCBpdC4gQW5kIGxvb2tpbmcgYXQgdG9wLCB0aGF0IGV2 ZW4gc2VlbXMgd2hhdCBhY3R1YWxseQo+PiBoYXBwZW5zLgo+Cj4gTm90IGZvciBtZS4gOnwgVGhv dWdoIEknbSB1c2luZyBzaW1wbGUgQ1BVIHRpbWUgYWNjb3VudGluZy4KCkkgc3VwcG9zZSBpdCBt dXN0IGJlIHRoaXMgb25lIHlvdSBkb24ndCBoYXZlIHRoZW46Cgpjb25maWcgSVJRX1RJTUVfQUND T1VOVElORwogICAgICAgICBib29sICJGaW5lIGdyYW51bGFyaXR5IHRhc2sgbGV2ZWwgSVJRIHRp bWUgYWNjb3VudGluZyIKICAgICAgICAgZGVwZW5kcyBvbiBIQVZFX0lSUV9USU1FX0FDQ09VTlRJ TkcgJiYgIU5PX0haX0ZVTEwKICAgICAgICAgaGVscAogICAgICAgICAgIFNlbGVjdCB0aGlzIG9w dGlvbiB0byBlbmFibGUgZmluZSBncmFudWxhcml0eSB0YXNrIGlycSB0aW1lCiAgICAgICAgICAg YWNjb3VudGluZy4gVGhpcyBpcyBkb25lIGJ5IHJlYWRpbmcgYSB0aW1lc3RhbXAgb24gZWFjaAog ICAgICAgICAgIHRyYW5zaXRpb25zIGJldHdlZW4gc29mdGlycSBhbmQgaGFyZGlycSBzdGF0ZSwg c28gdGhlcmUgY2FuCiAgICAgICAgICAgYmUgYSBzbWFsbCBwZXJmb3JtYW5jZSBpbXBhY3QuCgo+ Pj4gaW5kZXBlbmRlbnQgZW50cmllcyBpbiB0aGUgcHJvY2VzcyB0YWJsZS90b3AgKHdoaWNoIGlz IHF1aXRlIG5pY2UgdG8gc2VlCj4+PiBqdXN0IGhvdyBtdWNoIHRpbWUgaXMgYmVlbiBlYXRlbiB1 cCBieSB0aGUgY29udGV4dC1zd2l0Y2hlcykuCj4+Pgo+Pj4gQmVuY2htYXJrcyBzdGlsbCBwcm9n ZXNzaW5nLCBoYXZlbid0IHlldCBnb3Qgb24gdG8gdGhlIGxhdGVuY3kKPj4+IG1lYXN1cmVlbW50 cy4uLi4KPj4KPj4gTXkgdGFza2xldHMgaGFjayByZXF1aXJlZCBzdXJwcmlzaW5nbHkgbGl0dGxl IGNvZGUgY2hhbmdlLCBhdCBsZWFzdAo+PiBpZiB0aGVyZSBhcmUgbm90IHNvbWUgbWlzc2VkIGNv cm5lciBjYXNlcyB0byBoYW5kbGUsIGJ1dCBJIGRvbid0Cj4+IG1pbmQgeW91ciB0aHJlYWRzIGVp dGhlci4KPgo+IFllcywgdGhvdWdoIHdoZW4gbW92aW5nIHRvIGt0aHJlYWRzIEkgZHJvcHBlZCB0 aGUgcmVxdWlyZW1lbnQgZm9yCj4gc3Bpbl9sb2NrX2lycShlbmdpbmUtPmV4ZWNsaXN0c19sb2Nr KSBhbmQgc28gdGhlcmUgaXMgYSBsYXJnZSBhbW91bnQgb2YKPiBmbHVmZiBpbiBjaGFuZ2luZyB0 aG9zZSBjYWxsc2l0ZXMgdG8gc3Bpbl9sb2NrKCkuIChGb3IgdGFza2xldCwgd2UgY291bGQKPiBh cmd1ZSB0aGF0IHJlcXVpcmVtZW50IGlzIG5vdyBjaGFuZ2VkIHRvIHNwaW5fbG9ja19iaCgpLi4u KSBUaGUgcmVhbCBtZWF0CgpPb29wcyB5ZXMsIF9iaCB2YXJpYW50IGlzIHRoZSBjb3JyZWN0IG9u ZS4gSSB3b25kZXIgaWYgdGhhdCB3b3VsZCAKZnVydGhlciBpbXByb3ZlIHRoaW5ncy4gV2lsbCB0 cnkuCgo+IG9mIHRoZSBjaGFuZ2UgaXMgdGhhdCB3aXRoIGt0aHJlYWRzIHdlIGhhdmUgdG8gd29y cnkgYWJvdXQgZG9pbmcgdGhlCj4gc2NoZWR1bGluZygpIG91cnNlbHZlcywgYW5kIHRoYXQgaW1w YWN0cyB1cG9uIHRoZSBmb3JjZXdha2UgZGFuY2Ugc28KPiBjZXJ0YWlubHkgbW9yZSBjb21wbGV4 IHRoYW4gdGFza2xldHMhIEkgbGlrZWQgaG93IHNpbXBsZSB0aGlzIHBhdGNoIGlzCj4gYW5kIHNv IGZhciBpdCBsb29rcyBhcyBnb29kIGFzIG1ha2luZyBvdXIgb3duIGt0aHJlYWQuIFRoZSBiaWdn ZXN0Cj4gZGlmZmVyZW5jZSByZWFsbHkgaXMganVzdCB3aG8gZ2V0cyB0aGUgQ1BVIHRpbWUhCgpO b3RlIHRoYXQgaW4gdGhhdCByZXNwZWN0IGl0IGlzIHRoZW4gbm8gd29yc2UgdGhhbiB0aGUgY3Vy cmVudCBzaXR1YXRpb24gCndydCBDUFUgdGltZSBhY2NvdW50aW5nLgoKUmVnYXJkcywKClR2cnRr bwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK