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 C1C86489B4; Thu, 23 Oct 2025 17:46:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4EC0E4021E; Thu, 23 Oct 2025 17:46:54 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id A757740151 for ; Thu, 23 Oct 2025 17:46:52 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 5934B2041E; Thu, 23 Oct 2025 17:46:52 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH v5] mbuf: optimize segment prefree Date: Thu, 23 Oct 2025 17:46:49 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35F654FE@smartserver.smartshare.dk> X-MimeOLE: Produced By Microsoft Exchange V6.5 In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v5] mbuf: optimize segment prefree Thread-Index: AQHcQ/NUxCpzFpnLEUCegFLyVmlwCLTPa7AAgAAngXCAAC+rQIAABewAgAAQ4yCAAAKvwA== References: <20250827213535.21602-1-mb@smartsharesystems.com> <20251023080136.165513-1-mb@smartsharesystems.com> <98CBD80474FA8B44BF855DF32C47DC35F654F7@smartserver.smartshare.dk> <6a26d57153714d04865753fd557978dd@huawei.com> <98CBD80474FA8B44BF855DF32C47DC35F654FB@smartserver.smartshare.dk> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Konstantin Ananyev" , , "Stephen Hemminger" , "Wathsala Vithanage" , "Fengchengwen" , "Bruce Richardson" 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 PiBGcm9tOiBLb25zdGFudGluIEFuYW55ZXYgW21haWx0bzprb25zdGFudGluLmFuYW55ZXZAaHVh d2VpLmNvbV0NCj4gU2VudDogVGh1cnNkYXksIDIzIE9jdG9iZXIgMjAyNSAxNy4yNw0KPiANCj4g PiA+IEZyb206IEtvbnN0YW50aW4gQW5hbnlldiBbbWFpbHRvOmtvbnN0YW50aW4uYW5hbnlldkBo dWF3ZWkuY29tXQ0KPiA+ID4gU2VudDogVGh1cnNkYXksIDIzIE9jdG9iZXIgMjAyNSAxNi4wNQ0K PiA+ID4NCj4gPiA+ID4gPiBGcm9tOiBLb25zdGFudGluIEFuYW55ZXYgW21haWx0bzprb25zdGFu dGluLmFuYW55ZXZAaHVhd2VpLmNvbV0NCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgMjMgT2N0 b2JlciAyMDI1IDEwLjUxDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0jZGVmaW5lIFJURV9NQlVG X0RJUkVDVChtYikgXA0KPiA+ID4gPiA+ID4gLQkoISgobWIpLT5vbF9mbGFncyAmIChSVEVfTUJV Rl9GX0lORElSRUNUIHwNCj4gPiA+IFJURV9NQlVGX0ZfRVhURVJOQUwpKSkNCj4gPiA+ID4gPiA+ ICsgKg0KPiA+ID4gPiA+ID4gKyAqIE5vdGU6IE1hY3JvIG9wdGltaXplZCBmb3IgY29kZSBzaXpl Lg0KPiA+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gPiArICogVGhlIHBsYWluIG1hY3JvIHdvdWxk IGJlOg0KPiA+ID4gPiA+ID4gKyAqICAgICAgI2RlZmluZSBSVEVfTUJVRl9ESVJFQ1QobWIpIFwN Cj4gPiA+ID4gPiA+ICsgKiAgICAgICAgICAoISgobWIpLT5vbF9mbGFncyAmIChSVEVfTUJVRl9G X0lORElSRUNUIHwNCj4gPiA+ID4gPiBSVEVfTUJVRl9GX0VYVEVSTkFMKSkpDQo+ID4gPiA+ID4g PiArICoNCj4gPiA+ID4gPiA+ICsgKiBUaGUgZmxhZ3MgUlRFX01CVUZfRl9JTkRJUkVDVCBhbmQg UlRFX01CVUZfRl9FWFRFUk5BTCBhcmUNCj4gPiA+IGJvdGggaW4NCj4gPiA+ID4gPiB0aGUNCj4g PiA+ID4gPiA+IE1TQiAobW9zdCBzaWduaWZpY2FudA0KPiA+ID4gPiA+ID4gKyAqIGJ5dGUpIG9m IHRoZSA2NC1iaXQgb2xfZmxhZ3MgZmllbGQsIHNvIHdlIG9ubHkgY29tcGFyZQ0KPiB0aGlzDQo+ ID4gPiBvbmUNCj4gPiA+ID4gPiBieXRlIGluc3RlYWQgb2YgYWxsDQo+ID4gPiA+ID4gPiA2NCBi aXRzLg0KPiA+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gPiArICogRS5nLiwgR0NDIHZlcnNpb24g MTYuMC4wIDIwMjUxMDE5IChleHBlcmltZW50YWwpDQo+IGdlbmVyYXRlcw0KPiA+ID4gdGhlDQo+ ID4gPiA+ID4gZm9sbG93aW5nIGNvZGUNCj4gPiA+ID4gPiA+IGZvciB4ODYtNjQuDQo+ID4gPiA+ ID4gPiArICoNCj4gPiA+ID4gPiA+ICsgKiBXaXRoIHRoZSBwbGFpbiBtYWNybywgMTcgYnl0ZXMg b2YgaW5zdHJ1Y3Rpb25zOg0KPiA+ID4gPiA+ID4gKyAqICAgICAgbW92YWJzIHJheCwweDYwMDAw MDAwMDAwMDAwMDAgICAgICAgLy8gMTAgYnl0ZXMNCj4gPiA+ID4gPiA+ICsgKiAgICAgIGFuZCAg ICByYXgsUVdPUkQgUFRSIFtyZGkrMHgxOF0gICAgIC8vIDQgYnl0ZXMNCj4gPiA+ID4gPiA+ICsg KiAgICAgIHNldGUgICBhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDMgYnl0ZXMNCj4g PiA+ID4gPiA+ICsgKiBXaXRoIHRoaXMgb3B0aW1pemVkIG1hY3JvLCBvbmx5IDcgYnl0ZXMgb2Yg aW5zdHJ1Y3Rpb25zOg0KPiA+ID4gPiA+ID4gKyAqICAgICAgdGVzdCAgIEJZVEUgUFRSIFtyZGkr MHgxZl0sMHg2MCAgICAgLy8gNCBieXRlcw0KPiA+ID4gPiA+ID4gKyAqICAgICAgc2V0ZSAgIGFs ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMyBieXRlcw0KPiA+ID4gPiA+ID4gKyAqLw0K PiA+ID4gPiA+ID4gKyNpZiBSVEVfQllURV9PUkRFUiA9PSBSVEVfTElUVExFX0VORElBTg0KPiA+ ID4gPiA+ID4gKy8qIE9uIGxpdHRsZSBlbmRpYW4gYXJjaGl0ZWN0dXJlLCB0aGUgTVNCIG9mIGEg NjQtYml0DQo+IGludGVnZXIgaXMNCj4gPiA+IGF0DQo+ID4gPiA+ID4gYnl0ZSBvZmZzZXQgNy4g Ki8NCj4gPiA+ID4gPiA+ICsjZGVmaW5lIFJURV9NQlVGX0RJUkVDVChtYikgICAgICEoKChjb25z dCBjaGFyICopKCYobWIpLQ0KPiA+ID4gPiA+ID5vbF9mbGFncykpWzddICYgMHg2MCkNCj4gPiA+ ID4gPiA+ICsjZWxpZiBSVEVfQllURV9PUkRFUiA9PSBSVEVfQklHX0VORElBTg0KPiA+ID4gPiA+ ID4gKy8qIE9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlLCB0aGUgTVNCIG9mIGEgNjQtYml0IGlu dGVnZXINCj4gaXMgYXQNCj4gPiA+ID4gPiBieXRlIG9mZnNldCAwLiAqLw0KPiA+ID4gPiA+ID4g KyNkZWZpbmUgUlRFX01CVUZfRElSRUNUKG1iKSAgICAgISgoKGNvbnN0IGNoYXIgKikoJihtYikt DQo+ID4gPiA+ID4gPm9sX2ZsYWdzKSlbMF0gJiAweDYwKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g QSBzdHVwaWQgcTogd2h5IHRoZW4gbm90IHNpbXBseSBkbzoNCj4gPiA+ID4gPiAobWItPm9sX2Zs YWdzID4+IDU2KSAmIDB4NjANCj4gPiA+ID4gPiB0aGVuPw0KPiA+ID4gPiA+IFNob3VsZCBoZWxw IHRvIGFsbCB0aGVzZSBMRS9CRSBjYXN0cywgZXRjLg0KPiA+ID4gPg0KPiA+ID4gPiBHQ0MgaXMg dG9vIHN0dXBpZCBmb3IgdGhhdCB0b28uDQo+ID4gPiA+DQo+ID4gPiA+IFBsYXlpbmcgYXJvdW5k IHdpdGggR29kYm9sdCBzaG93cyB0aGF0DQo+ID4gPiA+IAlyZXR1cm4gISgoY2hhcikocFszXSA+ PiA1NikgJiAweDYwKTsNCj4gPiA+ID4gYmVjb21lcw0KPiA+ID4gPiAJbW92enggIGVheCxCWVRF IFBUUiBbcmRpKzB4MWZdCS8vIDQgYnl0ZXMNCj4gPiA+ID4gCXRlc3QgICBhbCwweDYwCQkJCS8v IDIgYnl0ZXMNCj4gPiA+ID4gSW5zdGVhZCBvZiBzaW1wbHkNCj4gPiA+ID4gCXRlc3QgICBCWVRF IFBUUiBbcmRpKzB4MWZdLDB4NjAJLy8gNCBieXRlcw0KPiA+ID4NCj4gPiA+IEFuZCB0aGVzZSAy IGV4dHJhIGJ5dGVzIGluIGluc3RydWN0aW9ucywgYXJlIHRoYXQgcmVhbGx5IHRoYXQNCj4gY3Jp dGljYWw/DQo+ID4gPiBNeSBndWVzcywgd2Ugd291bGRuJ3Qgbm90aWNlIGFueSByZWFsIGRpZmYg aGVyZS4NCj4gPg0KPiA+IFRoZSBvcHRpbWl6ZWQgbWFjcm8gbWFkZSB0aGUgY29tbW9uIGNvZGUg cGF0aCBvZiB0aGUgcmVmYWN0b3JlZA0KPiA+IHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKCkgZml0 IGludG8gb25lIGNhY2hlIGxpbmUuDQo+ID4gSUlSQywgYWxsIDEwIGJ5dGVzIHNhdmluZyB3ZXJl IHJlcXVpcmVkIGZvciB0aGlzLg0KPiANCj4gSSB1bmRlcnN0YW5kIHRoYXQuIGJ1dCBpcyB0aGF0 IGNoYW5nZSB3aWxsIHByb3ZpZGUgYSBtZWFzdXJhYmxlIGltcGFjdCwNCj4gaW4gdGVybXMgb2Yg Y3ljbGVzL29wIG9yIHBwcyBvciBzbz8NCg0KTDEgaW5zdHJ1Y3Rpb24gY2FjaGUgaXMgaW1wb3J0 YW50OyByZWR1Y2luZyBjb2RlIHNpemUgb2YgYSBwZXItcGFja2V0IGZ1bmN0aW9uIG1pZ2h0IGhh dmUgYW4gZWZmZWN0IGluIHNvbWUgY2FzZXMuDQpJIGRvbid0IGhhdmUgb3RoZXIgbWV0cmljcyB0 aGFuIGNvZGUgc2l6ZSBmb3IgdGhpcyBvcHRpbWl6YXRpb24uDQoNCkkganVzdCB0ZXN0ZWQgdG8g c2VlIGlmIEkgcmVjYWxsZWQgY29ycmVjdGx5LCBhbmQgaGVyZSdzIHRoZSBnZW5lcmF0ZWQgY29k ZSB3aXRoIHRoZSB0d28gZGlmZmVyZW50IG1hY3JvczoNCg0KI2RlZmluZSBSVEVfTUJVRl9ESVJF Q1QobWIpICAgICAhKCgoY29uc3QgY2hhciAqKSgmKG1iKS0+b2xfZmxhZ3MpKVs3XSAmIDB4NjAp DQoNCjAwMDAwMDAwMDAwMDA2NzAgPHJldmlld19ydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZz46DQog ICAgIDY3MDogICAgICAgZjMgMGYgMWUgZmEgICAgICAgICAgICAgZW5kYnI2NA0KICAgICA2NzQ6 ICAgICAgIDQxIDU3ICAgICAgICAgICAgICAgICAgIHB1c2ggICAlcjE1DQogICAgIDY3NjogICAg ICAgNDEgNTYgICAgICAgICAgICAgICAgICAgcHVzaCAgICVyMTQNCiAgICAgNjc4OiAgICAgICA0 MSA1NSAgICAgICAgICAgICAgICAgICBwdXNoICAgJXIxMw0KICAgICA2N2E6ICAgICAgIDQxIDU0 ICAgICAgICAgICAgICAgICAgIHB1c2ggICAlcjEyDQogICAgIDY3YzogICAgICAgNTUgICAgICAg ICAgICAgICAgICAgICAgcHVzaCAgICVyYnANCiAgICAgNjdkOiAgICAgICA1MyAgICAgICAgICAg ICAgICAgICAgICBwdXNoICAgJXJieA0KICAgICA2N2U6ICAgICAgIDQ4IDg5IGZiICAgICAgICAg ICAgICAgIG1vdiAgICAlcmRpLCVyYngNCiAgICAgNjgxOiAgICAgICA0OCA4MyBlYyAxOCAgICAg ICAgICAgICBzdWIgICAgJDB4MTgsJXJzcA0KICAgICA2ODU6ICAgICAgIDY0IDQ4IDhiIDA0IDI1 IDI4IDAwICAgIG1vdiAgICAlZnM6MHgyOCwlcmF4DQogICAgIDY4YzogICAgICAgMDAgMDANCiAg ICAgNjhlOiAgICAgICA0OCA4OSA0NCAyNCAwOCAgICAgICAgICBtb3YgICAgJXJheCwweDgoJXJz cCkNCiAgICAgNjkzOiAgICAgICAzMSBjMCAgICAgICAgICAgICAgICAgICB4b3IgICAgJWVheCwl ZWF4DQogICAgIDY5NTogICAgICAgMGYgYjcgNmYgMTIgICAgICAgICAgICAgbW92endsIDB4MTIo JXJkaSksJWVicA0KICAgICA2OTk6ICAgICAgIDY2IDgzIGZkIDAxICAgICAgICAgICAgIGNtcCAg ICAkMHgxLCVicA0KICAgICA2OWQ6ICAgICAgIDc1IDUxICAgICAgICAgICAgICAgICAgIGpuZSAg ICA2ZjAgPHJldmlld19ydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZysweDgwPg0KKiogTG9vayBoZXJl IHsNCiAgICAgNjlmOiAgICAgICBmNiA0NyAxZiA2MCAgICAgICAgICAgICB0ZXN0YiAgJDB4NjAs MHgxZiglcmRpKQ0KICAgICA2YTM6ICAgICAgIDc1IDZiICAgICAgICAgICAgICAgICAgIGpuZSAg ICA3MTAgPHJldmlld19ydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZysweGEwPg0KKiogfQ0KICAgICA2 YTU6ICAgICAgIDY2IDgzIDdiIDE0IDAxICAgICAgICAgIGNtcHcgICAkMHgxLDB4MTQoJXJieCkN CiAgICAgNmFhOiAgICAgICA3NCAwOSAgICAgICAgICAgICAgICAgICBqZSAgICAgNmI1IDxyZXZp ZXdfcnRlX3BrdG1idWZfcHJlZnJlZV9zZWcrMHg0NT4NCiAgICAgNmFjOiAgICAgICBiOCAwMSAw MCAwMCAwMCAgICAgICAgICBtb3YgICAgJDB4MSwlZWF4DQogICAgIDZiMTogICAgICAgNjYgODkg NDMgMTQgICAgICAgICAgICAgbW92ICAgICVheCwweDE0KCVyYngpDQogICAgIDZiNTogICAgICAg NDggODMgN2IgNDAgMDAgICAgICAgICAgY21wcSAgICQweDAsMHg0MCglcmJ4KQ0KICAgICA2YmE6 ICAgICAgIDc0IDA4ICAgICAgICAgICAgICAgICAgIGplICAgICA2YzQgPHJldmlld19ydGVfcGt0 bWJ1Zl9wcmVmcmVlX3NlZysweDU0Pg0KICAgICA2YmM6ICAgICAgIDQ4IGM3IDQzIDQwIDAwIDAw IDAwICAgIG1vdnEgICAkMHgwLDB4NDAoJXJieCkNCiAgICAgNmMzOiAgICAgICAwMA0KICAgICA2 YzQ6ICAgICAgIDQ4IDg5IGQ4ICAgICAgICAgICAgICAgIG1vdiAgICAlcmJ4LCVyYXgNCiAgICAg NmM3OiAgICAgICA0OCA4YiA1NCAyNCAwOCAgICAgICAgICBtb3YgICAgMHg4KCVyc3ApLCVyZHgN CiAgICAgNmNjOiAgICAgICA2NCA0OCAyYiAxNCAyNSAyOCAwMCAgICBzdWIgICAgJWZzOjB4Mjgs JXJkeA0KICAgICA2ZDM6ICAgICAgIDAwIDAwDQogICAgIDZkNTogICAgICAgMGYgODUgM2EgMDIg MDAgMDAgICAgICAgam5lICAgIDkxNSA8cmV2aWV3X3J0ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKzB4 MmE1Pg0KICAgICA2ZGI6ICAgICAgIDQ4IDgzIGM0IDE4ICAgICAgICAgICAgIGFkZCAgICAkMHgx OCwlcnNwDQogICAgIDZkZjogICAgICAgNWIgICAgICAgICAgICAgICAgICAgICAgcG9wICAgICVy YngNCiAgICAgNmUwOiAgICAgICA1ZCAgICAgICAgICAgICAgICAgICAgICBwb3AgICAgJXJicA0K ICAgICA2ZTE6ICAgICAgIDQxIDVjICAgICAgICAgICAgICAgICAgIHBvcCAgICAlcjEyDQogICAg IDZlMzogICAgICAgNDEgNWQgICAgICAgICAgICAgICAgICAgcG9wICAgICVyMTMNCiAgICAgNmU1 OiAgICAgICA0MSA1ZSAgICAgICAgICAgICAgICAgICBwb3AgICAgJXIxNA0KICAgICA2ZTc6ICAg ICAgIDQxIDVmICAgICAgICAgICAgICAgICAgIHBvcCAgICAlcjE1DQogICAgIDZlOTogICAgICAg YzMgICAgICAgICAgICAgICAgICAgICAgcmV0DQoNCiNkZWZpbmUgUlRFX01CVUZfRElSRUNUKG1i KSBcDQoJISgoY2hhcikoKG1iKS0+b2xfZmxhZ3MgPj4gKDcgKiBDSEFSX0JJVCkpICYgXA0KCShj aGFyKSgoUlRFX01CVUZfRl9JTkRJUkVDVCB8IFJURV9NQlVGX0ZfRVhURVJOQUwpID4+ICg3ICog Q0hBUl9CSVQpKSkNCg0KMDAwMDAwMDAwMDAwMDY5MCA8cmV2aWV3X3J0ZV9wa3RtYnVmX3ByZWZy ZWVfc2VnPjoNCiAgICAgNjkwOiAgICAgICBmMyAwZiAxZSBmYSAgICAgICAgICAgICBlbmRicjY0 DQogICAgIDY5NDogICAgICAgNDEgNTcgICAgICAgICAgICAgICAgICAgcHVzaCAgICVyMTUNCiAg ICAgNjk2OiAgICAgICA0MSA1NiAgICAgICAgICAgICAgICAgICBwdXNoICAgJXIxNA0KICAgICA2 OTg6ICAgICAgIDQxIDU1ICAgICAgICAgICAgICAgICAgIHB1c2ggICAlcjEzDQogICAgIDY5YTog ICAgICAgNDEgNTQgICAgICAgICAgICAgICAgICAgcHVzaCAgICVyMTINCiAgICAgNjljOiAgICAg ICA1NSAgICAgICAgICAgICAgICAgICAgICBwdXNoICAgJXJicA0KICAgICA2OWQ6ICAgICAgIDUz ICAgICAgICAgICAgICAgICAgICAgIHB1c2ggICAlcmJ4DQogICAgIDY5ZTogICAgICAgNDggODkg ZmIgICAgICAgICAgICAgICAgbW92ICAgICVyZGksJXJieA0KICAgICA2YTE6ICAgICAgIDQ4IDgz IGVjIDE4ICAgICAgICAgICAgIHN1YiAgICAkMHgxOCwlcnNwDQogICAgIDZhNTogICAgICAgNjQg NDggOGIgMDQgMjUgMjggMDAgICAgbW92ICAgICVmczoweDI4LCVyYXgNCiAgICAgNmFjOiAgICAg ICAwMCAwMA0KICAgICA2YWU6ICAgICAgIDQ4IDg5IDQ0IDI0IDA4ICAgICAgICAgIG1vdiAgICAl cmF4LDB4OCglcnNwKQ0KICAgICA2YjM6ICAgICAgIDMxIGMwICAgICAgICAgICAgICAgICAgIHhv ciAgICAlZWF4LCVlYXgNCiAgICAgNmI1OiAgICAgICAwZiBiNyA2ZiAxMiAgICAgICAgICAgICBt b3Z6d2wgMHgxMiglcmRpKSwlZWJwDQogICAgIDZiOTogICAgICAgNjYgODMgZmQgMDEgICAgICAg ICAgICAgY21wICAgICQweDEsJWJwDQogICAgIDZiZDogICAgICAgNzUgNTkgICAgICAgICAgICAg ICAgICAgam5lICAgIDcxOCA8cmV2aWV3X3J0ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKzB4ODg+DQoq KiBMb29rIGhlcmUgew0KICAgICA2YmY6ICAgICAgIDQ4IDhiIDQ3IDE4ICAgICAgICAgICAgIG1v diAgICAweDE4KCVyZGkpLCVyYXgNCiAgICAgNmMzOiAgICAgICA0OCA4OSBjMiAgICAgICAgICAg ICAgICBtb3YgICAgJXJheCwlcmR4DQogICAgIDZjNjogICAgICAgNDggYzEgZWEgMzggICAgICAg ICAgICAgc2hyICAgICQweDM4LCVyZHgNCiAgICAgNmNhOiAgICAgICA4MyBlMiA2MCAgICAgICAg ICAgICAgICBhbmQgICAgJDB4NjAsJWVkeA0KICAgICA2Y2Q6ICAgICAgIDc1IDcxICAgICAgICAg ICAgICAgICAgIGpuZSAgICA3NDAgPHJldmlld19ydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZysweGIw Pg0KKiB9DQogICAgIDZjZjogICAgICAgNjYgODMgN2IgMTQgMDEgICAgICAgICAgY21wdyAgICQw eDEsMHgxNCglcmJ4KQ0KICAgICA2ZDQ6ICAgICAgIDc0IDA5ICAgICAgICAgICAgICAgICAgIGpl ICAgICA2ZGYgPHJldmlld19ydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZysweDRmPg0KICAgICA2ZDY6 ICAgICAgIGI4IDAxIDAwIDAwIDAwICAgICAgICAgIG1vdiAgICAkMHgxLCVlYXgNCiAgICAgNmRi OiAgICAgICA2NiA4OSA0MyAxNCAgICAgICAgICAgICBtb3YgICAgJWF4LDB4MTQoJXJieCkNCiAg ICAgNmRmOiAgICAgICA0OCA4MyA3YiA0MCAwMCAgICAgICAgICBjbXBxICAgJDB4MCwweDQwKCVy YngpDQogICAgIDZlNDogICAgICAgNzQgMDggICAgICAgICAgICAgICAgICAgamUgICAgIDZlZSA8 cmV2aWV3X3J0ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKzB4NWU+DQogICAgIDZlNjogICAgICAgNDgg YzcgNDMgNDAgMDAgMDAgMDAgICAgbW92cSAgICQweDAsMHg0MCglcmJ4KQ0KICAgICA2ZWQ6ICAg ICAgIDAwDQogICAgIDZlZTogICAgICAgNDggODkgZDggICAgICAgICAgICAgICAgbW92ICAgICVy YngsJXJheA0KICAgICA2ZjE6ICAgICAgIDQ4IDhiIDU0IDI0IDA4ICAgICAgICAgIG1vdiAgICAw eDgoJXJzcCksJXJkeA0KICAgICA2ZjY6ICAgICAgIDY0IDQ4IDJiIDE0IDI1IDI4IDAwICAgIHN1 YiAgICAlZnM6MHgyOCwlcmR4DQogICAgIDZmZDogICAgICAgMDAgMDANCiAgICAgNmZmOiAgICAg ICAwZiA4NSA1MCAwMiAwMCAwMCAgICAgICBqbmUgICAgOTU1IDxyZXZpZXdfcnRlX3BrdG1idWZf cHJlZnJlZV9zZWcrMHgyYzU+DQogICAgIDcwNTogICAgICAgNDggODMgYzQgMTggICAgICAgICAg ICAgYWRkICAgICQweDE4LCVyc3ANCiAgICAgNzA5OiAgICAgICA1YiAgICAgICAgICAgICAgICAg ICAgICBwb3AgICAgJXJieA0KICAgICA3MGE6ICAgICAgIDVkICAgICAgICAgICAgICAgICAgICAg IHBvcCAgICAlcmJwDQogICAgIDcwYjogICAgICAgNDEgNWMgICAgICAgICAgICAgICAgICAgcG9w ICAgICVyMTINCiAgICAgNzBkOiAgICAgICA0MSA1ZCAgICAgICAgICAgICAgICAgICBwb3AgICAg JXIxMw0KICAgICA3MGY6ICAgICAgIDQxIDVlICAgICAgICAgICAgICAgICAgIHBvcCAgICAlcjE0 DQogICAgIDcxMTogICAgICAgNDEgNWYgICAgICAgICAgICAgICAgICAgcG9wICAgICVyMTUNCiAg ICAgNzEzOiAgICAgICBjMyAgICAgICAgICAgICAgICAgICAgICByZXQNCg0KPiANCj4gPiA+IEJ1 dCBpZiBpdCByZWFsbHkgaXMsIGNhbiBJIGFzayB5b3UgdG8gY3JlYXRlIGEgbmV3IGRlZmluZSBm b3IgMHg2MCwNCj4gPiA+IHRvIGF2b2lkIGhhcmRjb2RlZCBjb25zdGFudHMgaW4gdGhlIGNvZGU/ DQo+ID4gPiBNaWdodCBiZSBzb21ldGhpbmcgIGxpa2UNCj4gPiA+ICNkZWZpbmUgUlRFX01CVUZf Rl9JTkRJUkVDVF9FWFRFUk5BTF8xQiAuLi4NCj4gPiA+IG9yIHNvLg0KPiA+DQo+ID4gSSBzdGFy dGVkIG91dCB1c2luZyB0aGUgZmllbGQgbmFtZXMsIGJ1dCBCcnVjZSBzdWdnZXN0ZWQgdXNpbmcg MHg2MA0KPiBmb3INCj4gPiByZWFkYWJpbGl0eSwgbWFraW5nIHRoZSBtYWNyb3Mgc2hvcnRlciwg d2hpY2ggSU1PIGxvb2tzIGdvb2QuDQo+ID4NCj4gPiBJIGRvbid0IGxpa2UgYWRkaW5nIHNwZWNp YWwgbmFtZXMganVzdCBmb3IgdGhpcywgc28gZWl0aGVyIHdlIHN0aWNrDQo+IHdpdGggMHg2MCBv ciBnbyBmb3INCj4gPiAiKGNoYXIpKChSVEVfTUJVRl9GX0lORElSRUNUIHwgUlRFX01CVUZfRl9F WFRFUk5BTCkgPj4gKDcgKg0KPiA+IENIQVJfQklUKSkiLCBzb21ldGhpbmcgbGlrZSB0aGlzOg0K PiANCj4gTXkgdm90ZSB3b3VsZCBiZSB0byB1c2UgdGhlIGNvbnN0cnVjdGlvbiBhYm92ZS4NCj4g TWlnaHQgYmUgcHV0IGl0IGluIGEgbmV3IG1hY3JvIGZvciByZWFkYWJpbGl0eS4NCj4gS29uc3Rh bnRpbg0KDQpUaGUgb3B0aW1pemF0aW9uIHJlcXVpcmVzIGNhc3Rpbmcgb2xfZmxhZ3MgYXMgYSBi eXRlIGFycmF5IGFuZCB0aGVuIHJlYWRpbmcgdGhlIE1TQjsgb3RoZXJ3aXNlIEdDQyBhbmQgc29t ZSBvdGhlciBjb21waWxlcnMgYXJlIHRvbyBzdHVwaWQgdG8gcGVyZm9ybSB0aGUgb3B0aW1pemF0 aW9uLg0KU28sIHNob3VsZCBJIHBvc3QgYSB2NyB3aXRoIHRoZSBjb2RlIHByb3Bvc2VkIGJlbG93 ICh0byBnZXQgcmlkIG9mIHRoZSAweDYwIG51bWVyaWNhbCB2YWx1ZSk/DQoNCj4gDQo+ID4gI2lm ZGVmIF9fRE9YWUdFTl9fDQo+ID4gI2RlZmluZSBSVEVfTUJVRl9ESVJFQ1QobWIpIFwNCj4gPiAJ ISgoKGNvbnN0IGNoYXIgKikoJihtYiktPm9sX2ZsYWdzKSlbTVNCX09GRlNFVCAvKiA3IG9yIDAs DQo+IGRlcGVuZGluZyBvbg0KPiA+IGVuZGlhbm5lc3MgKi9dICYgXA0KPiA+IAkoY2hhcikoKFJU RV9NQlVGX0ZfSU5ESVJFQ1QgfCBSVEVfTUJVRl9GX0VYVEVSTkFMKSA+PiAoNyAqDQo+ID4gQ0hB Ul9CSVQpKSkNCj4gPiAjZWxzZSAvKiAhX19ET1hZR0VOX18gKi8NCj4gPiAjaWYgUlRFX0JZVEVf T1JERVIgPT0gUlRFX0xJVFRMRV9FTkRJQU4NCj4gPiAvKiBPbiBsaXR0bGUgZW5kaWFuIGFyY2hp dGVjdHVyZSwgdGhlIE1TQiBvZiBhIDY0LWJpdCBpbnRlZ2VyIGlzIGF0DQo+IGJ5dGUgb2Zmc2V0 IDcuICovDQo+ID4gI2RlZmluZSBSVEVfTUJVRl9ESVJFQ1QobWIpIFwNCj4gPiAJISgoKGNvbnN0 IGNoYXIgKikoJihtYiktPm9sX2ZsYWdzKSlbN10gJiBcDQo+ID4gCShjaGFyKSgoUlRFX01CVUZf Rl9JTkRJUkVDVCB8IFJURV9NQlVGX0ZfRVhURVJOQUwpID4+ICg3ICoNCj4gPiBDSEFSX0JJVCkp KQ0KPiA+ICNlbGlmIFJURV9CWVRFX09SREVSID09IFJURV9CSUdfRU5ESUFODQo+ID4gLyogT24g YmlnIGVuZGlhbiBhcmNoaXRlY3R1cmUsIHRoZSBNU0Igb2YgYSA2NC1iaXQgaW50ZWdlciBpcyBh dCBieXRlDQo+IG9mZnNldCAwLiAqLw0KPiA+ICNkZWZpbmUgUlRFX01CVUZfRElSRUNUKG1iKSBc DQo+ID4gCSEoKChjb25zdCBjaGFyICopKCYobWIpLT5vbF9mbGFncykpWzBdICYgXA0KPiA+IAko Y2hhcikoKFJURV9NQlVGX0ZfSU5ESVJFQ1QgfCBSVEVfTUJVRl9GX0VYVEVSTkFMKSA+PiAoNyAq DQo+ID4gQ0hBUl9CSVQpKSkNCj4gPiAjZW5kaWYgLyogUlRFX0JZVEVfT1JERVIgKi8NCj4gPiAj ZW5kaWYgLyogIV9fRE9YWUdFTl9fICovDQo+ID4gLyogVmVyaWZ5IHRoZSBvcHRpbWl6YXRpb24g YWJvdmUuICovDQo+ID4gc3RhdGljX2Fzc2VydCgoKFJURV9NQlVGX0ZfSU5ESVJFQ1QgfCBSVEVf TUJVRl9GX0VYVEVSTkFMKSAmDQo+ID4gKFVJTlQ2NF9DKDB4RkYpIDw8ICg3ICogQ0hBUl9CSVQp KSkgPT0NCj4gPiAJKFJURV9NQlVGX0ZfSU5ESVJFQ1QgfCBSVEVfTUJVRl9GX0VYVEVSTkFMKSwN Cj4gPiAJIihSVEVfTUJVRl9GX0lORElSRUNUIHwgUlRFX01CVUZfRl9FWFRFUk5BTCkgaXMgbm90 IGF0IE1TQiIpOw0KPiA+DQo+ID4gPiBLb25zdGFudGluDQo+ID4gPg0KPiA+ID4gPiBHb29kIHN1 Z2dlc3Rpb24sIHRob3VnaC4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyNlbmRp Zg0KPiA+ID4gPiA+ID4gKy8qIFZlcmlmeSB0aGUgb3B0aW1pemF0aW9uIGFib3ZlLiAqLw0KPiA+ ID4gPiA+ID4gK3N0YXRpY19hc3NlcnQoKFJURV9NQlVGX0ZfSU5ESVJFQ1QgfCBSVEVfTUJVRl9G X0VYVEVSTkFMKSA9PQ0KPiA+ID4gPiA+ID4gVUlOVDY0X0MoMHg2MCkgPDwgKDcgKiBDSEFSX0JJ VCksDQo+ID4gPiA+ID4gPiArCSIoUlRFX01CVUZfRl9JTkRJUkVDVCB8IFJURV9NQlVGX0ZfRVhU RVJOQUwpIGlzIG5vdCAweDYwDQo+ID4gYXQNCj4gPiA+ID4gPiBNU0IiKTsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiAgLyoqIFVuaW5pdGlhbGl6ZWQgb3IgdW5zcGVjaWZpZWQgcG9ydC4gKi8N Cj4gPiA+ID4gPiA+ICAjZGVmaW5lIFJURV9NQlVGX1BPUlRfSU5WQUxJRCBVSU5UMTZfTUFYDQo+ ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ID4gMi40My4wDQoNCg==