From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 76497A00C4; Wed, 12 Oct 2022 14:25:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0B8B44303E; Wed, 12 Oct 2022 14:25:30 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id DBC5F4303E for ; Wed, 12 Oct 2022 14:25:27 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH v7 0/4] Add lcore poll busyness telemetry Date: Wed, 12 Oct 2022 14:25:26 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D873D7@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v7 0/4] Add lcore poll busyness telemetry Thread-Index: Adjczy7+cPVz/tV6TAOIbLj6Ez46JwBXg7jg References: <24c49429394294cfbf0d9c506b205029bac77c8b.1657890378.git.anatoly.burakov@intel.com> <20220914092929.1159773-1-kevin.laatz@intel.com> <3ec04d77-43e2-6eed-53b5-723ca5058911@intel.com> <98CBD80474FA8B44BF855DF32C47DC35D873A0@smartserver.smartshare.dk> <1be242de-8aef-5d8b-9ffa-f5db460fc6ef@ericsson.com> <98CBD80474FA8B44BF855DF32C47DC35D873CE@smartserver.smartshare.dk> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , "Kevin Laatz" , Cc: , "Bruce Richardson" , "Konstantin Ananyev" , "Conor Walsh" , "David Hunt" , "Nicolas Chautru" , "Fan Zhang" , "Ashish Gupta" , "Akhil Goyal" , "Chengwen Feng" , "Ray Kinsella" , "Thomas Monjalon" , "Ferruh Yigit" , "Andrew Rybchenko" , "Jerin Jacob" , "Sachin Saxena" , "Hemant Agrawal" , "Ori Kam" , "Honnappa Nagarahalli" , "David Marchand" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBGcm9tOiBNYXR0aWFzIFLDtm5uYmxvbSBbbWFpbHRvOmhvZm9yc0BseXNhdG9yLmxpdS5zZV0N Cj4gU2VudDogTW9uZGF5LCAxMCBPY3RvYmVyIDIwMjIgMTkuMzkNCj4gDQo+IE9uIDIwMjItMTAt MTAgMTc6MjIsIE1vcnRlbiBCcsO4cnVwIHdyb3RlOg0KPiA+PiBGcm9tOiBNYXR0aWFzIFLDtm5u YmxvbSBbbWFpbHRvOm1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tXQ0KPiA+PiBTZW50OiBU aHVyc2RheSwgNiBPY3RvYmVyIDIwMjIgMTcuMjcNCj4gPj4NCj4gPj4gT24gMjAyMi0xMC0wNiAx NToyNSwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+ID4+Pj4gRnJvbTogS2V2aW4gTGFhdHogW21h aWx0bzprZXZpbi5sYWF0ekBpbnRlbC5jb21dDQo+ID4+Pj4gU2VudDogV2VkbmVzZGF5LCA1IE9j dG9iZXIgMjAyMiAxNS40NQ0KPiA+Pj4+DQo+ID4+Pj4gT24gMTQvMDkvMjAyMiAxMDoyOSwgS2V2 aW4gTGFhdHogd3JvdGU6DQo+ID4+Pj4+IEN1cnJlbnRseSwgdGhlcmUgaXMgbm8gd2F5IHRvIG1l YXN1cmUgbGNvcmUgcG9sbGluZyBidXN5bmVzcyBpbiBhDQo+ID4+Pj4gcGFzc2l2ZQ0KPiA+Pj4+ PiB3YXksIHdpdGhvdXQgYW55IG1vZGlmaWNhdGlvbnMgdG8gdGhlIGFwcGxpY2F0aW9uLiBUaGlz IHBhdGNoc2V0DQo+ID4+IGFkZHMNCj4gPj4+PiBhIG5ldw0KPiA+Pj4+PiBFQUwgQVBJIHRoYXQg d2lsbCBiZSBhYmxlIHRvIHBhc3NpdmVseSB0cmFjayBjb3JlIHBvbGxpbmcNCj4gYnVzeW5lc3Mu DQo+ID4+Pj4gQXMgcGFydA0KPiA+Pj4+PiBvZiB0aGUgc2V0LCBuZXcgdGVsZW1ldHJ5IGVuZHBv aW50cyBhcmUgYWRkZWQgdG8gcmVhZCB0aGUNCj4gZ2VuZXJhdGUNCj4gPj4+PiBtZXRyaWNzLg0K PiA+Pj4+Pg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pg0KPiA+Pj4+IEJhc2VkIG9uIHRoZSBmZWVkYmFj ayBpbiB0aGUgZGlzY3Vzc2lvbnMgb24gdGhpcyBwYXRjaHNldCwgd2UgaGF2ZQ0KPiA+Pj4+IGRl Y2lkZWQgdG8gcmV2b2tlIHRoZSBzdWJtaXNzaW9uIG9mIHRoaXMgcGF0Y2hzZXQgZm9yIHRoZSAy Mi4xMQ0KPiA+Pj4+IHJlbGVhc2UuDQo+ID4+Pj4NCj4gPj4+PiBXZSB3aWxsIHJlLWV2YWx1YXRl IHRoZSBkZXNpZ24gd2l0aCB0aGUgYWltIHRvIHByb3ZpZGUgYSBtb3JlDQo+ID4+Pj4gYWNjZXB0 YWJsZQ0KPiA+Pj4+IHNvbHV0aW9uIGluIGEgZnV0dXJlIHJlbGVhc2UuDQo+ID4+Pg0KPiA+Pj4g R29vZCBjYWxsLiBUaGFuayB5b3UhDQo+ID4+Pg0KPiA+Pj4gSSBzdWdnZXN0IGhhdmluZyBhbiBv cGVuIGRpc2N1c3Npb24gYWJvdXQgcmVxdWlyZW1lbnRzL2V4cGVjdGF0aW9ucw0KPiA+PiBmb3Ig c3VjaCBhIHNvbHV0aW9uLCBiZWZvcmUgeW91IGltcGxlbWVudCBhbnkgY29kZS4NCj4gPj4+DQo+ ID4+PiBXZSBoYXZlbid0IGZvdW5kIHRoZSBnb2xkZW4gc29sdXRpb24gZm9yIG91ciBhcHBsaWNh dGlvbiwgYnV0IHdlDQo+IGhhdmUNCj4gPj4gZGlzY3Vzc2VkIGl0IHF1aXRlIGEgbG90IGludGVy bmFsbHkuIEhlcmUgYXJlIHNvbWUgb2Ygb3VyIHRob3VnaHRzOg0KPiA+Pj4NCj4gPj4+IFRoZSBh cHBsaWNhdGlvbiBtdXN0IGZlZWQgdGhlIGxpYnJhcnkgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBo b3cNCj4gbXVjaA0KPiA+PiB3b3JrIGl0IGlzIGRvaW5nLg0KPiA+Pj4NCj4gPj4+IEUuZy4gQSBw aXBlbGluZSBzdGFnZSB0aGF0IHBvbGxzIHRoZSBOSUMgZm9yIE4gaW5ncmVzcyBwYWNrZXRzDQo+ IGNvdWxkDQo+ID4+IGZlZWQgdGhlIGJ1c3luZXNzIGxpYnJhcnkgd2l0aCB2YWx1ZXMgc3VjaCBh czoNCj4gPj4+ICAgIC0gIm5vIHdvcmsiOiB6ZXJvIHBhY2tldHMgcmVjZWl2ZWQsDQo+ID4+PiAg ICAtICIyNSAlIHV0aWxpemF0aW9uIjogbGVzcyB0aGFuIE4gcGFja2V0cyByZWNlaXZlZCAoaW4g dGhpcw0KPiA+PiBleGFtcGxlOiA4IG9mIG1heCAzMiBwYWNrZXRzID0gMjUgJSksIG9yDQo+ID4+ PiAgICAtICIxMDAlIHV0aWxpemF0aW9uLCBwb3NzaWJseSBtb3JlIHdvcmsgdG8gZG8iOiBhbGwg TiBwYWNrZXRzDQo+ID4+IHJlY2VpdmVkIChtb3JlIHBhY2tldHMgY291bGQgYmUgcmVhZHkgaW4g dGhlIHF1ZXVlLCBidXQgd2UgZG9uJ3QNCj4ga25vdykuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBJZiBz b21lIGxjb3JlJ3MgTklDIFJYIHF1ZXVlIGFsd2F5cywgZm9yIGV2ZXJ5IHBvbGwgb3BlcmF0aW9u LA0KPiBwcm9kdWNlcw0KPiA+PiA4IHBhY2tldHMgb3V0IG9mIGEgbWF4IGJ1cnN0IG9mIDMyLCBJ IHdvdWxkIGFyZ3VlIHRoYXQgbGNvcmUgaXMgMTAwJQ0KPiA+PiBidXN5LiBXaXRoIGFsd2F5cyBz b21ldGhpbmcgdG8gZG8sIGl0IGRvZXNuJ3QgaGF2ZSBhIHNpbmdsZSBjeWNsZSB0bw0KPiA+PiBz cGFyZS4NCj4gPg0KPiA+IEkgd291bGQgYXJndWUgdGhhdCBpZiBJIGhhdmUgZm91ciBjb3JlcyBl YWNoIG9ubHkgcHJvY2Vzc2luZyAyNSAlIG9mDQo+IHRoZSBwYWNrZXRzLCBvbmUgY29yZSB3b3Vs ZCBzdWZmaWNlIGluc3RlYWQuIE9yLCB0aGUgYXBwbGljYXRpb24gY291bGQNCj4gc2NoZWR1bGUg dGhlIGZ1bmN0aW9uIGF0IDEvNCBvZiB0aGUgZnJlcXVlbmN5IGl0IGRvZXMgbm93IChlLmcuIGNh bGwNCj4gdGhlIGZ1bmN0aW9uIG9uY2UgZXZlcnkgNDAgbWljcm9zZWNvbmRzIGluc3RlYWQgb2Yg b25jZSBldmVyeSAxMA0KPiBtaWNyb3NlY29uZHMpLg0KPiA+DQo+IA0KPiBEbyB5b3UgbWVhbiAi b25seSBwcm9jZXNzaW5nIHBhY2tldHMgMjUlIG9mIHRoZSB0aW1lIj8gSWYgeWVzLCBiZWluZw0K PiBhYmxlIHRvIHJlcGxhY2UgZm91ciBjb3JlIEAgMjUlIHV0aWxpemF0aW9uIHdpdGggb25lIGNv cmUgQCAxMDAlIG1pZ2h0DQo+IGJlIGEgcmVhc29uYWJsZSBmaXJzdCBndWVzcy4gSSdtIG5vdCBz dXJlIGhvdyBpdCByZWxhdGVzIHRvIHdoYXQgSQ0KPiB3cm90ZSwgdGhvdWdoLg0KDQpJIG1lYW50 OiAib25seSBwcm9jZXNzaW5nIDI1ICUgb2YgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhY2tldHMg aXQgY291bGQgaGF2ZSBwcm9jZXNzZWQgKGlmIDEwMCAlIHV0aWxpemVkKSINCg0KQSBzZXJ2aWNl IGlzIGFsbG93ZWQgdG8gZG8gc29tZSBmaXhlZCBtYXhpbXVtIGFtb3VudCBvZiB3b3JrIGV2ZXJ5 IHRpbWUgaXRzIGZ1bmN0aW9uIGlzIGNhbGxlZDsgaW4gbXkgZXhhbXBsZSByZWNlaXZlIDMyIHBh Y2tldHMuIEJ1dCBpZiB0aGVyZSB3ZXJlIG9ubHkgOCBwYWNrZXRzIHRvIHJlY2VpdmUgaW4gYSBj YWxsLCB0aGUgdXRpbGl6YXRpb24gaW4gdGhhdCBjYWxsIHdhcyBvbmx5IDI1ICUgKGFsdGhvdWdo IHRoZSBsY29yZSB3YXMgMTAwICUgYWN0aXZlIGluIGR1cmF0aW9uIG9mIHRoZSBmdW5jdGlvbiBj YWxsKS4gU28gdGhlIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgbGVzcyBmcmVxdWVudGx5Lg0KDQpJ ZiB0aGUgdXRpbGl6YXRpb24gcGVyIHBhY2tldCBpcyBsaW5lYXIsIHRoZW4gaXQgbWFrZXMgbm8g ZGlmZmVyZW5jZS4gSG93ZXZlciwgaXQgaXMgbm9uLWxpbmVhciwgc28gaXQgaXMgbW9yZSBlZmZp Y2llbnQgdG8gY2FsbCB0aGUgZnVuY3Rpb24gMS80IG9mIHRoZSB0aW1lcywgcmVjZWl2aW5nIDMy IHBhY2tldHMgZWFjaCB0aW1lLCB0aGFuIGNhbGxpbmcgaXQgdG9vIGZyZXF1ZW50bHkgYW5kIG9u bHkgcmVjZWl2ZSA4IHBhY2tldHMgZWFjaCB0aW1lLg0KDQo+IA0KPiA+IEhvd2V2ZXIsIHRoZSBi dXNpbmVzcyBkb2VzIG5vdCBzY2FsZSBsaW5lYXJseSB3aXRoIHRoZSBudW1iZXIgb2YNCj4gcGFj a2V0cyBwcm9jZXNzZWQgLSB3aGljaCBhbiBpbnRlbmRlZCBiZW5lZml0IG9mIGJ1cnN0aW5nLg0K PiA+DQo+IA0KPiBTdXJlLCB0aGVyZSdzIHVzdWFsbHkgYSBub24tbGluZWFyIHJlbGF0aW9uc2hp cCBiZXR3ZWVuIHRoZSBzeXN0ZW0NCj4gY2FwYWNpdHkgdXNlZCBhbmQgdGhlIHJlc3VsdGluZyBD UFUgdXRpbGl6YXRpb24uIEl0IGNhbiBiZSBib3RoIGluIHRoZQ0KPiBtYW5uZXIgeW91IGRlc2Ny aWJlIGJlbG93LCB3aXRoIHRoZSBwZXItcGFja2V0IHByb2Nlc3NpbmcgbGF0ZW5jeQ0KPiByZWR1 Y2VkIGF0IGhpZ2hlciByYXRlcywgb3IgdGhlIG90aGVyIHdheSBhcm91bmQuIEZvciBleGFtcGxl LCBOSUMgUlgNCj4gTExDIHN0YXNoaW5nIG1heSBjYXVzZSBhIGxvdCBvZiBMTEMgZXZpY3Rpb25z LCBhbmQgZ2VuZXJhbGx5IHRoZQ0KPiBhcHBsaWNhdGlvbiBtaWdodCBoYXZlIGEgbGFyZ2VyIHdv cmtpbmcgc2V0IHNpemUgZHVyaW5nIGhpZ2ggbG9hZCwgc28NCj4gdGhlcmUgbWF5IGJlIGZvcmNl cyB3b3JraW5nIGluIHRoZSBvdGhlciBkaXJlY3Rpb24gYXMgd2VsbC4NCj4gDQo+IEl0IHNlZW1z IHRvIG1lICJidXN5bmVzcyIgdGVsZW1ldHJ5IHZhbHVlIHNob3VsZCBqdXN0IGJlIGxjb3JlIHRo cmVhZA0KPiBDUFUgdXRpbGl6YXRpb24gKGluIHRvdGFsLCBvciB3aXRoIHNvbWUgcGVyLW1vZHVs ZSBicmVha2Rvd24pLg0KDQpXZSBwcm9iYWJseSBhZ3JlZSB0aGF0IGlmIHdlIGNhbm5vdCBkaXNj cmltaW5hdGUgYmV0d2VlbiB1c2VsZXNzIGFuZCB1c2VmdWwgd29yaywgdGhlbiB0aGUgdXRpbGl6 YXRpb24gd2lsbCBhbHdheXMgYmUgMTAwICUgbWludXMgc29tZSBjeWNsZXMga25vd24gYnkgdGhl IGxpYnJhcnkgdG8gYmUgbm9uLXByb2R1Y3RpdmUgb3ZlcmhlYWQuDQoNCkkgcHJlZmVyIGEgc2Nh bGUgZnJvbSAwIHRvIDEwMCAlIHVzZWZ1bCwgcmF0aGVyIHRoYW4gYSBCb29sZWFuIGRpc2NyaW1p bmF0aW5nIGJldHdlZW4gdXNlbGVzcyBhbmQgdXNlZnVsIGN5Y2xlcyBzcGVudCBpbiBhIGZ1bmN0 aW9uLg0KDQo+IElmIHlvdQ0KPiB3YW50IHRvIGtub3cgaG93IG11Y2ggb2YgdGhlIHN5c3RlbSdz IGNhcGFjaXR5IGlzIHVzZWQsIHlvdSBuZWVkIGhlbHANCj4gZnJvbSBhbiBhcHBsaWNhdGlvbi1z cGVjaWZpYyBhZ2VudCwgZXF1aXBwZWQgd2l0aCBhIG1vZGVsIG9mIGhvdyBDUFUNCj4gdXRpbGl6 YXRpb24gYW5kIGNhcGFjaXR5IHJlbGF0ZXMuIFN1Y2ggYSBoZXVyaXN0aWMgY291bGQgdGFrZSBv dGhlcg0KPiBmYWN0b3JzIGludG8gYWNjb3VudCBhcyB3ZWxsLCBlLmcuIHRoZSBhdmVyYWdlIHF1 ZXVlIHNpemVzLCBwYWNrZXQNCj4gcmF0ZXMsIHBhY2tldCBzaXplcyBldGMuDQoNClRoYXQgaXMg ZXhhY3RseSB3aGF0IEknbSBleHBsb3JpbmcgaWYgdGhpcyBsaWJyYXJ5IGNhbiBhcHByb3hpbWF0 ZSBpbiBzb21lIHNpbXBsZSB3YXkuDQoNCj4gDQo+IEluIG15IGV4cGVyaWVuY2UsIGZvciBoaWdo IHRvdWNoIGFwcGxpY2F0aW9ucyAoaS5lLiwgdGhvc2UgdGhhdCBzcGVuZHMNCj4gdGhvdXNhbmRz IG9mIGN5Y2xlcyBwZXIgcGFja2V0KSwgQ1BVIHV0aWxpemF0aW9uIGlzIGEgcHJldHR5IGRlY2Vu dA0KPiBhcHByb3hpbWF0aW9uIG9uIGhvdyBtdWNoIG9mIHRoZSBzeXN0ZW0ncyBjYXBhY2l0eSBp cyB1c2VkLg0KDQpJIGFncmVlLg0KDQpXZSBjYW4gcHJvYmFibHkgYWxzbyBhZ3JlZSB0aGF0IHRo ZSBudW1iZXIgb2YgY3ljbGVzIHNwZW50IHJvdWdobHkgZm9sbG93cyBhIGZvcm11bGEgbGlrZTog QSArIEIgKiB4LCB3aGVyZSBCIGlzIHRoZSBudW1iZXIgb2YgY3ljbGVzIHNwZW50IHRvIGhhbmRs ZSB0aGUgYnVyc3QgaXRzZWxmLCBhbmQgQyBpcyB0aGUgbnVtYmVyIG9mIGN5Y2xlcyBpdCB0YWtl cyB0byBoYW5kbGUgYW4gYWRkaXRpb25hbCBwYWNrZXQgKG9yIG90aGVyIHVuaXQgb2Ygd29yaykg aW4gdGhlIGJ1cnN0Lg0KDQpJbiBoaWdoIHRvdWNoIHNlcnZpY2VzLCBBIG1pZ2h0IGJlIHJlbGF0 aXZlbHkgaW5zaWduaWZpY2FudDsgYnV0IGluIG90aGVyIGFwcGxpY2F0aW9ucywgQSBpcyB2ZXJ5 IHNpZ25pZmljYW50Lg0KDQpHb2luZyBiYWNrIHRvIG15IGV4YW1wbGUsIGFuZCB1c2luZyBteSBw cm9maWxlciBudW1iZXJzIGZyb20gYmVsb3cuLi4NCg0KSWYgNjc5IGN5Y2xlcyBhcmUgc3BlbnQg aW4gZXZlcnkgUlggZnVuY3Rpb24gY2FsbCB0byByZWNlaXZlIDggcGFja2V0cywgYW5kIHRoZSBm dW5jdGlvbiBpcyBjYWxsZWQgNCB0aW1lcyBwZXIgdGltZSB1bml0LCBpdCBpcyA2NzkgKiA0ID0g Mi43MTYgY3ljbGVzIHNwZW50IHBlciB0aW1lIHVuaXQuDQoNCklmIHRoZSBsaWJyYXJ5IGNhbiB0 ZWxsIHVzIHRoYXQgdGhlIGZ1bmN0aW9uIGlzIG9ubHkgZG9pbmcgMjUgJSB1c2VmdWwgd29yaywg d2UgY2FuIGluc3RlYWQgY2FsbCB0aGUgZnVuY3Rpb24gMSB0aW1lIHBlciB0aW1lIHVuaXQuIFdl IHdpbGwgc3RpbGwgZ2V0IHRoZSBzYW1lIDMyIHBhY2tldHMgcGVyIHRpbWUgdW5pdCwgYnV0IG9u bHkgc3BlbmQgMS4yNzUgY3ljbGVzIHBlciB0aW1lIHVuaXQuDQoNClRoaXMgaXMgb25lIG9mIHRo ZSB0aGluZ3MgSSBhbSBob3BpbmcgZm9yIHRoZSBsaWJyYXJ5IHRvIGhlbHAgdGhlIGFwcGxpY2F0 aW9uIGFjaGlldmUuIChCeSBmZWVkaW5nIHRoZSBsaWJyYXJ5IHdpdGggaW5mb3JtYXRpb24gYWJv dXQgdGhlIHdvcmsgZG9uZS4pDQoNCj4gDQo+ID4gSGVyZSBhcmUgc29tZSByZWFsIGxpZmUgbnVt YmVycyBmcm9tIG91ciBpbi1ob3VzZSBwcm9maWxlciBsaWJyYXJ5IGluDQo+IGEgcHJvZHVjdGlv biBlbnZpcm9ubWVudCwgd2hpY2ggc2F5cyB0aGF0IHBvbGxpbmcgdGhlIE5JQyBmb3IgcGFja2V0 cw0KPiB0YWtlcyBvbiBhdmVyYWdlOg0KPiA+DQo+ID4gMTA0IGN5Y2xlcyB3aGVuIHRoZSBOSUMg cmV0dXJucyAwIHBhY2tldHMsDQo+ID4gNTI5IGN5Y2xlcyB3aGVuIHRoZSBOSUMgcmV0dXJucyAx IHBhY2tldCwNCj4gPiA2NzkgY3ljbGVzIHdoZW4gdGhlIE5JQyByZXR1cm5zIDggcGFja2V0cywg YW5kDQo+ID4gMTI3NSBjeWNsZXMgd2hlbiB0aGUgTklDIHJldHVybnMgYSBmdWxsIGJ1cnN0IG9m IDMyIHBhY2tldHMuDQo+ID4NCj4gPiAoVGhpcyBpbmNsdWRlcyBzb21lIG92ZXJoZWFkIGZyb20g b3VyIGFwcGxpY2F0aW9uLCBzbyB5b3Ugd2lsbCBzZWUNCj4gb3RoZXIgbnVtYmVycyBpbiB5b3Vy IGFwcGxpY2F0aW9uLikNCj4gPg0KPiA+Pg0KPiA+PiBJdCBzZWVtcyB0byBtZSB0aGF0IHlvdSBi YXNpY2FsbHkgaGF2ZSB0d28gb3B0aW9ucywgaWYgeW91IGRvDQo+ID4+IGFwcGxpY2F0aW9uLWxl dmVsICJidXN5bmVzcyIgcmVwb3J0aW5nLg0KPiA+Pg0KPiA+PiBFaXRoZXIgdGhlIGFwcGxpY2F0 aW9uDQo+ID4+IGEpIHJlcG9ydHMgd2hlbiBhIHNlY3Rpb24gb2YgdXNlZnVsIHdvcmsgYmVnaW5z LCBhbmQgd2hlbiBpdCBlbmRzLA0KPiBhcw0KPiA+PiB0d28gc2VwYXJhdGUgZnVuY3Rpb24gY2Fs bHMuDQo+ID4+IGIpIGFmdGVyIGhhdmluZyB0YWtlbiBhIHRpbWUgc3RhbXAsIGFuZCBoYXZpbmcg Y29tcGxldGVkIGEgc2VjdGlvbg0KPiBvZg0KPiA+PiBjb2RlIHdoaWNoIHR1cm5lZCBvdXQgdG8g YmUgc29tZXRoaW5nIHVzZWZ1bCwgaXQgcmVwb3J0cyBiYWNrIHRvIHRoZQ0KPiA+PiBidXN5bmVz cyBtb2R1bGUgd2l0aCBvbmUgZnVuY3Rpb24gY2FsbCwgY29udGFpbmluZyB0aGUgYnVzeSBjeWNs ZXMNCj4gPj4gc3BlbnQuDQo+ID4+DQo+ID4+IEluIGEpLCB0aGUgdHdvIGNhbGxzIGNvdWxkIGJl IHRvIHRoZSBzYW1lIGZ1bmN0aW9uLCB3aXRoIGEgYm9vbGVhbg0KPiA+PiBhcmd1bWVudCBpbmZv cm1pbmcgdGhlIGJ1c3luZXNzIG1vZHVsZSBpZiB0aGlzIGlzIHRoZSBiZWdpbm5pbmcgb2YgYQ0K PiA+PiBidXN5IG9yIGFuIGlkbGUgcGVyaW9kLiBJbiBzdWNoIGNhc2UsIGp1c3QgcGFzcyAibnVt X3BrdHNfZGVxdWV1ZWQgPg0KPiAwIg0KPiA+PiB0byB0aGUgY2FsbC4NCj4gPg0KPiA+IE91ciBw cm9maWxlciBsaWJyYXJ5IGhhcyBhIHN0YXJ0KClhbmQgYW4gZW5kKCkgZnVuY3Rpb24sIGFuZCBh bg0KPiBlbmRfYW5kX3N0YXJ0KCkgZnVuY3Rpb24gZm9yIHdoZW4gYSBzZWN0aW9uIGRpcmVjdGx5 IGZvbGxvd3MgdGhlDQo+IHByZWNlZGluZyBzZWN0aW9uICh0byBvbmx5IHRha2Ugb25lIHRpbWVz dGFtcCBpbnN0ZWFkIG9mIHR3bykuDQo+ID4NCj4gDQo+IEkgbGlrZSB0aGUgaWRlYSBvZiBhIGVu ZF9hbmRfc3RhcnQoKSAoZXhjZXB0IGZvciB0aGUgbmFtZSwgbWF5YmUpLg0KPiANCj4gPj4NCj4g Pj4gV2hhdCB5b3Ugd291bGQgbGlrZSBpcyBhIHNvbHV0aW9uIHdoaWNoIGF2b2lkIHBpbmctcG9u ZyBiZXR3ZWVuIGlkbGUNCj4gPj4gYW5kDQo+ID4+IGJ1c3kgc3RhdGVzICh3aXRoIHRoZSByZXN1 bHRpbmcgdGltZSBzdGFtcGluZyBhbmQgY29tcHV0YXRpb25zKSBpbg0KPiA+PiBzY2VuYXJpb3Mg d2hlcmUgYSBsY29yZSB0aHJlYWQgbWl4IHNvdXJjZXMgb2Ygd29yayB3aGljaCBvZnRlbiBoYXZl DQo+ID4+IGl0ZW1zIGF2YWlsYWJsZSwgd2l0aCBzb3VyY2VzIHRoYXQgZG8gbm90IChlLmcuLCBw YWNrZXRzIGluIGEgUlgNCj4gcXVldWUNCj4gPj4gdmVyc3VzIHJlYXNzZW1ibHkgdGltZW91dHMg aW4gYSBjb3JlLWxvY2FsIHRpbWVyIHdoZWVsKS4gSXQgd291bGQgYmUNCj4gPj4gYmV0dGVyIGlu IHRoYXQgc2l0dWF0aW9uLCB0byBhdHRyaWJ1dGUgdGhlIHRpbWVyIHdoZWVsIHBvbGwgY3ljbGVz DQo+IGFzDQo+ID4+IGJ1c3kgY3ljbGVzLg0KPiA+Pg0KPiA+PiBBbm90aGVyIGNydWNpYWwgYXNw ZWN0IGlzIHRoYXQgeW91IHdhbnQgdGhlIEFQSSB0byBiZSBzaW1wbGUsIGFuZA0KPiBjb2RlDQo+ ID4+IGNoYW5nZXMgdG8gYmUgbWluaW1hbC4NCj4gPj4NCj4gPj4gSXQncyB1bmNsZWFyIHRvIG1l IGlmIHlvdSBuZWVkIHRvIGFjY291bnQgZm9yIGJvdGggaWRsZSBhbmQgYnVzeQ0KPiA+PiBjeWNs ZXMsDQo+ID4+IG9yIG9ubHkgYnVzeSBjeWNsZXMsIGFuZCBhc3N1bWUgYWxsIG90aGVyIGN5Y2xl cyBhcmUgaWRsZS4gVGhlIHdpbGwNCj4gYmUNCj4gPj4gZm9yIGEgdHJhZGl0aW9uYWwgMToxIEVB TCB0aHJlYWQgPC0+IENQVSBjb3JlIG1hcHBpbmcsIGJ1dCBub3QgaWYNCj4gdGhlDQo+ID4+ICIt LWxjb3JlcyIgcGFyYW1ldGVyIGlzIHVzZWQgdG8gY3JlYXRlIGZsb2F0aW5nIEVBTCB0aHJlYWRz LCBhbmQgRUFMDQo+ID4+IHRocmVhZHMgd2hpY2ggc2hhcmUgdGhlIHNhbWUgY29yZSwgYW5kIHRo dXMgbWF5IG5vdCBiZSBhYmxlIHRvIHVzZQ0KPiAxMDAlDQo+ID4+IG9mIHRoZSBUU0MgY3ljbGVz Lg0KPiA+Pg0KPiA+Pj4gQSBwaXBlbGluZSBzdGFnZSB0aGF0IHNlcnZpY2VzIGEgUW9TIHNjaGVk dWxlciBjb3VsZCBhZGRpdGlvbmFsbHkNCj4gPj4gZmVlZCB0aGUgbGlicmFyeSB3aXRoIHZhbHVl cyBzdWNoIGFzOg0KPiA+Pj4gICAgLSAiMTAwJSB1dGlsaXphdGlvbiwgZGVmaW5pdGVseSBtb3Jl IHdvcmsgdG8gZG8iOiBzdG9wcGVkDQo+ID4+IHByb2Nlc3NpbmcgZHVlIHRvIHNvbWUgIm1heCB3 b3JrIHBlciBjYWxsIiBsaW1pdGF0aW9uLg0KPiA+Pj4gICAgLSAid2FpdGluZywgbm8gd29yayB1 bnRpbCBbREVMQVldIG5zIjogY3VycmVudCB0aW1lc2xvdCBoYXMgYmVlbg0KPiA+PiBmaWxsZWQs IHdhaXRpbmcgZm9yIHRoZSBuZXh0IHRpbWVzbG90IHRvIHN0YXJ0Lg0KPiA+Pj4NCj4gPj4+IEl0 IGlzIGltcG9ydGFudCB0byBub3RlIHRoYXQgYW55IHBpcGVsaW5lIHN0YWdlIHByb2Nlc3Npbmcg cGFja2V0cw0KPiA+PiAob3Igc29tZSBvdGhlciBvYmplY3RzISkgbWlnaHQgcHJvY2VzcyBhIGRp ZmZlcmVudCBtYXhpbXVtIG51bWJlciBvZg0KPiA+PiBvYmplY3RzIHRoYW4gdGhlIGluZ3Jlc3Mg cGlwZWxpbmUgc3RhZ2UuIFdoYXQgSSBtZWFuIGlzOiBUaGUgbnVtYmVyDQo+IE4NCj4gPj4gbWln aHQgbm90IGJlIHRoZSBzYW1lIGZvciBhbGwgcGlwZWxpbmUgc3RhZ2VzLg0KPiA+Pj4NCj4gPj4+ DQo+ID4+PiBUaGUgaW5mb3JtYXRpb24gc2hvdWxkIGJlIGNvbGxlY3RlZCBwZXIgbGNvcmUgb3Ig dGhyZWFkLCBhbHNvIHRvDQo+ID4+IHByZXZlbnQgY2FjaGUgdHJhc2hpbmcuDQo+ID4+Pg0KPiA+ Pj4gQWRkaXRpb25hbGx5LCBpdCBjb3VsZCBiZSBjb2xsZWN0ZWQgcGVyIHBpcGVsaW5lIHN0YWdl IHRvbywgbWFraW5nDQo+ID4+IHRoZSBjb2xsZWN0aW9uIHR3by1kaW1lbnNpb25hbC4gVGhpcyB3 b3VsZCBlc3NlbnRpYWxseSBtYWtlIGl0IGENCj4gPj4gcHJvZmlsaW5nIGxpYnJhcnksIHdoZXJl IHlvdSAtIGluIGFkZGl0aW9uIHRvIHNlZWluZyBob3cgbXVjaCB0aW1lDQo+IGlzDQo+ID4+IHNw ZW50IHdvcmtpbmcgLSBhbHNvIGNhbiBzZWUgd2hpY2ggd29yayB0aGUgdGltZSBpcyBzcGVudCBv bi4NCj4gPj4+DQo+ID4+DQo+ID4+IElmIHlvdSBpbnRyb2R1Y2Ugc3ViY2F0ZWdvcmllcyBvZiAi YnVzeSIsIGxpa2UgImJ1c3ktd2l0aC1YIiwgYW5kDQo+ID4+ICJidXN5LXdpdGgtWSIsIHRoZSBi b29rIGtlZXBpbmcgd2lsbCBiZSBtb3JlIGV4cGVuc2l2ZSwgc2luY2UgeW91DQo+IHdpbGwNCj4g Pj4gdHJhbnNpdCBiZXR3ZWVuIHN0YXRlcyBldmVuIGZvciAxMDAlIGJ1c3kgbGNvcmVzICh3aGlj aCBpbiBwcmluY2lwbGUNCj4gPj4geW91DQo+ID4+IG5ldmVyLCBvciBhdCBsZWFzdCB2ZXJ5IHJh cmVseSwgbmVlZCB0byBkbyBpZiB5b3UgaGF2ZSBvbmx5IGJ1c3kgYW5kDQo+ID4+IGlkbGUgYXMg c3RhdGVzKS4NCj4gPj4NCj4gPj4gSWYgeW91ciBhcHBsaWNhdGlvbiBpcyBvcmdhbml6ZWQgYXMg RFBESyBzZXJ2aWNlcywgeW91IHdpbGwgZ2V0IHRoaXMNCj4gPj4gYWxyZWFkeSB0b2RheSwgb24g YSBEUERLIHNlcnZpY2UgbGV2ZWwuDQo+ID4+DQo+ID4+IElmIHlvdSBoYXZlIHlvdXIgYXBwbGlj YXRpb24gb3JnYW5pemVkIGFzIGEgcGlwZWxpbmUsIGFuZCB5b3UgdXNlIGFuDQo+ID4+IGV2ZW50 IGRldmljZSBhcyBhIHNjaGVkdWxlciBiZXR3ZWVuIHRoZSBzdGFnZXMsIHRoYXQgZXZlbnQgZGV2 aWNlDQo+IGhhcyBhDQo+ID4+IGdvb2Qgb3Bwb3J0dW5pdHkgdG8gZG8gdGhpcyBraW5kIG9mIGJv b2trZWVwaW5nLiBEU1csIGZvciBleGFtcGxlLA0KPiA+PiBrZWVwcw0KPiA+PiB0cmFjayBvZiB0 aGUgYXZlcmFnZSBwcm9jZXNzaW5nIGxhdGVuY3kgZm9yIGV2ZW50cywgYW5kIGhvdyBtYW55DQo+ IGV2ZW50cw0KPiA+PiBvZiB2YXJpb3VzIHR5cGVzIGhhdmUgYmVlbiBwcm9jZXNzZWQuDQo+ID4+ DQo+ID4NCj4gPiBMb3RzIG9mIGdvb2QgaW5wdXQsIE1hdHRpYXMuIExldCdzIHNlZSB3aGF0IG90 aGVycyBzdWdnZXN0LiA6LSkNCj4gPg0KPiA+Pj4gQXMgbWVudGlvbmVkIGR1cmluZyB0aGUgcHJl dmlvdXMgZGlzY3Vzc2lvbnMsIEFQSXMgc2hvdWxkIGJlDQo+IHByb3ZpZGVkDQo+ID4+IHRvIG1h a2UgdGhlIGNvbGxlY3RlZCBpbmZvcm1hdGlvbiBtYWNoaW5lIHJlYWRhYmxlLCBzbyB0aGUNCj4g YXBwbGljYXRpb24NCj4gPj4gY2FuIHVzZSBpdCBmb3IgcG93ZXIgbWFuYWdlbWVudCBhbmQgb3Ro ZXIgcHVycG9zZXMuDQo+ID4+Pg0KPiA+Pj4gT25lIG9mIHRoZSBzaW1wbGUgdGhpbmdzIEkgd291 bGQgbGlrZSB0byBiZSBhYmxlIHRvIGV4dHJhY3QgZnJvbQ0KPiBzdWNoDQo+ID4+IGEgbGlicmFy eSBpcyBDUFUgVXRpbGl6YXRpb24gKHBlcmNlbnRhZ2UpIHBlciBsY29yZS4gPg0KPiA+Pj4gQW5k IHNpbmNlIEkgd2FudCB0aGUgQ1BVIFV0aWxpemF0aW9uIHRvIGJlIHNob3duIGZvciBtdWx0aXBs ZSB0aGUNCj4gPj4gdGltZSBpbnRlcnZhbHMgKHVzdWFsbHkgMSwgNSBvciAxNSBtaW51dGVzOyBi dXQgcGVyaGFwcyBhbHNvIDENCj4gc2Vjb25kDQo+ID4+IG9yIDEgbWlsbGlzZWNvbmQpIHRoZSBv dXRwdXQgZGF0YSBzaG91bGQgYmUgZXhwb3NlZCBhcyBhIGNvdW50ZXINCj4gdHlwZSwNCj4gPj4g c28gbXkgImxvYWRhdmcgYXBwbGljYXRpb24iIGNhbiBjYWxjdWxhdGUgdGhlIHJhdGUgYnkgc3Vi dHJhY3RpbmcNCj4gdGhlDQo+ID4+IHByZXZpb3VzbHkgb2J0YWluZWQgdmFsdWUgZnJvbSB0aGUg Y3VycmVudCB2YWx1ZSBhbmQgZGl2aWRlIHRoZQ0KPiA+PiBkaWZmZXJlbmNlIGJ5IHRoZSB0aW1l IGludGVydmFsLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSSBhZ3JlZS4gSW4gYWRkaXRpb24sIHlvdSBh bHNvIHdhbnQgdGhlICJyYXcgZGF0YSIgKGxjb3JlIGJ1c3kNCj4gY3ljbGVzKQ0KPiA+PiBzbyB5 b3UgY2FuIGRvIHlvdSBvd24gc2FtcGxpbmcsIGF0IHlvdXIgb3duIGZhdm9yaXRlLWxlbmd0aA0K PiBpbnRlcnZhbHMuDQo+ID4+DQo+ID4+PiAtTW9ydGVuDQo+ID4+Pg0KPiA+DQoNCg==