From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id B959C3978 for ; Mon, 24 Oct 2016 23:47:19 +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 Date: Mon, 24 Oct 2016 23:47:16 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC359EA8B2@smartserver.smartshare.dk> In-Reply-To: <20161024162538.GA34988@bricha3-MOBL3.ger.corp.intel.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] mbuf changes Thread-Index: AdIuE0lBBTpzBsokTaOleYIsF+fc4AAFgr1A References: <98CBD80474FA8B44BF855DF32C47DC359EA8B1@smartserver.smartshare.dk> <7910CF2F-7087-4307-A9AC-DE0287104185@intel.com> <20161024162538.GA34988@bricha3-MOBL3.ger.corp.intel.com> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Bruce Richardson" , "Wiles, Keith" Cc: , "Olivier Matz" Subject: Re: [dpdk-dev] mbuf changes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Oct 2016 21:47:20 -0000 Q29tbWVudHMgaW5saW5lLg0KDQpNZWQgdmVubGlnIGhpbHNlbiAvIGtpbmQgcmVnYXJkcw0KLSBN b3J0ZW4gQnLDuHJ1cA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl diBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgQnJ1Y2UgUmljaGFy ZHNvbg0KPiBTZW50OiBNb25kYXksIE9jdG9iZXIgMjQsIDIwMTYgNjoyNiBQTQ0KPiBUbzogV2ls ZXMsIEtlaXRoDQo+IENjOiBNb3J0ZW4gQnLDuHJ1cDsgZGV2QGRwZGsub3JnOyBPbGl2aWVyIE1h dHoNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gbWJ1ZiBjaGFuZ2VzDQo+IA0KPiBPbiBNb24s IE9jdCAyNCwgMjAxNiBhdCAwNDoxMTozM1BNICswMDAwLCBXaWxlcywgS2VpdGggd3JvdGU6DQo+ ID4NCj4gPiA+IE9uIE9jdCAyNCwgMjAxNiwgYXQgMTA6NDkgQU0sIE1vcnRlbiBCcsO4cnVwIDxt YkBzbWFydHNoYXJlc3lzdGVtcy5jb20+DQo+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IEZpcnN0IG9m IGFsbDogVGhhbmtzIGZvciBhIGdyZWF0IERQREsgVXNlcnNwYWNlIDIwMTYhDQo+ID4gPg0KPiA+ ID4NCj4gPiA+DQo+ID4gPiBDb250aW51aW5nIHRoZSBVc2Vyc3BhY2UgZGlzY3Vzc2lvbiBhYm91 dCBPbGl2aWVyIE1hdHrigJlzIHByb3Bvc2VkIG1idWYNCj4gY2hhbmdlcy4uLg0KPiANCj4gVGhh bmtzIGZvciBrZWVwaW5nIHRoZSBkaXNjdXNzaW9uIGdvaW5nIQ0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gMS4NCj4gPiA+DQo+ID4gPiBTdGVwaGVuIEhlbW1pbmdlciBoYWQgYSBub3Rld29y dGh5IGdlbmVyYWwgY29tbWVudCBhYm91dCBrZWVwaW5nDQo+IG1ldGFkYXRhIGZvciB0aGUgTklD IGluIHRoZSBhcHByb3ByaWF0ZSBzZWN0aW9uIG9mIHRoZSBtYnVmOiBNZXRhZGF0YQ0KPiBnZW5l cmF0ZWQgYnkgdGhlIE5JQ+KAmXMgUlggaGFuZGxlciBiZWxvbmdzIGluIHRoZSBmaXJzdCBjYWNo ZSBsaW5lLCBhbmQNCj4gbWV0YWRhdGEgcmVxdWlyZWQgYnkgdGhlIE5JQ+KAmXMgVFggaGFuZGxl ciBiZWxvbmdzIGluIHRoZSBzZWNvbmQgY2FjaGUgbGluZS4NCj4gVGhpcyBhbHNvIG1lYW5zIHRo YXQgdG91Y2hpbmcgdGhlIHNlY29uZCBjYWNoZSBsaW5lIG9uIGluZ3Jlc3Mgc2hvdWxkIGJlDQo+ IGF2b2lkZWQgaWYgcG9zc2libGU7IGFuZCBCcnVjZSBSaWNoYXJkc29uIG1lbnRpb25lZCB0aGF0 IGZvciB0aGlzIHJlYXNvbiBtLQ0KPiA+bmV4dCB3YXMgemVyb2VkIG9uIGZyZWUoKS4NCj4gPiA+ DQo+IFRoaW5raW5nIGFib3V0IGl0LCBJIHN1c3BlY3QgdGhlcmUgYXJlIG1vcmUgZmllbGRzIHdl IGNhbiByZXNldCBvbiBmcmVlDQo+IHRvIHNhdmUgdGltZSBvbiBhbGxvYy4gUmVmY250LCBhcyBk aXNjdXNzZWQgYmVsb3cgaXMgb25lIG9mIHRoZW0sIGJ1dCBzbw0KPiB0b28gY291bGQgYmUgdGhl IG5iX3NlZ3MgZmllbGQgYW5kIHBvc3NpYmx5IG90aGVycy4NClllcy4gQ29uc2lkZXIgdGhlIHVz ZSBvZiBydGVfcGt0bWJ1Zl9yZXNldCgpIG9yIGFkZCBhIHJ0ZV9wa3RtYnVmX3ByZWFsbG9jKCkg Zm9yIHRoaXMgcHVycG9zZS4NCg0KDQo+ID4gPiAyLg0KPiA+ID4NCj4gPiA+IFRoZXJlIHNlZW1l ZCB0byBiZSBjb25zZW5zdXMgdGhhdCB0aGUgc2l6ZSBvZiBtLT5yZWZjbnQgc2hvdWxkIG1hdGNo DQo+IHRoZSBzaXplIG9mIG0tPnBvcnQgYmVjYXVzZSBhIHBhY2tldCBjb3VsZCBiZSBkdXBsaWNh dGVkIG9uIGFsbCBwaHlzaWNhbA0KPiBwb3J0cyBmb3IgTDMgbXVsdGljYXN0IGFuZCBMMiBmbG9v ZGluZy4NCj4gPiA+DQo+ID4gPiBGdXJ0aGVybW9yZSwgYWx0aG91Z2ggYSBzaW5nbGUgcGh5c2lj YWwgbWFjaGluZSAoaS5lLiBhIHNpbmdsZSBzZXJ2ZXIpDQo+IHdpdGggMjU1IHBoeXNpY2FsIHBv cnRzIHByb2JhYmx5IGRvZXNu4oCZdCBleGlzdCwgaXQgbWlnaHQgY29udGFpbiBtb3JlIHRoYW4N Cj4gMjU1IHZpcnR1YWwgbWFjaGluZXMgd2l0aCBhIHZpcnR1YWwgcG9ydCBlYWNoLCBzbyBpdCBt YWtlcyBzZW5zZSBleHRlbmRpbmcNCj4gdGhlc2UgbWJ1ZiBmaWVsZHMgZnJvbSA4IHRvIDE2IGJp dHMuDQo+ID4NCj4gPiBJIHRob3VnaHQgd2UgYWxzbyB0YWxrZWQgYWJvdXQgcmVtb3ZpbmcgdGhl IG0tPnBvcnQgZnJvbSB0aGUgbWJ1ZiBhcyBpdA0KPiBpcyBub3QgcmVhbGx5IG5lZWRlZC4NCj4g Pg0KPiBZZXMsIHRoaXMgd2FzIG1lbnRpb25lZCwgYW5kIGFsc28gdGhlIG9wdGlvbiBvZiBtb3Zp bmcgdGhlIHBvcnQgdmFsdWUgdG8NCj4gdGhlIHNlY29uZCBjYWNoZWxpbmUsIGJ1dCBpdCBhcHBl YXJzIHRoYXQgTlhQIGFyZSB1c2luZyB0aGUgcG9ydCB2YWx1ZQ0KPiBpbiB0aGVpciBOSUMgZHJp dmVycyBmb3IgcGFzc2luZyBpbiBtZXRhZGF0YSwgc28gd2UnZCBuZWVkIHRoZWlyDQo+IGFncmVl bWVudCBvbiBhbnkgbW92ZSAob3IgcmVtb3ZhbCkuDQo+IA0KSWYgYSBzaW5nbGUgZHJpdmVyIGlu c3RhbmNlIHNlcnZpY2VzIG11bHRpcGxlIHBvcnRzLCBzbyB0aGUgcG9ydHMgYXJlIG5vdCBwb2xs ZWQgaW5kaXZpZHVhbGx5LCB0aGUgbS0+cG9ydCBtZW1iZXIgd2lsbCBiZSByZXF1aXJlZCB0byBp ZGVudGlmeSB0aGUgcG9ydC4gSW4gdGhhdCBjYXNlLCBpdCBtaWdodCBhbHNvIHVzZWQgZWxzZXdo ZXJlIGluIHRoZSBpbmdyZXNzIHBhdGgsIGFuZCB0aHVzIGFwcHJvcHJpYXRlIGhhdmluZyBpbiB0 aGUgZmlyc3QgY2FjaGUgbGluZS4gU28geWVzLCB0aGlzIG5lZWRzIGZ1cnRoZXIgZGlzY3Vzc2lv biB3aXRoIE5YUC4NCg0KDQo+ID4gPiAzLg0KPiA+ID4NCj4gPiA+IFNvbWVvbmUgKEJydWNlIFJp Y2hhcmRzb24/KSBzdWdnZXN0ZWQgbW92aW5nIG0tPnJlZmNudCBhbmQgbS0+cG9ydCB0bw0KPiB0 aGUgc2Vjb25kIGNhY2hlIGxpbmUsIHdoaWNoIHRoZW4gZ2VuZXJhdGVkIHF1ZXN0aW9ucyBmcm9t IHRoZSBhdWRpZW5jZQ0KPiBhYm91dCB0aGUgcmVhbCBsaWZlIHB1cnBvc2Ugb2YgbS0+cG9ydCwg YW5kIGlmIG0tPnBvcnQgY291bGQgYmUgcmVtb3ZlZA0KPiBmcm9tIHRoZSBtYnVmIHN0cnVjdHVy ZS4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IDQuDQo+ID4gPg0KPiA+ID4gSSBzdWdnZXN0 ZWQgdXNpbmcgb2Zmc2V0IC0xIGZvciBtLT5yZWZjbnQsIHNvIG0tPnJlZmNudCBiZWNvbWVzIDAg b24NCj4gZmlyc3QgYWxsb2NhdGlvbi4gVGhpcyBpcyBiYXNlZCBvbiB0aGUgYXNzdW1wdGlvbiB0 aGF0IG90aGVyIG1idWYgZmllbGRzDQo+IG11c3QgYmUgemVyb2VkIGF0IGFsbG9jKCkvZnJlZSgp IGFueXdheSwgc28gemVyb2luZyBtLT5yZWZjbnQgaXMgY2hlYXBlcg0KPiB0aGFuIHNldHRpbmcg aXQgdG8gMS4NCj4gPiA+DQo+ID4gPiBGdXJ0aGVybW9yZSAocmVnYXJkbGVzcyBvZiBtLT5yZWZj bnQgb2Zmc2V0KSwgSSBzdWdnZXN0ZWQgdGhhdCBpdCBpcw0KPiBub3QgcmVxdWlyZWQgdG8gbW9k aWZ5IG0tPnJlZmNudCB3aGVuIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgdGhlIG1idWYsIHRodXMN Cj4gc2F2aW5nIG9uZSB3cml0ZSBvcGVyYXRpb24gb24gYm90aCBhbGxvYygpIGFuZCBmcmVlKCku IEhvd2V2ZXIsIHRoaXMNCj4gYXNzdW1lcyB0aGF0IG0tPnJlZmNudCBkZWJ1Z2dpbmcsIGUuZy4g dW5kZXJydW4gZGV0ZWN0aW9uLCBpcyBub3QgcmVxdWlyZWQuDQo+IA0KPiBJIGRvbid0IHRoaW5r IGl0IHJlYWxseSBtYXR0ZXJzIHdoYXQgc2VudGluYWwgdmFsdWUgaXMgdXNlZCBmb3IgdGhlDQo+ IHJlZmNudCBiZWNhdXNlIGl0IGNhbid0IGJlIGJsaW5kbHkgYXNzaWduZWQgb24gZnJlZSBsaWtl IG90aGVyIGZpZWxkcy4NCj4gSG93ZXZlciwgSSB0aGluayAwIGFzIGZpcnN0IHJlZmVyZW5jZSB2 YWx1ZSBiZWNvbWVzIG1vcmUgYXdrd2FyZA0KPiB0aGFuIDEsIGJlY2F1c2Ugd2UgbmVlZCB0byBk ZWFsIHdpdGggdW5kZXJmbG93LiBDb25zaWRlciB0aGUgc2l0dWF0aW9uDQo+IHdoZXJlIHdlIGhh dmUgdHdvIHJlZmVyZW5jZXMgdG8gdGhlIG1idWYsIHNvIHJlZmNudCBpcyAxLCBhbmQgYm90aCBh cmUNCj4gZnJlZWQgYXQgdGhlIHNhbWUgdGltZS4gU2luY2UgdGhlIHJlZmNudCBpcyBub3QtemVy bywgdGhlbiBib3RoIGNvcmVzDQo+IHdpbGwgZG8gYW4gYXRvbWljIGRlY3JlbWVudCBzaW11bHRh bmVvdXNseSBnaXZpbmcgYSByZWZjbnQgb2YgLTEuIFdlIGNhbg0KPiB0aGVuIHNldCB0aGlzIGJh Y2sgdG8gemVybyBiZWZvcmUgZnJlZWluZywgaG93ZXZlciwgSSdkIHN0aWxsIHByZWZlciB0bw0K PiBoYXZlIHJlZmNudCBiZSBhbiBhY2N1cmF0ZSB2YWx1ZSBzbyB0aGF0IGl0IGFsd2F5cyBzdGF5 cyBwb3NpdGl2ZSwgYW5kDQo+IHdlIGNhbiBzdGlsbCBzZXQgaXQgdG8gIm9uZSIgb24gZnJlZSB0 byBhdm9pZCBoYXZpbmcgdG8gc2V0IG9uIGFsbG9jLg0KPiANCkdvb2QgZXhhbXBsZS4gSXQgZXhw bGFpbnMgdmVyeSBjbGVhcmx5IHdoeSBteSBzdWdnZXN0ZWQgb3B0aW1pemF0aW9uIGlzIHRyaWNr eS4gTXkgb3B0aW1pemF0aW9uIGlzIHRhcmdldGluZyB0aGUgbW9zdCBsaWtlbHkgc2NlbmFyaW8g d2hlcmUgbS0+cmVmY250IGlzIG9ubHkgIm9uZSIsIGJ1dCBhdCB0aGUgZXhwZW5zZSBvZiBzb21l IGFkZGVkIGNvbXBsZXhpdHkgZm9yIHRoZSB1bmxpa2VseSBzY2VuYXJpb3MuIChJIG9ubHkgc3Vn Z2VzdGVkIDAgYXMgIm9uZSIgYmVjYXVzZSBJIGFzc3VtZWQgdGhlIHZhbHVlIGNvdWxkIGJlIHpl cm9lZCBmYXN0ZXIgdGhhbiBzZXQgdG8gMSwgc28gZm9yZ2V0IGFib3V0IHRoYXQsIGlmIHlvdSBs aWtlLikNCg0KSSBzdGlsbCBhcmd1ZSB0aGF0IGlmIHdlIGtlZXAgbS0+cmVmY250IGF0ICJvbmUi IHZhbHVlIHdoaWxlIGluIHRoZSBmcmVlIHBvb2wsIGEgd3JpdGUgb3BlcmF0aW9uIGNhbiBiZSBh dm9pZGVkIGF0IGJvdGggZnJlZSgpIGFuZCBhbGxvYygpLiBIZXJlIGlzIGEgY29uY2VwdHVhbCBl eGFtcGxlICh1c2luZyBtLT5yZWZjbnQ9PTEgZm9yICJvbmUiKToNCg0Kdm9pZCBfX3J0ZV9tYnVm X3Jhd19mcmVlKHN0cnVjdCBydGVfbWJ1ZiAqbSkNCnsNCglSVEVfQVNTRVJUKHJ0ZV9tYnVmX3Jl ZmNudF9yZWFkKG0pID09IDEpOw0KCXJ0ZV9tZW1wb29sX3B1dChtLT5wb29sLCBtKTsNCn0NCg0K dm9pZCBfX3J0ZV9wa3RtYnVmX2ZyZWVfc2VnX2lubmVyKHN0cnVjdCBydGVfbWJ1ZiAqbSkNCnsN CgkvKiBpZiB0aGlzIGlzIGFuIGluZGlyZWN0IG1idWYsIGl0IGlzIGRldGFjaGVkLiAqLw0KCWlm IChSVEVfTUJVRl9JTkRJUkVDVChtKSkNCgkJcnRlX3BrdG1idWZfZGV0YWNoKG0pOw0KCW0tPm5l eHQgPSBOVUxMOyAvKiBQcmVsb2FkIHRvIGF2b2lkIHNldHRpbmcgaW4gYWxsb2MoKS4gKi8NCglf X3J0ZV9tYnVmX3Jhd19mcmVlKG0pOw0KfQ0KDQp2b2lkIHJ0ZV9wa3RtYnVmX2ZyZWVfc2VnKHN0 cnVjdCBydGVfbWJ1ZiAqbSkNCnsNCglpZiAobGlrZWx5KHJ0ZV9tYnVmX3JlZmNudF9yZWFkKG0p ID09IDEpKSB7DQoJCS8qIFdlIGhhdmUgdGhlIGxhc3QgcmVmZXJlbmNlLCBzbyB3ZSByZXR1cm4g aXQgdG8gdGhlIGZyZWUgcG9vbC4gKi8NCgkJX19ydGVfcGt0bWJ1Zl9mcmVlX3NlZ19pbm5lciht KTsNCgl9IGVsc2Ugew0KCQkvKiBNb3JlIHJlZmVyZW5jZXMsIHNvIGRlY3JlbWVudCB0aGUgcmVm Y250LiAqLw0KCQlpZiAodW5saWtlbHkocnRlX21idWZfcmVmY250X3VwZGF0ZShtLCAtMSkgPT0g MCkpIHsNCgkJCS8qIFNvbWVvbmUgcmFjZWQgdG8gZGVjcmVtZW50IHRoZSByZWZjbnQgYmVmb3Jl IHVzLA0KCQkJICAgc28gbm93IHdlIGhhdmUgdGhlIGxhc3QgcmVmZXJlbmNlLA0KCQkJICAgc28g d2UgcmV0dXJuIGl0IHRvIHRoZSBmcmVlIHBvb2wuICovDQoJCSAgICBydGVfbWJ1Zl9yZWZjbnRf c2V0KG0sIDEpOyAvKiBQcmVsb2FkIHRvIGF2b2lkIGluIGFsbG9jKCkuICovDQoJCQlfX3J0ZV9w a3RtYnVmX2ZyZWVfc2VnX2lubmVyKG0pOw0KCQl9DQoJfQ0KfQ0KDQoNCj4gQWxzbywgaWYgd2Ug c2V0IHJlZmNudCBvbiBmcmVlIHJhdGhlciB0aGFuIGFsbG9jLCBpdCBkb2VzIHNldCBpdHNlbGYg dXANCj4gYXMgYSBnb29kIGNhbmRpZGF0ZSBmb3IgbW92aW5nIHRvIHRoZSBzZWNvbmQgY2FjaGVs aW5lLiBGYXN0LXBhdGgNCj4gcHJvY2Vzc2luZyBkb2VzIG5vdCBub3JtYWxseSB1cGRhdGUgdGhl IHZhbHVlLg0KPiANCkFncmVlZC4gQnV0IGFsc28gY29uc2lkZXIgdGhhdCBUWCBoYW5kbGluZyBz aG91bGQgYmUgb3B0aW1pemVkIHRvby4gQW5kIHRoaXMgaW5jbHVkZXMgZnJlZSgpIHByb2Nlc3Np bmcgYW5kIHByZWxvYWRpbmcgdmFsdWVzIGZvciBhbGxvYygpOyB0aGlzIHNob3VsZCBvbmx5IGJl IGRvbmUgaW4gZnJlZSgpIGluc3RlYWQgb2YgYWxsb2MoKSBpZiBpdCBwcm92aWRlcyBhIHRvdGFs IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LiBXZSBzaG91bGQgbm90IGltcHJvdmUgUlggaGFuZGxp bmcgcGVyZm9ybWFuY2UgaWYgdGhlIFRYIGhhbmRsaW5nIHBlcmZvcm1hbmNlIGRlY3JlYXNlcyBt dWNoIG1vcmUuDQoNCg0KPiA+ID4gNS4NCj4gPiA+DQo+ID4gPiBBbmQgaGVyZeKAmXMgc29tZXRo aW5nIG5ldyB0byB0aGluayBhYm91dDoNCj4gPiA+DQo+ID4gPiBtLT5uZXh0IGFscmVhZHkgcmV2 ZWFscyBpZiB0aGVyZSBhcmUgbW9yZSBzZWdtZW50cyB0byBhIHBhY2tldC4gV2hpY2gNCj4gcHVy cG9zZSBkb2VzIG0tPm5iX3NlZ3Mgc2VydmUgdGhhdCBpcyBub3QgYWxyZWFkeSBjb3ZlcmVkIGJ5 IG0tPm5leHQ/DQo+IA0KPiBJdCBpcyBkdXBsaWNhdGUgaW5mbywgYnV0IG5iX3NlZ3MgY2FuIGJl IHVzZWQgdG8gY2hlY2sgdGhlIHZhbGlkaXR5IG9mDQo+IHRoZSBuZXh0IHBvaW50ZXIgd2l0aG91 dCBoYXZpbmcgdG8gcmVhZCB0aGUgc2Vjb25kIG1idWYgY2FjaGVsaW5lLg0KPiANCj4gV2hldGhl ciBpdCdzIHdvcnRoIGhhdmluZyBpcyBzb21ldGhpbmcgSSdtIGhhcHB5IGVub3VnaCB0byBkaXNj dXNzLA0KPiB0aG91Z2guDQpJZiBhbnlib2R5IG5lZWRzIHRvIGNoZWNrIGZvciBhZGRpdGlvbmFs IHNlZ21lbnRzIChtLT5uZXh0ICE9IE5VTEwpIHdpdGhvdXQgaGl0dGluZyB0aGUgc2Vjb25kIGNh Y2hlIGxpbmUsIGEgc2luZ2xlIGJpdCBpbiB0aGUgZmlyc3QgY2FjaGUgbGluZSB3aWxsIHN1ZmZp Y2UuIChJZiB0aGlzIGlzIGEgY29tbW9uIGNhc2UsIHRoZXkgcHJvYmFibHkgbmVlZCB0byByZWFk IHRoZSBtLT5uZXh0IHZhbHVlIGFueXdheSwgYW5kIHRoZW4gaXQgd291bGQgb3B0aW1hbGx5IGJl bG9uZyBpbiB0aGUgZmlyc3QgY2FjaGUgbGluZS4gSSBhbSBqdXN0IG1lbnRpb25pbmcgdGhpcy4g SXQncyBub3QgbXkgcHJlZmVyZW5jZS4pDQoNCg0KPiBPbmUgb3RoZXIgcG9pbnQgSSdsbCBtZW50 aW9uIGlzIHRoYXQgd2UgbmVlZCB0byBoYXZlIGEgZGlzY3Vzc2lvbiBvbg0KPiBob3cvd2hlcmUg dG8gYWRkIGluIGEgdGltZXN0YW1wIHZhbHVlIGludG8gdGhlIG1idWYuIFBlcnNvbmFsbHksIEkg dGhpbmsNCj4gaXQgY2FuIGJlIGluIGEgdW5pb24gd2l0aCB0aGUgc2VxdWVuY2UgbnVtYmVyIHZh bHVlLCBidXQgSSBhbHNvIHN1c3BlY3QNCj4gdGhhdCAzMi1iaXRzIG9mIGEgdGltZXN0YW1wIGlz IG5vdCBnb2luZyB0byBiZSBlbm91Z2ggZm9yIG1hbnkuDQo+IA0KPiBUaG91Z2h0cz8NClNwZWFr aW5nIGZvciBteXNlbGYsIGEgaGlnaCByZXNvbHV0aW9uIFJYIHRpbWVzdGFtcCBpcyAibmljZSB0 byBoYXZlIiwgc28gSSBsaWtlIGl0LCBidXQgSSB3b3VsZCBoYXRlIHRvIHNhY3JpZmljZSB0aGUg c2VxdWVuY2UgbnVtYmVyIGZvciBpdC4gR2VuZXJhbGx5LCBJIHdvdWxkIGFzc3VtZSB0aGF0IHRo ZSBzZXF1ZW5jZSBudW1iZXIgdXNlZCBmb3IgcmVvcmRlcmluZyBpcyBtb3JlIGltcG9ydGFudCB0 aGFuIGEgdGltZXN0YW1wLCBleGNlcHQgZm9yIGFwcGxpY2F0aW9ucyBkZWFsaW5nIHdpdGggdGlt aW5nIG1lYXN1cmVtZW50cyBvciBoaWdoIHByZWNpc2lvbiBwYWNrZXQgY2FwdHVyaW5nLg0KDQpD b252ZXJzaW9uIG9mIHRpbWVzdGFtcHMgZnJvbSBvbmUgdW5pdCB0byBhbm90aGVyIGNhbiBiZSBy ZWxhdGl2ZWx5IGV4cGVuc2l2ZSwgc28gSSByZWNvbW1lbmQga2VlcGluZyB0aW1lc3RhbXBzIGlu IHdoYXRldmVyIHJlc29sdXRpb24gdGhlIE5JQyBoYXJkd2FyZSBwcm92aWRlcywgbGVhdmluZyB0 aGUgY29udmVyc2lvbiB0byBlLmcuIG5hbm9zZWNvbmRzIHVwIHRvIHRoZSBhcHBsaWNhdGlvbnMg dGhhdCB1c2UgdGltZXN0YW1wcy4gQSBsb3Qgb2YgcHJvdG9jb2xzIHVzZSBvcGFxdWUgdGltZXN0 YW1wcywgZS5nLiBSVFAsIHNvIHRoaXMgd291bGQgbm90IGJlIGV4Y2VwdGlvbmFsLiBTaW5jZSB0 aGUgdGltZXN0YW1wIGJlbG9uZ3MgaW4gdGhlIGZpcnN0IGNhY2hlIGxpbmUsIEkgc3VnZ2VzdCB3 ZSBsaW1pdCBpdCB0byAzMiBiaXQuIFRoaXMgY2FuIGJlIHRoZSBsZWFzdCBzaWduaWZpY2FudCAz MiBiaXQgb2YgYSA2NCBiaXQgTklDIGhhcmR3YXJlIHRpbWVzdGFtcCwgbGVhdmluZyBpdCB1cCB0 byB0aGUgYXBwbGljYXRpb24gdG8ga2VlcCB0cmFjayBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCAz MiBiaXQgYnkgc29tZSBvdGhlciBtZWFucy4gSWYgaXQncyBjb3VudGluZyBuYW5vc2Vjb25kcywg MzIgYml0IGNhbiBob2xkIDQgc2Vjb25kcy4NCg0KDQo+IA0KPiAvQnJ1Y2UNCg0K