From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: Re: [PATCH v3 2/6] x86/time: implement tsc as clocksource Date: Fri, 26 Aug 2016 16:11:59 +0100 Message-ID: <57C05C3F.7040405@oracle.com> References: <1472042632-12883-1-git-send-email-joao.m.martins@oracle.com> <1472042632-12883-3-git-send-email-joao.m.martins@oracle.com> <57BEDF440200007800108E4D@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 1bdImI-0000PH-NR for xen-devel@lists.xenproject.org; Fri, 26 Aug 2016 15:10:42 +0000 In-Reply-To: <57BEDF440200007800108E4D@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 T24gMDgvMjUvMjAxNiAxMTowNiBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMjQuMDgu MTYgYXQgMTQ6NDMsIDxqb2FvLm0ubWFydGluc0BvcmFjbGUuY29tPiB3cm90ZToKPj4gVGhpcyBw YXRjaCBpbnRyb2R1Y2VzIHN1cHBvcnQgZm9yIHVzaW5nIFRTQyBhcyBwbGF0Zm9ybSB0aW1lIHNv dXJjZQo+PiB3aGljaCBpcyB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIHRpbWUgYW5kIG1vc3QgcGVy Zm9ybWFudCB0byBnZXQgKH4yMAo+PiBuc2VjcykuCj4gCj4gSXMgdGhpcyBpbmRlZWQgc3RpbGwg dGhlIGNhc2Ugd2l0aCB0aGUgcmVjZW50bHkgYWRkZWQgZmVuY2VzPwpIbW0sIG1heSBiZSBub3Qg YXMgZmFzdCB3aXRoIHRoZSBhZGRlZCBmZW5jZXMsIEJ1dCBkZWZpbml0ZWx5IHRoZSBmYXN0ZXN0 IHRpbWUKc291cmNlLiBJZiB5b3UgcHJlZmVyIEkgY2FuIHJlbW92ZSB0aGUgbWVudGlvbiB0byB0 aW1lIHRha2VuLgoKPiAKPj4gVGhvdWdoIHRoZXJlIGFyZSBhbHNvIHNldmVyYWwgcHJvYmxlbXMg YXNzb2NpYXRlZCB3aXRoIGl0cwo+PiB1c2FnZSwgYW5kIHRoZXJlIGlzbid0IGEgY29tcGxldGUg KGFuZCBhcmNoaXRlY3R1cmFsbHkgZGVmaW5lZCkKPj4gZ3VhcmFudGVlIHRoYXQgYWxsIG1hY2hp bmVzIHdpbGwgcHJvdmlkZSByZWxpYWJsZSBhbmQgbW9ub3RvbmljIFRTQyBpbgo+PiBhbGwgY2Fz ZXMgKEkgYmVsaWV2ZSBJbnRlbCB0byBiZSB0aGUgb25seSB0aGF0IGNhbiBndWFyYW50ZWUgdGhh dD8pIEZvcgo+PiB0aGlzIHJlYXNvbiBpdCdzIHNldCB3aXRoIGxlc3MgcHJpb3JpdHkgd2hlbiBj b21wYXJlZCB0byBIUEVUIHVubGVzcwo+PiBhZG1pbnN0cmF0b3IgY2hhbmdlcyAiY2xvY2tzb3Vy Y2UiIGJvb3Qgb3B0aW9uIHRvICJ0c2MiLiBJbml0aWFsaXppbmcKPj4gVFNDIGNsb2Nrc291cmNl IHJlcXVpcmVzIGFsbCBDUFVzIHVwIHRvIGhhdmUgdGhlIHRzYyByZWxpYWJpbGl0eSBjaGVja3MK Pj4gcGVyZm9ybWVkLiBpbml0X3hlbl90aW1lIGlzIGNhbGxlZCBiZWZvcmUgYWxsIENQVXMgYXJl IHVwLCBhbmQgc28gd2UKPj4gd291bGQgc3RhcnQgd2l0aCBIUEVUIGF0IGJvb3QgdGltZSwgYW5k IHN3aXRjaCBsYXRlciB0byBUU0MuIFRoZSBzd2l0Y2gKPj4gdGhlbiBoYXBwZW5zIG9uIHZlcmlm eV90c2NfcmVsaWFiaWxpdHkgaW5pdGNhbGwgdGhhdCBpcyBpbnZva2VkIHdoZW4gYWxsCj4+IENQ VXMgYXJlIHVwLiBXaGVuIGF0dGVtcHRpbmcgdG8gaW5pdGlhbGl6ZSBUU0Mgd2UgYWxzbyBjaGVj ayBmb3IgdGltZQo+PiB3YXJwcyBhbmQgaWYgaXQgaGFzIGludmFyaWFudCBUU0MuIEFuZCBpbiBj YXNlIG5vbmUgb2YgdGhlc2UgY29uZGl0aW9ucwo+PiBhcmUgbWV0LAo+IAo+IERZTSAiaW4gY2Fz ZSBhbnkgb2YgdGhlc2UgY29uZGl0aW9ucyBpcyBub3QgbWV0Ij8KWWVhaCBJIHdpbGwgY2hhbmdl IGl0LiBNeSBlbmdsaXNoIGlzbid0IGF0IG15IGJlc3QgdGhlc2UgZGF5cy4KCj4gCj4+IHdlIGtl ZXAgdGhlIGNsb2Nrc291cmNlIHRoYXQgd2FzIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQgb24KPj4g aW5pdF94ZW5fdGltZS4gTm90ZSB0aGF0IHdoaWxlIHdlIGRlZW0gcmVsaWFibGUgYSBDT05TVEFO VF9UU0Mgd2l0aCBubwo+PiBkZWVwIEMtc3RhdGVzLCBpdCBtaWdodCBub3QgYWx3YXlzIGJlIHRo ZSBjYXNlLCBzbyB3ZSdyZSBjb25zZXJ2YXRpdmUKPj4gYW5kIGFsbG93IFRTQyB0byBiZSB1c2Vk IGFzIHBsYXRmb3JtIHRpbWVyIG9ubHkgd2l0aCBpbnZhcmlhbnQgVFNDLgo+Pgo+PiBTaW5jZSBi NjQ0MzhjN2MgKCJ4ODYvdGltZTogdXNlIGNvcnJlY3QgKGxvY2FsKSB0aW1lIHN0YW1wIGluCj4+ IGNvbnN0YW50LVRTQyBjYWxpYnJhdGlvbiBmYXN0IHBhdGgiKSB1cGRhdGVzIHRvIGNwdSB0aW1l IHVzZSBsb2NhbAo+PiBzdGFtcHMsIHdoaWNoIG1lYW5zIHBsYXRmb3JtIHRpbWVyIGlzIG9ubHkg dXNlZCB0byBzZWVkIHRoZSBpbml0aWFsIGNwdQo+PiB0aW1lLiBXaXRoIGNsb2Nrc291cmNlPXRz YyB0aGVyZSBpcyBubyBuZWVkIHRvIGJlIGluIHN5bmMgd2l0aCBhbm90aGVyCj4+IGNsb2Nrc291 cmNlLCBzbyB3ZSByZXNlZWQgdGhlIGxvY2FsL21hc3RlciBzdGFtcHMgdG8gYmUgdmFsdWVzIG9m IFRTQwo+PiBhbmQgdXBkYXRlIHRoZSBwbGF0Zm9ybSB0aW1lIHN0YW1wcyBhY2NvcmRpbmdseS4g VGltZSBjYWxpYnJhdGlvbiBpcyBzZXQKPj4gdG8gMXNlYyBhZnRlciB3ZSBzd2l0Y2ggdG8gVFND LCB0aHVzIHRoZXNlIHN0YW1wcyBhcmUgcmVzZWVkZWQgdG8gYWxzbwo+PiBlbnN1cmUgbW9ub3Rv bmljIHJldHVybmluZyB2YWx1ZXMgcmlnaHQgYWZ0ZXIgdGhlIHBvaW50IHdlIHN3aXRjaCB0bwo+ PiBUU0MuIFRoaXMgaXMgYWxzbyB0byBhdm9pZCB0aGUgcG9zc2liaWxpdHkgb2YgaGF2aW5nIGlu Y29uc2lzdGVudAo+PiByZWFkaW5ncyBpbiB0aGlzIHNob3J0IHBlcmlvZCAoaS5lLiB1bnRpbCBj YWxpYnJhdGlvbiBmaXJlcykuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEpvYW8gTWFydGlucyA8am9h by5tLm1hcnRpbnNAb3JhY2xlLmNvbT4KPj4gLS0tCj4+IENjOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+Cj4+IENjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPgo+Pgo+PiBDaGFuZ2VzIHNpbmNlIHYyOgo+PiAgLSBTdWdnZXN0ICJIUEVUIHN3aXRjaGlu ZyB0byBUU0MiIG9ubHkgYXMgYW4gZXhhbXBsZSBhcyBvdGhlcndpc2UgaXQKPj4gIHdvdWxkIGJl IG1pc2xlYWRpbmcgb24gcGxhdGZvcm1zIG5vdCBoYXZpbmcgb25lLgo+IAo+IFdoYXQgZG9lcyB0 aGlzIHJlZmVyIHRvPyBUaGUgZGVzY3JpcHRpb24gc3RpbGwgdW5jb25kaXRpb25hbGx5IHRhbGtz Cj4gYWJvdXQgSFBFVC4KSSByZW1lbWJlciBhZGRpbmcgIkZvciBleGFtcGxlIiBpbiB0aGUgYmVn aW5uaW5nIG9mIHRoZSBzZW50ZW5jZS4gVGhpcyB3YXMgY2xlYXJseSBhCmRpc3RyYWN0aW9uIG9u IG15IGVuZCAoeW91IGFsc28gZm91bmQgYW5vdGhlciBzbWFsbCBtaXN0YWtlIGluIHRoZSBjaGFu Z2Vsb2cgb2YgcGF0Y2gKMywgZGVzcGl0ZSBoYXZpbmcgYWRkcmVzc2VkIHRoZSBjb21tZW50KS4K Cj4gCj4+ICAtIENoYW5nZSBpbml0X3RzY3RpbWVyIHRvIHNraXAgYWxsIHRoZSB0ZXN0cyBhbmQg YXNzdW1lIGl0J3MgY2FsbGVkCj4+ICBvbmx5IG9uIHJlbGlhYmxlIFRTQyBjb25kaXRpb25zIGFu ZCBubyB3YXJwcyBvYnNlcnZlZC4gVGlkeQo+PiAgaW5pdGlhbGl6YXRpb24gb24gdmVyaWZ5X3Rz Y19yZWxpYWJpbGl0eSBhcyBzdWdnZXN0ZWQgYnkgS29ucmFkLgo+IAo+IFdoaWNoIG1lYW5zIHRo YXQgY29udHJhcnkgdG8gd2hhdCB5b3Ugc2F5IGluIHRoZSBjb3ZlciBsZXR0ZXIKPiB0aGVyZSdz IG5vdGhpbmcgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIHVzZWQgd2hlbiBDUFUgaG90cGx1Zwo+ IGlzIHBvc3NpYmxlLgpQcm9iYWJseSB0aGUgY292ZXIgbGV0dGVyIHdhc24ndCBjb21wbGV0ZWx5 IGNsZWFyIG9uIHRoaXMuIEkgbWVudGlvbiB0aGF0IEkgc3BsaXQgaXQKYmV0d2VlbiBQYXRjaCAy IGFuZCA1IChpbnRlbnQgd2FzIGZvciBlYXNpZXIgcmV2aWV3KSwgYW5kIHlvdSBjYW4gc2VlIHRo YXQgSSBhZGQKY2hlY2sgaW4gcGF0Y2ggNSwgcGx1cyBwcmV2ZW50aW5nIG9ubGluZSBvZiBDUFVz IHRvby4KCj4gSSBkb24ndCB0aGluayB5b3Ugc2hvdWxkIHNraXAgYmFzaWMgc2FuaXR5IGNoZWNr cywgYW5kCj4gcGxhY2UgZW50aXJlbHkgb24gdGhlIGFkbWluIHRoZSBidXJkZW4gb2Yga25vd2lu ZyB3aGV0aGVyIHRoZQo+IG9wdGlvbiBpcyBzYWZlIHRvIHVzZS4KTmVpdGhlciBkbyBJIHRoaW5r IGl0IHNob3VsZCBiZSBza2lwcGVkLiBXZSBtYWlubHkgZG9uJ3QgZHVwbGljYXRlIHRoZXNlIGNo ZWNrcy4gSW4KdGhlIGVuZCBJIGFtIGp1c3QgcnVubmluZyBpbml0X3RzY3RpbWVyLCBpbiB0aGUg VFNDX1JFTElBQkxFIGJsb2NrIGFuZCBpZiBubyB3YXJwcwphcmUgb2JzZXJ2ZWQuIFNvIHB1dHRp bmcgdGhhdCBpbiBpbml0X3RzY3RpbWVyIHdvdWxkIGp1c3QgZHVwbGljYXRlIHRoZSBwcmV2aW91 c2x5CmRvbmUgY2hlY2tzLiBPciB3b3VsZCB5b3Ugc3RpbGwgcHJlZmVyIGFzIGRvbmUgaW4gcHJl dmlvdXMgdmVyc2lvbiBpLmUuIGFsbCBjaGVja3MgaW4KYm90aCBpbml0X3RzY3RpbWVyIGFuZCB2 ZXJpZnlfdHNjX3JlbGlhYmlsaXR5PwoKCj4+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX3RpbWVz b3VyY2UgX19pbml0ZGF0YSBwbHRfdHNjID0KPj4gK3sKPj4gKyAgICAuaWQgPSAidHNjIiwKPj4g KyAgICAubmFtZSA9ICJUU0MiLAo+PiArICAgIC5yZWFkX2NvdW50ZXIgPSByZWFkX3RzYywKPj4g KyAgICAuY291bnRlcl9iaXRzID0gNjQsCj4+ICsgICAgLyogTm90IGNhbGxlZCBieSBpbml0X3Bs YXRmb3JtX3RpbWVyIGFzIGl0IGlzIG5vdCBvbiB0aGUgcGx0X3RpbWVycyBhcnJheSAqLwo+PiAr ICAgIC5pbml0ID0gaW5pdF90c2N0aW1lciwKPiAKPiBJIGNvbnNpZGVyIHRoaXMgY29tbWVudCBt aXNsZWFkaW5nOiBJdCB0b29rIG1lIHNldmVyYWwgcm91bmRzIG9mCj4gbG9va2luZyB1bnRpbCBJ IHVuZGVyc3Rvb2QgdGhhdCB5b3UgZG9uJ3QgbWVhbiB0byBzYXkgdGhlIHBvaW50ZXIKPiBnZXRz IGZpbGxlZCBoZXJlIG9ubHkgdG8gbm90IGxlYXZlIGEgTlVMTCBvbmUgYXJvdW5kLiBJJ2QgcHJl ZmVyIGlmCj4geW91IHJlbW92ZWQgaXQuCj4gCk9LLgoKPj4gQEAgLTYwNCw3ICs2NDcsOSBAQCBz dGF0aWMgdTY0IF9faW5pdCBpbml0X3BsYXRmb3JtX3RpbWVyKHZvaWQpCj4+ICAgICAgdW5zaWdu ZWQgaW50IGk7Cj4+ICAgICAgczY0IHJjID0gLTE7Cj4+ICAKPj4gLSAgICBpZiAoIG9wdF9jbG9j a3NvdXJjZVswXSAhPSAnXDAnICkKPj4gKyAgICAvKiBjbG9ja3NvdXJjZT10c2MgaXMgaW5pdGlh bGl6ZWQgdmlhIF9faW5pdGNhbGxzICh3aGVuIENQVXMgYXJlIHVwKS4gKi8KPj4gKyAgICBpZiAo IChvcHRfY2xvY2tzb3VyY2VbMF0gIT0gJ1wwJykgJiYKPj4gKyAgICAgICAgIChzdHJjbXAob3B0 X2Nsb2Nrc291cmNlLCAidHNjIikpICkKPiAKPiBTdHJheSBwYXJlbnRoZXNlcyBhcm91bmQgYSBm dW5jdGlvbiBjYWxsLgpGaXhlZC4KCj4gCj4+IEBAIC0xNDgxLDYgKzE1MjYsNDAgQEAgc3RhdGlj IGludCBfX2luaXQgdmVyaWZ5X3RzY19yZWxpYWJpbGl0eSh2b2lkKQo+PiAgICAgICAgICAgICAg ICAgICAgIF9fZnVuY19fKTsKPj4gICAgICAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2 X0ZFQVRVUkVfVFNDX1JFTElBQkxFKTsKPj4gICAgICAgICAgfQo+PiArICAgICAgICBlbHNlIGlm ICggIXN0cmNtcChvcHRfY2xvY2tzb3VyY2UsICJ0c2MiKSApCj4+ICsgICAgICAgIHsKPj4gKyAg ICAgICAgICAgIGludCBjcHU7Cj4gCj4gdW5zaWduZWQgaW50CkZpeGVkLgoKPiAKPj4gKyAgICAg ICAgICAgIGlmICggdHJ5X3BsYXRmb3JtX3RpbWVyKCZwbHRfdHNjKSA8PSAwICkKPj4gKyAgICAg ICAgICAgICAgICByZXR1cm4gMDsKPiAKPiBJZiB5b3UgbWVyZ2VkIHRoaXMgaW50byB0aGUgaWYo KSBhYm92ZSB5b3UgY291bGQgYXZvaWQgdGhpcyBleHRyYQo+IHJldHVybiBwYXRoLCB3aGljaCBp biB0dXJuIGxvd2VycyB0aGUgcmlzayBvZiBzb21ldGhpbmcgZ2V0dGluZwo+IGFkZGVkIHRvIHRo ZSB0YWlsIG9mIHRoZSBmdW5jdGlvbiBhbmQgdGhlbiBub3QgYmVpbmcgdGFrZW4gY2FyZSBvZgo+ IGhlcmUuCkdvb2QgcG9pbnQsIEZpeGVkLgoKPiAKPj4gKyAgICAgICAgICAgIC8qCj4+ICsgICAg ICAgICAgICAgKiBQbGF0Zm9ybSB0aW1lciBoYXMgY2hhbmdlZCBhbmQgQ1BVIHRpbWUgd2lsbCBv bmx5IGJlIHVwZGF0ZWQKPj4gKyAgICAgICAgICAgICAqIGFmdGVyIHdlIHNldCBhZ2FpbiB0aGUg Y2FsaWJyYXRpb24gdGltZXIsIHdoaWNoIG1lYW5zIHdlIG5lZWQgdG8KPj4gKyAgICAgICAgICAg ICAqIHNlZWQgYWdhaW4gZWFjaCBsb2NhbCBDUFUgdGltZS4gQXQgdGhpcyBzdGFnZSBUU0MgaXMg a25vd24gdG8gYmUKPj4gKyAgICAgICAgICAgICAqIHJlbGlhYmxlIGkuZS4gbW9ub3RvbmljYWxs eSBpbmNyZWFzaW5nIGFjcm9zcyBhbGwgQ1BVcyBzbyB0aGlzCj4+ICsgICAgICAgICAgICAgKiBs ZXRzIHVzIHJlbW92ZSB0aGUgc2tldyBiZXR3ZWVuIHBsYXRmb3JtIHRpbWVyIGFuZCBUU0MsIHNp bmNlCj4+ICsgICAgICAgICAgICAgKiB0aGVzZSBhcmUgbm93IGVmZmVjdGl2ZWx5IHRoZSBzYW1l Lgo+PiArICAgICAgICAgICAgICovCj4+ICsgICAgICAgICAgICBmb3JfZWFjaF9vbmxpbmVfY3B1 KCBjcHUgKQo+IAo+IFBsZWFzZSBkZWNpZGUgd2hldGhlciB5b3UgY29uc2lkZXIgZm9yX2VhY2hf b25saW5lX2NwdSBhCj4gY29udHJvbCBrZXl3b3JkIGxpa2UgaXRlbS4gSWYgeW91IGRvLCBhIGJs YW5rIGlzIG1pc3NpbmcgcHJpb3IgdG8gdGhlCj4gb3BlbmluZyBwYXJlbnRoZXNpcy4gSWYgeW91 IGRvbid0LCB0aGUgYmxhbmtzIGluc2lkZSB0aGUgcGFyZW50aGVzZXMKPiBuZWVkIHRvIGJlIGRy b3BwZWQuCkkgd2lsbCBnbyB3aXRoIHRoZSBjb250cm9sIGtleXdvcmQgbGlrZSBzdHlsZS4KCj4+ ICsgICAgICAgICAgICB7Cj4+ICsgICAgICAgICAgICAgICAgc3RydWN0IGNwdV90aW1lICp0ID0g JnBlcl9jcHUoY3B1X3RpbWUsIGNwdSk7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgICB0LT5zdGFt cC5sb2NhbF90c2MgPSBib290X3RzY19zdGFtcDsKPj4gKyAgICAgICAgICAgICAgICB0LT5zdGFt cC5sb2NhbF9zdGltZSA9IDA7Cj4+ICsgICAgICAgICAgICAgICAgdC0+c3RhbXAubG9jYWxfc3Rp bWUgPSBnZXRfc190aW1lX2ZpeGVkKGJvb3RfdHNjX3N0YW1wKTsKPj4gKyAgICAgICAgICAgICAg ICB0LT5zdGFtcC5tYXN0ZXJfc3RpbWUgPSB0LT5zdGFtcC5sb2NhbF9zdGltZTsKPj4gKyAgICAg ICAgICAgIH0KPiAKPiBXaXRob3V0IGFueSBzeW5jaHJvbml6YXRpb24sIGhvdyAiZ29vZCIgYXJl IHRoZSBjaGFuY2VzIHRoYXQKPiB0aGlzIHVwZGF0aW5nIHdvdWxkIHJhY2Ugd2l0aCBzb21ldGhp bmcgdGhlIG90aGVyIENQVXMgZG8/CgpJIGFzc3VtZWQgdGhhdCBhdCB0aGlzIHN0YWdlIGluaXQg Y2FsbHMgYXJlIHN0aWxsIGJlaW5nIGludm9rZWQgdGhhdCB3ZSB1cGRhdGUgYWxsCmNwdXMgdGlt ZSBpbmZvcywgYnV0IG1heWJlIGl0J3MgYSBtaXNjb25jZXB0aW9uLiBJIGNhbiBoYXZlIHRoaXMg cGFydCBpbiBvbmUgZnVuY3Rpb24KYW5kIGhhdmUgaXQgZG9uZSBvbl9zZWxlY3RlZF9jcHVzKCkg YW5kIHdhaXQgdW50aWwgYWxsIGNwdSB0aW1lIHN0cnVjdHVyZXMgZ2V0CnVwZGF0ZWQuIFRoYXQg cGVyaGFwcyB3b3VsZCBiZSBiZXR0ZXI/Cgo+IAo+PiBAQCAtMTUyOCw2ICsxNjA3LDcgQEAgdm9p ZCBfX2luaXQgZWFybHlfdGltZV9pbml0KHZvaWQpCj4+ICAKPj4gICAgICBwcmVpbml0X3BpdCgp Owo+PiAgICAgIHRtcCA9IGluaXRfcGxhdGZvcm1fdGltZXIoKTsKPj4gKyAgICBwbHRfdHNjLmZy ZXF1ZW5jeSA9IHRtcDsKPiAKPiBIb3cgY2FuIHRoaXMgYmUgdGhlIFRTQyBmcmVxdWVuY3k/IGlu aXRfcGxhdGZvcm1fdGltZXIoKQo+IHNwZWNpZmljYWxseSBza2lwcyB0aGUgVFNDLiBBbmQgSSBj YW4gc2VlIG5vIG90aGVyIHBsYWNlIHdoZXJlCj4gcGx0X3RzYy5mcmVxdWVuY3kgZ2V0cyBpbml0 aWFsaXplZC4gQW0gSSBvdmVybG9va2luZyBzb21ldGhpbmc/Cj4gClRoYXQncyB0aGUgY2FsaWJy YXRlZCBUU0MgZnJlcXVlbmN5LiBCZWZvcmUgSSB3YXMgc2V0dGluZyBwdHMtPmZyZXF1ZW5jeSBp bgppbml0X3RzY3RpbWVyIHRocm91Z2ggYSB0ZW1wb3JhcnkgdmFyaWFibGUgY2FsbGVkIHRzY19m cmVxLiBTbyBJIHRob3VnaHQgSSBjb3VsZCBqdXN0CmRyb3AgdGhlIHZhcmlhYmxlIGFuZCBzZXQg cGx0X3RzYyBkaXJlY3RseS4gVGhlIGRpZmZlcmVuY2UgdGhvdWdoIGZyb20gcHJldmlvdXMKdmVy c2lvbnMgaXMgdGhhdCBzaW5jZSBjb21taXQgOTMzNDAyOSB0aGlzIHZhbHVlIGlzIHJldHVybmVk IGZyb20gcGxhdGZvcm0gdGltZQpzb3VyY2UgaW5pdCgpIGFuZCBjYWxpYnJhdGVkIGFnYWluc3Qg cGxhdGZvcm0gdGltZXIsIGluc3RlYWQgb2YgYWx3YXlzIGFnYWluc3QgUElULgoKSm9hbwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==