From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: Re: [PATCH v4 2/5] x86/time: implement tsc as clocksource Date: Mon, 19 Sep 2016 17:11:04 +0100 Message-ID: <57E00E18.8050405@oracle.com> References: <1473874670-4986-1-git-send-email-joao.m.martins@oracle.com> <1473874670-4986-3-git-send-email-joao.m.martins@oracle.com> <57DFD678020000780010FEAF@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bm18W-0007Ub-9g for xen-devel@lists.xenproject.org; Mon, 19 Sep 2016 16:09:40 +0000 In-Reply-To: <57DFD678020000780010FEAF@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Andrew Cooper , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gMDkvMTkvMjAxNiAxMToxMyBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMTQuMDku MTYgYXQgMTk6MzcsIDxqb2FvLm0ubWFydGluc0BvcmFjbGUuY29tPiB3cm90ZToKPj4gVGhpcyBw YXRjaCBpbnRyb2R1Y2VzIHN1cHBvcnQgZm9yIHVzaW5nIFRTQyBhcyBwbGF0Zm9ybSB0aW1lIHNv dXJjZQo+PiB3aGljaCBpcyB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIHRpbWUgYW5kIG1vc3QgcGVy Zm9ybWFudCB0byBnZXQuCj4+IFRob3VnaCB0aGVyZSBhcmUgYWxzbyBzZXZlcmFsIHByb2JsZW1z IGFzc29jaWF0ZWQgd2l0aCBpdHMgdXNhZ2UsIGFuZAo+PiB0aGVyZSBpc24ndCBhIGNvbXBsZXRl IChhbmQgYXJjaGl0ZWN0dXJhbGx5IGRlZmluZWQpIGd1YXJhbnRlZSB0aGF0Cj4+IGFsbCBtYWNo aW5lcyB3aWxsIHByb3ZpZGUgcmVsaWFibGUgYW5kIG1vbm90b25pYyBUU0MgaW4gYWxsIGNhc2Vz IChJCj4+IGJlbGlldmUgSW50ZWwgdG8gYmUgdGhlIG9ubHkgdGhhdCBjYW4gZ3VhcmFudGVlIHRo YXQ/KSBGb3IgdGhpcyByZWFzb24KPj4gaXQncyBzZXQgd2l0aCBsZXNzIHByaW9yaXR5IHdoZW4g Y29tcGFyZWQgdG8gSFBFVCB1bmxlc3MgYWRtaW5zdHJhdG9yCj4+IGNoYW5nZXMgImNsb2Nrc291 cmNlIiBib290IG9wdGlvbiB0byAidHNjIi4KPiAKPiBJbiB0aGUgZm9sbG93aW5nIHNlbnRlbmNl IHlvdSByZW1vdmVkIHRoZSBleGNsdXNpdmUgbWVudGlvbmluZwo+IG9mIEhQRVQsIGJ1dCBhYm92 ZSB5b3UgZG9uJ3QuIEZ1cnRoZXJtb3JlIEkgZG9uJ3QgdGhpbmsgdGhpcwo+IHNlbnRlbmNlIGlz IGluIGxpbmUgd2l0aCB3aGF0IHRoZSBwYXRjaCBkb2VzOiBUaGVyZSdzIG5vIHByaW9yaXR5Cj4g Z2l2ZW4gdG8gaXQsIGFuZCBpdCB3b24ndCBiZSB1c2VkIGF0IGFsbCB3aGVuIG5vdCByZXF1ZXN0 ZWQgb24gdGhlCj4gY29tbWFuZCBsaW5lLgpZb3UncmUgcmlnaHQsIGxldCBtZSBjaGFuZ2UgdGhp cyBzZW50ZW5jZSB0byBiZToKCkZvciB0aGlzIHJlYXNvbiBpdCdzIG5vdCB1c2VkIHVubGVzcyBh ZG1pbmlzdHJhdG9yIGNoYW5nZXMgImNsb2Nrc291cmNlIiBib290Cm9wdGlvbiB0byAidHNjIi4K Cj4gCj4+IEluaXRpYWxpemluZyBUU0MKPj4gY2xvY2tzb3VyY2UgcmVxdWlyZXMgYWxsIENQVXMg dXAgdG8gaGF2ZSB0aGUgdHNjIHJlbGlhYmlsaXR5IGNoZWNrcwo+PiBwZXJmb3JtZWQuIGluaXRf eGVuX3RpbWUgaXMgY2FsbGVkIGJlZm9yZSBhbGwgQ1BVcyBhcmUgdXAsIHNvIGZvcgo+PiBleGFt cGxlIHdlIHdvdWxkIHN0YXJ0IHdpdGggSFBFVCAob3IgQUNQSSwgUElUKSBhdCBib290IHRpbWUs IGFuZAo+PiBzd2l0Y2ggbGF0ZXIgdG8gVFNDLiBUaGUgc3dpdGNoIHRoZW4gaGFwcGVucyBvbiB2 ZXJpZnlfdHNjX3JlbGlhYmlsaXR5Cj4+IGluaXRjYWxsIHRoYXQgaXMgaW52b2tlZCB3aGVuIGFs bCBDUFVzIGFyZSB1cC4gV2hlbiBhdHRlbXB0aW5nIHRvCj4+IGluaXRpYWxpemUgVFNDIHdlIGFs c28gY2hlY2sgZm9yIHRpbWUgd2FycHMgYW5kIGlmIGl0IGhhcyBpbnZhcmlhbnQKPj4gVFNDLiBO b3RlIHRoYXQgd2hpbGUgd2UgZGVlbSByZWxpYWJsZSBhIENPTlNUQU5UX1RTQyB3aXRoIG5vIGRl ZXAKPj4gQy1zdGF0ZXMsIGl0IG1pZ2h0IG5vdCBhbHdheXMgYmUgdGhlIGNhc2UsIHNvIHdlJ3Jl IGNvbnNlcnZhdGl2ZSBhbmQKPj4gYWxsb3cgVFNDIHRvIGJlIHVzZWQgYXMgcGxhdGZvcm0gdGlt ZXIgb25seSB3aXRoIGludmFyaWFudCBUU0MuCj4+IEFkZGl0aW9uYWxseSB3ZSBjaGVjayBpZiBD UFUgSG90cGx1ZyBpc24ndCBtZWFudCB0byBiZSBwZXJmb3JtZWQgb24KPj4gdGhlIGhvc3Qgd2hp Y2ggd2lsbCBlaXRoZXIgYmUgd2hlbiBtYXggdmNwdXMgYW5kIG51bV9wcmVzZW50X2NwdSBhcmUK Pj4gdGhlIHNhbWUuIFRoaXMgaXMgYmVjYXVzZSBhIG5ld2x5IGhvdHBsdWdnZWQgQ1BVIG1heSBu b3Qgc2F0aXNmeSB0aGUKPj4gY29uZGl0aW9uIG9mIGhhdmluZyBhbGwgVFNDcyBzeW5jaHJvbml6 ZWQgLSBzbyB3aGVuIGhhdmluZyB0c2MKPj4gY2xvY2tzb3VyY2UgYmVpbmcgdXNlZCB3ZSBhbGxv dyBvZmZsaW5pbmcgQ1BVcyBidXQgbm90IG9ubGluaW5nIGFueQo+PiBvbmVzIGJhY2suIEZpbmFs bHkgd2UgcHJldmVudCBUU0MgZnJvbSBiZWluZyB1c2VkIGFzIGNsb2Nrc291cmNlIG9uCj4+IG11 bHRpcGxlIHNvY2tldHMgYmVjYXVzZSBpdCBpc24ndCBndWFyYW50ZWVkIHRvIGJlIGludmFyaWFu dC4gRnVydGhlcgo+PiByZWxheGluZyBvZiB0aGlzIGxhc3QgcmVxdWlyZW1lbnQgaXMgYWRkZWQg aW4gYSBzZXBhcmF0ZSBwYXRjaCwgc3VjaAo+PiB0aGF0IHdlIGFsbG93IHZlbmRvcnMgd2l0aCBz dWNoIGd1YXJhbnRlZSB0byB1c2UgVFNDIGFzIGNsb2Nrc291cmNlLgo+PiBJbiBjYXNlIGFueSBv ZiB0aGVzZSBjb25kaXRpb25zIGlzIG5vdCBtZXQsIHdlIGtlZXAgdGhlIGNsb2Nrc291cmNlCj4+ IHRoYXQgd2FzIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQgb24gaW5pdF94ZW5fdGltZS4KPj4KPj4g U2luY2UgYjY0NDM4YzdjICgieDg2L3RpbWU6IHVzZSBjb3JyZWN0IChsb2NhbCkgdGltZSBzdGFt cCBpbgo+PiBjb25zdGFudC1UU0MgY2FsaWJyYXRpb24gZmFzdCBwYXRoIikgdXBkYXRlcyB0byBj cHUgdGltZSB1c2UgbG9jYWwKPj4gc3RhbXBzLCB3aGljaCBtZWFucyBwbGF0Zm9ybSB0aW1lciBp cyBvbmx5IHVzZWQgdG8gc2VlZCB0aGUgaW5pdGlhbAo+PiBjcHUgdGltZS4gIFdpdGggY2xvY2tz b3VyY2U9dHNjIHRoZXJlIGlzIG5vIG5lZWQgdG8gYmUgaW4gc3luYyB3aXRoCj4+IGFub3RoZXIg Y2xvY2tzb3VyY2UsIHNvIHdlIHJlc2VlZCB0aGUgbG9jYWwvbWFzdGVyIHN0YW1wcyB0byBiZSB2 YWx1ZXMKPj4gb2YgVFNDIGFuZCB1cGRhdGUgdGhlIHBsYXRmb3JtIHRpbWUgc3RhbXBzIGFjY29y ZGluZ2x5LiBUaW1lCj4+IGNhbGlicmF0aW9uIGlzIHNldCB0byAxc2VjIGFmdGVyIHdlIHN3aXRj aCB0byBUU0MsIHRodXMgdGhlc2Ugc3RhbXBzCj4+IGFyZSByZXNlZWRlZCB0byBhbHNvIGVuc3Vy ZSBtb25vdG9uaWMgcmV0dXJuaW5nIHZhbHVlcyByaWdodCBhZnRlciB0aGUKPj4gcG9pbnQgd2Ug c3dpdGNoIHRvIFRTQy4gVGhpcyBpcyBhbHNvIHRvIGF2b2lkIHRoZSBwb3NzaWJpbGl0eSBvZgo+ PiBoYXZpbmcgaW5jb25zaXN0ZW50IHJlYWRpbmdzIGluIHRoaXMgc2hvcnQgcGVyaW9kIChpLmUu IHVudGlsCj4+IGNhbGlicmF0aW9uIGZpcmVzKS4KPiAKPiBBbmQgd2l0aGluIHRoaXMgb25lIHNl Y29uZCwgd2hpY2ggbWF5IGNvdmVyIHNvbWUgb2YgRG9tMCdzCj4gYm9vdGluZyB1cCwgaXQgaXMg b2theSB0byBoYXZlIGluY29uc2lzdGVuY2llcz8KSXQncyBub3Qgb2theSB3aGljaCBpcyB3aHkg SSBhbSByZW1vdmluZyB0aGlzIHBvc3NpYmlsaXR5IHdoZW4gc3dpdGNoaW5nIHRvIFRTQy4KVGhl IGluY29uc2lzdGVuY2llcyBpbiB0aG9zZSByZWFkaW5ncyAoaWYgSSB3YXNuJ3QgYWRqdXN0aW5n KSB3b3VsZCBiZSBiZWNhdXNlCndlIHdvdWxkIGJlIHVzaW5nIChpbiB0aGF0IDEtc2VjKSB0aG9z ZSBjcHUgdGltZSB0dXBsZXMgY2FsY3VsYXRlZCBieSB0aGUKcHJldmlvdXMgY2FsaWJyYXRpb24g b3IgcGxhdGZvcm0gdGltZSBpbml0aWFsaXphdGlvbiAod2hpbGUgc3RpbGwgd2FzIEhQRVQsCkFD UEksIGV0YyBhcyBjbG9ja3NvdXJjZSkuIFdvdWxkIHlvdSBwcmVmZXIgbWUgcmVtb3ZpbmcgdGhl ICJhdm9pZCIgYW5kIGluc3RlYWQKY2hhbmdlIGl0IHRvICJyZW1vdmUgdGhlIHBvc3NpYmlsaXR5 IiBpbiB0aGlzIGxhc3Qgc2VudGVuY2U/Cgo+IAo+PiAtLS0gYS94ZW4vYXJjaC94ODYvdGltZS5j Cj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKPj4gQEAgLTQ3NSw2ICs0NzUsNTAgQEAgdWlu dDY0X3QgbnNfdG9fYWNwaV9wbV90aWNrKHVpbnQ2NF90IG5zKQo+PiAgfQo+PiAgCj4+ICAvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Cj4+ICsgKiBQTEFURk9STSBUSU1FUiA0OiBUU0MKPj4gKyAqLwo+PiArCj4+ICsvKgo+PiArICog Q2FsbGVkIGluIHZlcmlmeV90c2NfcmVsaWFiaWxpdHkoKSB1bmRlciByZWxpYWJsZSBUU0MgY29u ZGl0aW9ucwo+PiArICogdGh1cyByZXVzaW5nIGFsbCB0aGUgY2hlY2tzIGFscmVhZHkgcGVyZm9y bWVkIHRoZXJlLgo+PiArICovCj4+ICtzdGF0aWMgczY0IF9faW5pdCBpbml0X3RzYyhzdHJ1Y3Qg cGxhdGZvcm1fdGltZXNvdXJjZSAqcHRzKQo+PiArewo+PiArICAgIHU2NCByZXQgPSBwdHMtPmZy ZXF1ZW5jeTsKPj4gKwo+PiArICAgIGlmICggbnJfY3B1X2lkcyAhPSBudW1fcHJlc2VudF9jcHVz KCkgKQo+PiArICAgIHsKPj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJUU0M6IENQVSBI b3RwbHVnIGludGVuZGVkXG4iKTsKPj4gKyAgICAgICAgcmV0ID0gMDsKPj4gKyAgICB9Cj4+ICsK Pj4gKyAgICBpZiAoIG5yX3NvY2tldHMgPiAxICkKPj4gKyAgICB7Cj4+ICsgICAgICAgIHByaW50 ayhYRU5MT0dfSU5GTyAiVFNDOiBOb3QgaW52YXJpYW50IGFjcm9zcyBzb2NrZXRzXG4iKTsKPj4g KyAgICAgICAgcmV0ID0gMDsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBpZiAoICFyZXQgKQo+PiAr ICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gIlRTQzogTm90IHNldHRpbmcgaXQgYXMgY2xvY2tz b3VyY2VcbiIpOwo+IAo+IEkgdGhpbmsgdGhpcyBsYXN0IG1lc3NhZ2UgaXMgcmVkdW5kYW50IHdp dGggdGhlIGZvcm1lciB0d28uIEJ1dCBzaW5jZQo+IEkgYWxzbyB0aGluayB0aGF0IGluZm8gbGV2 ZWwgaXMgdG9vIGxvdyBmb3IgdGhvc2UgZWFybGllciBvbmVzLCBwZXJoYXBzCj4ga2VlcGluZyB0 aGUgbGF0dGVyIChhdCBpbmZvIG9yIGV2ZW4gZGVidWcgbGV2ZWwpIHdvdWxkIGJlIG9rYXksIG9u Y2UKPiB0aGUgb3RoZXIgZ290IGJ1bXBlZCB0byB3YXJuaW5nIGxldmVsLgpNYWtlcyBzZW5zZSBh bmQgb25lIGNhbiBpbmZlciB0aGF0IG1lc3NhZ2UgZnJvbSB0aGUgbGFjayBvZiAiU3dpdGNoZWQg dG8gLi4uIgpMZXQgbWUgY2hhbmdlIHRoZSBmaXJzdCB0d28gaW50byB3YXJuaW5nIGxldmVsIGFu ZCB0aGUgbGFzdCBvbmUgYXMgZGVidWcgbGV2ZWwKYXMgeW91J3JlIHN1Z2dlc3RpbmcuCgo+IAo+ PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlIF9faW5pdGRhdGEgcGx0X3RzYyA9 Cj4+ICt7Cj4+ICsgICAgLmlkID0gInRzYyIsCj4+ICsgICAgLm5hbWUgPSAiVFNDIiwKPj4gKyAg ICAucmVhZF9jb3VudGVyID0gcmVhZF90c2MsCj4+ICsgICAgLmNvdW50ZXJfYml0cyA9IDYzLAo+ IAo+IFBsZWFzZSBhZGQgYSBicmllZiBjb21tZW50IGV4cGxhaW5pbmcgd2h5IHRoaXMgaXMgbm90 IDY0LgpPSy4KCj4gCj4+IEBAIC02MDQsNyArNjY3LDkgQEAgc3RhdGljIHU2NCBfX2luaXQgaW5p dF9wbGF0Zm9ybV90aW1lcih2b2lkKQo+PiAgICAgIHVuc2lnbmVkIGludCBpOwo+PiAgICAgIHM2 NCByYyA9IC0xOwo+PiAgCj4+IC0gICAgaWYgKCBvcHRfY2xvY2tzb3VyY2VbMF0gIT0gJ1wwJyAp Cj4+ICsgICAgLyogY2xvY2tzb3VyY2U9dHNjIGlzIGluaXRpYWxpemVkIHZpYSBfX2luaXRjYWxs cyAod2hlbiBDUFVzIGFyZSB1cCkuICovCj4+ICsgICAgaWYgKCAob3B0X2Nsb2Nrc291cmNlWzBd ICE9ICdcMCcpICYmCj4+ICsgICAgICAgICBzdHJjbXAob3B0X2Nsb2Nrc291cmNlLCAidHNjIikg KQo+IAo+IE5vIHJlYWwgbmVlZCB0byBzcGxpdCB0aGlzIGlmKCkgYWNyb3NzIHR3byBsaW5lcy4K T0suCgo+IAo+PiArc3RhdGljIHZvaWQgX19pbml0IHRyeV9wbGF0Zm9ybV90aW1lcl90YWlsKHZv aWQpCj4+ICt7Cj4+ICsgICAgaW5pdF90aW1lcigmcGx0X292ZXJmbG93X3RpbWVyLCBwbHRfb3Zl cmZsb3csIE5VTEwsIDApOwo+PiArICAgIHBsdF9vdmVyZmxvdyhOVUxMKTsKPj4gKwo+PiArICAg IHBsYXRmb3JtX3RpbWVyX3N0YW1wID0gcGx0X3N0YW1wNjQ7Cj4+ICsgICAgc3RpbWVfcGxhdGZv cm1fc3RhbXAgPSBOT1coKTsKPj4gKwo+PiArICAgIGlmICggIWNsb2Nrc291cmNlX2lzX3RzYygp ICkKPj4gKyAgICAgICAgaW5pdF9wZXJjcHVfdGltZSgpOwo+IAo+IFRoaXMgaXNuJ3QgcmVhbGx5 IGRlcGVuZGVudCBvbiB3aGV0aGVyIFRTQyBpcyB1c2VkIGFzIGNsb2Nrc291cmNlLAo+IGJ1dCBz b2xlbHkgb24gdGhlIHBvaW50IGluIHRpbWUgYXQgd2hpY2ggdGhlIGNhbGwgZ2V0cyBtYWRlLCBp cyBpdD8gSWYKPiBzbywgSSB0aGluayBhbiBleHBsaWNpdCBib29sZWFuIGZ1bmN0aW9uIHBhcmFt ZXRlciAobmFtZWQgZS5nLiAibGF0ZSIpCj4gd291bGQgYmUgYmV0dGVyIHRoYW4gYWJ1c2luZyB0 aGUgcHJlZGljYXRlIGhlcmUuCgpDb3JyZWN0LCBJIHdpbGwgaW50cm9kdWNlIHRoaXMgYm9vbGVh biBwYXJhbWV0ZXIuIE5vdCB0aGF0IGlzIGNyaXRpY2FsIGJ1dApwcm9iYWJseSBhZGQgYW4gbGlr ZWx5KC4uLikgdGhlcmUgdG9vLCBzaW5jZSB0aGUgbGF0ZSBjYXNlIG9ubHkgaGFwcGVucyBmb3IK Y2xvY2tzb3VyY2U9dHNjID8KCj4gCj4+IEBAIC0xNDgwLDYgKzE1NzAsMjUgQEAgc3RhdGljIGlu dCBfX2luaXQgdmVyaWZ5X3RzY19yZWxpYWJpbGl0eSh2b2lkKQo+PiAgICAgICAgICAgICAgcHJp bnRrKCJUU0Mgd2FycCBkZXRlY3RlZCwgZGlzYWJsaW5nIFRTQ19SRUxJQUJMRVxuIik7Cj4+ICAg ICAgICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQ19SRUxJQUJMRSk7 Cj4+ICAgICAgICAgIH0KPj4gKyAgICAgICAgZWxzZSBpZiAoICFzdHJjbXAob3B0X2Nsb2Nrc291 cmNlLCAidHNjIikgJiYKPj4gKyAgICAgICAgICAgICAgICAgICh0cnlfcGxhdGZvcm1fdGltZXIo JnBsdF90c2MpID4gMCkgKQo+PiArICAgICAgICB7Cj4+ICsgICAgICAgICAgICAvKgo+PiArICAg ICAgICAgICAgICogUGxhdGZvcm0gdGltZXIgaGFzIGNoYW5nZWQgYW5kIENQVSB0aW1lIHdpbGwg b25seSBiZSB1cGRhdGVkCj4+ICsgICAgICAgICAgICAgKiBhZnRlciB3ZSBzZXQgYWdhaW4gdGhl IGNhbGlicmF0aW9uIHRpbWVyLCB3aGljaCBtZWFucyB3ZSBuZWVkIHRvCj4+ICsgICAgICAgICAg ICAgKiBzZWVkIGFnYWluIGVhY2ggbG9jYWwgQ1BVIHRpbWUuIEF0IHRoaXMgc3RhZ2UgVFNDIGlz IGtub3duIHRvIGJlCj4+ICsgICAgICAgICAgICAgKiByZWxpYWJsZSBpLmUuIG1vbm90b25pY2Fs bHkgaW5jcmVhc2luZyBhY3Jvc3MgYWxsIENQVXMgc28gdGhpcwo+PiArICAgICAgICAgICAgICog bGV0cyB1cyByZW1vdmUgdGhlIHNrZXcgYmV0d2VlbiBwbGF0Zm9ybSB0aW1lciBhbmQgVFNDLCBz aW5jZQo+PiArICAgICAgICAgICAgICogdGhlc2UgYXJlIG5vdyBlZmZlY3RpdmVseSB0aGUgc2Ft ZS4KPj4gKyAgICAgICAgICAgICAqLwo+PiArICAgICAgICAgICAgb25fc2VsZWN0ZWRfY3B1cygm Y3B1X29ubGluZV9tYXAsIHJlc2V0X3BlcmNwdV90aW1lLCBOVUxMLCAxKTsKPj4gKwo+PiArICAg ICAgICAgICAgLyogRmluaXNoIHBsYXRmb3JtIHRpbWVyIHN3aXRjaC4gKi8KPj4gKyAgICAgICAg ICAgIHRyeV9wbGF0Zm9ybV90aW1lcl90YWlsKCk7Cj4+ICsKPj4gKyAgICAgICAgICAgIHByaW50 ayhYRU5MT0dfSU5GTyAiU3dpdGNoZWQgdG8gUGxhdGZvcm0gdGltZXIgJXMgVFNDXG4iLAo+PiAr ICAgICAgICAgICAgICAgICAgIGZyZXFfc3RyaW5nKHBsdF9zcmMuZnJlcXVlbmN5KSk7Cj4gCj4g VGhpcyBtZXNzYWdlIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxvZyBsZXZlbCBhcyB0aGUgb25lIGF0 IHRoZSBlbmQKPiBvZiBpbml0X3BsYXRmb3JtX3RpbWVyKCkuCkFncmVlZCwgYnV0IGF0IHRoZSBl bmQgb2YgaW5pdF9wbGF0Zm9ybV90aW1lciB0aGVyZSBpcyBhIHBsYWluIHByaW50ayB3aXRoIGFu Cm9taXR0ZWQgbG9nIGxldmVsLiBPciBkbyB5b3UgbWVhbiB0byByZW1vdmUgWEVOTE9HX0lORk8g ZnJvbSB0aGlzIHByaW50ayBhYm92ZQpvciwgaW5zdGVhZCBhZGQgWEVOTE9HX0lORk8gdG8gb25l IHByaW50ayBhdCB0aGUgZW5kIG9mIGluaXRfcGxhdGZvcm1fdGltZXIoKSA/CgpKb2FvCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK