From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70070.outbound.protection.outlook.com [40.107.7.70]) by dpdk.org (Postfix) with ESMTP id 750721B44C for ; Mon, 14 Jan 2019 06:54:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/oNSf9AJn47KXpq+DCfzl9bIdsDhtxchelYOmQN0kCY=; b=FvQsPpYBHodmNsCOEPj5yzXcvyGv2UAauvOqmwgzpfB/wayVVc7mV3hU25+2Ow+dxnzlv4jhjK1XOUwTQcupOFqUIVimdvfLITaZTfhZdyI/JGO0Z73+TDcSZrRojArCEkCFwr8vtSeh6v8VWletc9V6lIQteI6jv/qDbklC5EQ= Received: from AM6PR08MB3672.eurprd08.prod.outlook.com (20.177.115.76) by AM6PR08MB2998.eurprd08.prod.outlook.com (52.135.163.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.13; Mon, 14 Jan 2019 05:54:50 +0000 Received: from AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::25ec:2db7:d268:2b7b]) by AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::25ec:2db7:d268:2b7b%2]) with mapi id 15.20.1516.019; Mon, 14 Jan 2019 05:54:50 +0000 From: Honnappa Nagarahalli To: "Gavin Hu (Arm Technology China)" , "jerinj@marvell.com" , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "chaozhu@linux.vnet.ibm.com" , nd , "bruce.richardson@intel.com" , "thomas@monjalon.net" , "hemant.agrawal@nxp.com" , "stephen@networkplumber.org" , "Joyce Kong (Arm Technology China)" , nd Thread-Topic: [EXT] [PATCH v3 5/6] spinlock: reimplement with atomic one-way barrier builtins Thread-Index: AQHUnZqm9YlTdhkLE0Ow4DCtXGPz+qWSNDCAgBf6TYCABDCSEA== Date: Mon, 14 Jan 2019 05:54:50 +0000 Message-ID: References: <20181227041349.3058-1-gavin.hu@arm.com> <20181227041349.3058-6-gavin.hu@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM6PR08MB2998; 6:N3QfQXh3yMyunWPjG2q+2wMKdzQqK8YwxiHqVYuzumZlsPBJjrMb+3FgBFjH07FKxaABZY6CeipPEDD4zubKrw1aCiSIMr2IXt56zU0eLdyAX8TMNYhG5m58kHNGdD0uIN5WI5jw0bJang5LnTbzGri/yHi2wIzIgH3MH/2letvq1HDoy5nXMX951iFdUqdV+Rd9ItEZWcBhptgAZTcYzpDo7iLTLO4KbppTP9bL98C8zAbKeLRxcGOiGjhnjLP212a5rf4NmKVh7bSjnbmOqfupGTAzLTzOHNgt3iqiWZ3XsvpyMpLKtWVvzCtpmCpeA7VZ5vfqjig0+BhcHruRwuY+X0IjV9RKm0sW1piX3BcHL+OPhehmiXY6G21jS+chGhEWaM2yJ7yZKiXLSlqIaiYxKwzyncIWPj2KG9T4HYDlTbJ2109dC36BU4tyZzAytuc2ofg2B3BVurKbOzsMDg==; 5:3OosUMrQvgSIX9PA+0lLfG5Ptz97vpde63H1jU+tnE4hc2/pHgd0Aa1VxTLEKegoHt8o5UwmhasagkeTd8/pjwCDlbkTYRtJVE3X4V0iYqY3UVxwCvwGOf9NSpHCxCHy8xIUgg1omPewlcpzr/WSOoCzsW+uS4VkoYb70cUjKF9/sluvQOC1PU+lS9zMpJLxgI9Lfo/1pbgYGnXPf8FOOQ==; 7:PhTH1FilbowiEiPZ9Lp+6G4AJK0pTxjsVVEJvlqgAeh4kKejlcAekSfvAhn7wUp2SkaIVbjH+xN4zc7CtQORPJbqLm06YTeymPD5UrH8r2muuLi5TUmoRpYFIOKYbu73RVvDUr3GkbL9qWFtBnzD9A== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 89b52546-aa14-4a5f-7380-08d679e4cc69 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR08MB2998; x-ms-traffictypediagnostic: AM6PR08MB2998: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 0917DFAC67 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39850400004)(136003)(366004)(376002)(199004)(189003)(6436002)(5660300001)(106356001)(105586002)(316002)(68736007)(486006)(110136005)(54906003)(8676002)(8936002)(55016002)(11346002)(33656002)(2906002)(93886005)(81156014)(81166006)(476003)(229853002)(305945005)(66066001)(7736002)(446003)(186003)(102836004)(26005)(99286004)(74316002)(76176011)(6506007)(86362001)(3846002)(7696005)(6116002)(256004)(71190400001)(478600001)(53936002)(9686003)(2501003)(71200400001)(14444005)(6306002)(966005)(72206003)(6246003)(97736004)(25786009)(4001150100001)(14454004)(4326008)(2201001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB2998; H:AM6PR08MB3672.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: G6+6amcvmppWq1bmjpFTE5ILTcX8jNSKg53KucSbTG7ix7XeHWH5NRIsHcmO4Pne8Qsjt5ik3CNeXi4rC932mvxJIoXW35eOTIB55EY3Pn4f8HOwEfH8MJnkd75aGKlnTJKoKrTUUX7bXtd9tgueW3ogDgV43qq4ctRM6EtAiiIlNARMcESyI9g0b9zMwONG8nsgwaNVZ7f2Pm1+1N81VwUmff8b3TKXeotcYHRXFeV3hChOtpvoCswWvVNqOzlhM7cBFnavpmqvvd9x/ZxXPBSuLEQLM61Z/pz9fmZZvkjWyBLpoSCeJYIWbjlOOZbV1S9wImRXxpEmey7s0zaw8nJO4uPa7UK+/yVWZ4beJNem6BROusCWUv/MegcVMLct1XqSfrxeRcUPsHqOC1xln+uaP0nuqzNVwCddEz6I0bw= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89b52546-aa14-4a5f-7380-08d679e4cc69 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2019 05:54:50.7460 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2998 Subject: Re: [dpdk-dev] [EXT] [PATCH v3 5/6] spinlock: reimplement with atomic one-way barrier builtins X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jan 2019 05:54:52 -0000 PiA+DQo+ID4gT24gVGh1LCAyMDE4LTEyLTI3IGF0IDEyOjEzICswODAwLCBHYXZpbiBIdSB3cm90 ZToNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtLS0NCj4gPiA+IFRoZSBfX3N5bmMgYnVpbHRpbiBi YXNlZCBpbXBsZW1lbnRhdGlvbiBnZW5lcmF0ZXMgZnVsbCBtZW1vcnkNCj4gPiA+IGJhcnJpZXJz ICgnZG1iIGlzaCcpIG9uIEFybSBwbGF0Zm9ybXMuIFVzaW5nIEMxMSBhdG9taWMgYnVpbHRpbnMg dG8NCj4gPiA+IGdlbmVyYXRlIG9uZSB3YXkgYmFycmllcnMuDQo+ID4gPg0KPiA+ID4gSGVyZSBp cyB0aGUgYXNzZW1ibHkgY29kZSBvZiBfX3N5bmNfY29tcGFyZV9hbmRfc3dhcCBidWlsdGluLg0K PiA+ID4gX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcChkc3QsIGV4cCwgc3JjKTsNCj4gPiA+ ICAgIDB4MDAwMDAwMDAwMDkwZjFiMCA8KzE2PjogICAgZTAgMDcgNDAgZjkgbGRyIHgwLCBbc3As ICM4XQ0KPiA+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWI0IDwrMjA+OiAgICBlMSAwZiA0MCA3OSBs ZHJoICAgIHcxLCBbc3AsICM2XQ0KPiA+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWI4IDwrMjQ+OiAg ICBlMiAwYiA0MCA3OSBsZHJoICAgIHcyLCBbc3AsICM0XQ0KPiA+ID4gICAgMHgwMDAwMDAwMDAw OTBmMWJjIDwrMjg+OiAgICAyMSAzYyAwMCAxMiBhbmQgdzEsIHcxLCAjMHhmZmZmDQo+ID4gPiAg ICAweDAwMDAwMDAwMDA5MGYxYzAgPCszMj46ICAgIDAzIDdjIDVmIDQ4IGxkeHJoICAgdzMsIFt4 MF0NCj4gPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFjNCA8KzM2PjogICAgN2YgMDAgMDEgNmIgY21w IHczLCB3MQ0KPiA+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWM4IDwrNDA+OiAgICA2MSAwMCAwMCA1 NCBiLm5lICAgIDB4OTBmMWQ0DQo+ID4gPiA8cnRlX2F0b21pYzE2X2NtcHNldCs1Mj4gIC8vIGIu YW55DQo+ID4gPiAgICAweDAwMDAwMDAwMDA5MGYxY2MgPCs0ND46ICAgIDAyIGZjIDA0IDQ4IHN0 bHhyaCAgdzQsIHcyLCBbeDBdDQo+ID4gPiAgICAweDAwMDAwMDAwMDA5MGYxZDAgPCs0OD46ICAg IDg0IGZmIGZmIDM1IGNibnogICAgdzQsIDB4OTBmMWMwDQo+ID4gPiA8cnRlX2F0b21pYzE2X2Nt cHNldCszMj4NCj4gPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFkNCA8KzUyPjogICAgYmYgM2IgMDMg ZDUgZG1iIGlzaA0KPiA+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWQ4IDwrNTY+OiAgICBlMCAxNyA5 ZiAxYSBjc2V0ICAgIHcwLCBlcSAgLy8gZXEgPQ0KPiA+ID4gbm9uZQ0KPiA+ID4NCj4gPiA+IFRo ZSBiZW5jaG1hcmtpbmcgcmVzdWx0cyBzaG93ZWQgM1ggcGVyZm9ybWFuY2UgZ2FpbiBvbiBDYXZp dW0NCj4gPiA+IFRodW5kZXJYMiBhbmQNCj4gPiA+IDEzJSBvbiBRdWFsY29tbSBGYWxtb24gYW5k IDMuNyUgb24gNC1BNzIgTWFydmVsbCBtYWNjaGlhdG9iaW4uDQo+ID4gPiBIZXJlIGlzIHRoZSBl eGFtcGxlIHRlc3QgcmVzdWx0IG9uIFRYMjoNCj4gPiA+DQo+ID4gPiAqKiogc3BpbmxvY2tfYXV0 b3Rlc3Qgd2l0aG91dCB0aGlzIHBhdGNoICoqKiBDb3JlIFsxMjNdIENvc3QgVGltZSA9DQo+ID4g PiA2Mzk4MjIgdXMgQ29yZSBbMTI0XSBDb3N0IFRpbWUgPSA2MzMyNTMgdXMgQ29yZSBbMTI1XSBD b3N0IFRpbWUgPQ0KPiA+ID4gNjQ2MDMwIHVzIENvcmUgWzEyNl0gQ29zdCBUaW1lID0gNjQzMTg5 IHVzIENvcmUgWzEyN10gQ29zdCBUaW1lID0NCj4gPiA+IDY0NzAzOSB1cyBUb3RhbCBDb3N0IFRp bWUgPSA5NTQzMzI5OCB1cw0KPiA+ID4NCj4gPiA+ICoqKiBzcGlubG9ja19hdXRvdGVzdCB3aXRo IHRoaXMgcGF0Y2ggKioqIENvcmUgWzEyM10gQ29zdCBUaW1lID0NCj4gPiA+IDE2MzYxNSB1cyBD b3JlIFsxMjRdIENvc3QgVGltZSA9IDE2NjQ3MSB1cyBDb3JlIFsxMjVdIENvc3QgVGltZSA9DQo+ ID4gPiAxODkwNDQgdXMgQ29yZSBbMTI2XSBDb3N0IFRpbWUgPSAxOTU3NDUgdXMgQ29yZSBbMTI3 XSBDb3N0IFRpbWUgPQ0KPiA+ID4gNzg0MjMgdXMgVG90YWwgQ29zdCBUaW1lID0gMjczMzk2NTYg dXMNCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHYXZpbiBIdSA8Z2F2aW4uaHVAYXJtLmNv bT4NCj4gPiA+IFJldmlld2VkLWJ5OiBQaGlsIFlhbmcgPHBoaWwueWFuZ0Bhcm0uY29tPg0KPiA+ ID4gUmV2aWV3ZWQtYnk6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxs aUBhcm0uY29tPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRh aGxAYXJtLmNvbT4NCj4gPiA+IFJldmlld2VkLWJ5OiBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBl ckBhcm0uY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUvZ2VuZXJpYy9ydGVfc3BpbmxvY2suaCB8IDE4DQo+ID4gPiArKysrKysrKysrKysrLS0tLS0N Cj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkN Cj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv Z2VuZXJpYy9ydGVfc3BpbmxvY2suaA0KPiA+ID4gYi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9nZW5lcmljL3J0ZV9zcGlubG9jay5oDQo+ID4gPiBpbmRleCBjNGMzZmMzMWUuLjg3YWU3 YTRmMSAxMDA2NDQNCj4gPiA+IC0tLSBhL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2dl bmVyaWMvcnRlX3NwaW5sb2NrLmgNCj4gPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlL2dlbmVyaWMvcnRlX3NwaW5sb2NrLmgNCj4gPiA+IEBAIC02MSw5ICs2MSwxNCBAQCBy dGVfc3BpbmxvY2tfbG9jayhydGVfc3BpbmxvY2tfdCAqc2wpOyAgc3RhdGljDQo+ID4gPiBpbmxp bmUgdm9pZCAgcnRlX3NwaW5sb2NrX2xvY2socnRlX3NwaW5sb2NrX3QgKnNsKSAgew0KPiA+ID4g LQl3aGlsZSAoX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0KCZzbC0+bG9ja2VkLCAxKSkNCj4gPiA+ IC0JCXdoaWxlKHNsLT5sb2NrZWQpDQo+ID4gPiArCWludCBleHAgPSAwOw0KPiA+ID4gKw0KPiA+ ID4gKwl3aGlsZSAoIV9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfbigmc2wtPmxvY2tlZCwgJmV4 cCwgMSwgMCwNCj4gPiA+ICsJCQkJX19BVE9NSUNfQUNRVUlSRSwgX19BVE9NSUNfUkVMQVhFRCkp DQo+ID4gew0KPiA+DQo+ID4gSG93IGFib3V0IHJlbW92ZSBleHBsaWN0IGV4cCA9IDAgYW5kIGNo YW5nZSB0bw0KPiA+IF9fYXRvbWljX3Rlc3RfYW5kX3NldChmbGFnLCBfX0FUT01JQ19BQ1FVSVJF KTsNCj4gDQo+IFllcywgX19hdG9taWNfdGVzdF9hbmRfc2V0IG1lYW5zIHNpbXBsZXIgY29kZSBh bmQgYmV0dGVyLCBidXQNCj4gX19hdG9taWNfdGVzdF9hbmRfc2V0IHRha2VzIHRoZSBmaXJzdCBh cmd1bWVudCBhcyBhIHBvaW50ZXIgdG8gdHlwZSBib29sIG9yDQo+IGNoYXIsIGluIG91ciBjYXNl LCBzbC0+bG9ja2VkIGlzIG9mIHR5cGUgdWludDMyLg0KPiBXZSBjYW4gZm9yY2UgaXQgdG8gdWlu dDgsIG9yIGp1c3QgcGFzcyBpbiB0aGUgMzJiaXQgcG9pbnRlciwgb25seSBvbmUgYnl0ZS9iaXQg aXMNCj4gcmVhbGx5IHVzZWQgaW4gdGhpcyBjYXNlLCBpcyB0aGF0IG9rPw0KPiANCj4gIkl0IHNo b3VsZCBiZSBvbmx5IHVzZWQgZm9yIG9wZXJhbmRzIG9mIHR5cGUgYm9vbCBvciBjaGFyLiBGb3Ig b3RoZXIgdHlwZXMgb25seQ0KPiBwYXJ0IG9mIHRoZSB2YWx1ZSBtYXkgYmUgc2V0LiINCj4gaHR0 cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy02LjEuMC9nY2MvXzAwNWZfMDA1ZmF0b21p Yy0NCj4gQnVpbHRpbnMuaHRtbA0KPiANCj4gRnJvbSBwZXJmb3JtYW5jZSBwZXJzcGVjdGl2ZSwg aW4gb3VyIHRlc3RpbmcsIHRoZSBwZXJmb3JtYW5jZSB3YXMgdmVyeSBjbG9zZSwNCj4gY29tcGFy ZWQgdG8gX19hdG9taWMuDQpJZiBwZXJmb3JtYW5jZSBpcyBjbG9zZSwgSSBzdWdnZXN0IHdlIGdv IHdpdGggdGhlIGV4aXN0aW5nIHBhdGNoLiBDaGFuZ2luZyBzbC0+bG9ja2VkIHRvIGJvb2wvY2hh ciB3b3VsZCBiZSBhbiBBQkkgY2hhbmdlIGFuZCB3aWxsIGFmZmVjdCB4ODYgVE0gYmFzZWQgaW1w bGVtZW50YXRpb24gYXMgd2VsbC4NCkplcmluLCB3aGF0IGRvIHlvdSB0aGluaz8NCg0KPiANCj4g Pg0KPiA+IGkuZQ0KPiA+IHdoaWxlIChfYXRvbWljX3Rlc3RfYW5kX3NldChmbGFnLCBfX0FUT01J Q19BQ1FVSVJFKSkNCj4gPg0KPiA+DQo+ID4NCj4gPiA+ICsJCXdoaWxlIChfX2F0b21pY19sb2Fk X24oJnNsLT5sb2NrZWQsIF9fQVRPTUlDX1JFTEFYRUQpKQ0KPiA+ID4gIAkJCXJ0ZV9wYXVzZSgp Ow0KPiA+ID4gKwkJZXhwID0gMDsNCj4gPg0KPiA+IFdlIGNhbiByZW1vdmUgZXhwID0gMCB3aXRo IGFib3ZlIHNjaGVtZS4NCj4gPg0KPiA+ID4gKwl9DQo+ID4gPiAgfQ0KPiA+ID4gICNlbmRpZg0K PiA+ID4NCj4gPiA+IEBAIC04MCw3ICs4NSw3IEBAIHJ0ZV9zcGlubG9ja191bmxvY2sgKHJ0ZV9z cGlubG9ja190ICpzbCk7ICBzdGF0aWMNCj4gPiA+IGlubGluZSB2b2lkICBydGVfc3BpbmxvY2tf dW5sb2NrIChydGVfc3BpbmxvY2tfdCAqc2wpICB7DQo+ID4gPiAtCV9fc3luY19sb2NrX3JlbGVh c2UoJnNsLT5sb2NrZWQpOw0KPiA+ID4gKwlfX2F0b21pY19zdG9yZV9uKCZzbC0+bG9ja2VkLCAw LCBfX0FUT01JQ19SRUxFQVNFKTsNCj4gPiAgfQ0KPiA+ID4gICNlbmRpZg0KPiA+ID4NCj4gPiA+ IEBAIC05OSw3ICsxMDQsMTAgQEAgcnRlX3NwaW5sb2NrX3RyeWxvY2sgKHJ0ZV9zcGlubG9ja190 ICpzbCk7DQo+ID4gPiBzdGF0aWMgaW5saW5lIGludCAgcnRlX3NwaW5sb2NrX3RyeWxvY2sgKHJ0 ZV9zcGlubG9ja190ICpzbCkgIHsNCj4gPiA+IC0JcmV0dXJuIF9fc3luY19sb2NrX3Rlc3RfYW5k X3NldCgmc2wtPmxvY2tlZCwxKSA9PSAwOw0KPiA+ID4gKwlpbnQgZXhwID0gMDsNCj4gPiA+ICsJ cmV0dXJuIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfbigmc2wtPmxvY2tlZCwgJmV4cCwgMSwN Cj4gPiA+ICsJCQkJMCwgLyogZGlzYWxsb3cgc3B1cmlvdXMgZmFpbHVyZSAqLw0KPiA+ID4gKwkJ CQlfX0FUT01JQ19BQ1FVSVJFLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPg0KPiA+IEhlcmUgdG8g cmVtb3ZlIGV4cGxpY2l0IGV4cC4NCj4gPg0KPiA+IHJldHVybiAoX19hdG9taWNfdGVzdF9hbmRf c2V0KGZsYWcsIF9fQVRPTUlDX0FDUVVJUkUpID09IDApDQo+ID4NCj4gPg0KPiA+ID4gIH0NCj4g PiA+ICAjZW5kaWYNCj4gPiA+DQo+ID4gPiBAQCAtMTEzLDcgKzEyMSw3IEBAIHJ0ZV9zcGlubG9j a190cnlsb2NrIChydGVfc3BpbmxvY2tfdCAqc2wpDQo+ID4gPiAgICovDQo+ID4gPiAgc3RhdGlj IGlubGluZSBpbnQgcnRlX3NwaW5sb2NrX2lzX2xvY2tlZCAocnRlX3NwaW5sb2NrX3QgKnNsKSAg ew0KPiA+ID4gLQlyZXR1cm4gc2wtPmxvY2tlZDsNCj4gPiA+ICsJcmV0dXJuIF9fYXRvbWljX2xv YWRfbigmc2wtPmxvY2tlZCwgX19BVE9NSUNfQUNRVUlSRSk7DQo+ID4NCj4gPiBfX0FUT01JQ19S RUxBWEVEIHdvdWxkIGJlIGVub3VnaCBoZXJlLiBSaWdodCA/DQo+ID4NCj4gPg0KPiA+ID4gIH0N Cj4gPiA+DQo+ID4gPiAgLyoqDQo=