From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30063.outbound.protection.outlook.com [40.107.3.63]) by dpdk.org (Postfix) with ESMTP id 476441BC0A for ; Fri, 11 Jan 2019 14:52:13 +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=D+/uW9YdHiHtCbrAe0Oxp8w4m7iNd1WlyzL4zy+oa2g=; b=JlVLhDKdHFWZREvkGopfYvQbrPi9yI1zABMyknhFk+iKVBlAOlGzo1eqZQ1ylG/Jer0jhTWMspw9BeC/FW42wnlItHVqnwVH8PPRgKZaSE4eadTfgEcSb5wR515DOVNY/5MB/6AgGnsMl0bnbah9FTWcTlY47cG8voEh79BLXCg= Received: from VI1PR08MB3167.eurprd08.prod.outlook.com (52.133.15.142) by VI1PR08MB3695.eurprd08.prod.outlook.com (20.178.13.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.18; Fri, 11 Jan 2019 13:52:11 +0000 Received: from VI1PR08MB3167.eurprd08.prod.outlook.com ([fe80::8960:6756:4cdc:3954]) by VI1PR08MB3167.eurprd08.prod.outlook.com ([fe80::8960:6756:4cdc:3954%4]) with mapi id 15.20.1516.016; Fri, 11 Jan 2019 13:52:11 +0000 From: "Gavin Hu (Arm Technology China)" To: "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" , Honnappa Nagarahalli , "Joyce Kong (Arm Technology China)" Thread-Topic: [EXT] [PATCH v3 5/6] spinlock: reimplement with atomic one-way barrier builtins Thread-Index: AQHUnZqmauMG1KJkikm39gJVL/H8jqWSNDCAgBegNAA= Date: Fri, 11 Jan 2019 13:52:11 +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=Gavin.Hu@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR08MB3695; 6:3/1Ol61GdaPaea34IAH75OE1Vm/Z0xm7IQiO1E3xqaOY4ctpSguR5AKD3HHifB43dfCNkpza6Htq3YlsJ6Zd8tLFxqd6v3nNEGe/NOEdPzZGHKweuOg/mUVpIyECueAF8SFURi6M13pmk7yGU8PcvnOVEw8CnxmrNUYxpulwJQAtUOgUhLk1oF1h1k4jZg0Nwx7z+ZzinduSuK4d2l4mjpDL6Pha26L0hMqv9eoLJj8huKrpfy5aUvjy4U/DPhCu9suqUwxJuOVKG6NgdWa5210ljmUNzoQoxKM0PPqJ9A8F1NrIjQUI0ZDadZZgTnc+0Cua6xL52Mbwqr6pGB6nd5lusFAViNTiONd6U76R8rANxzxu+x8xODT8Zws/1842nuug910vu0NZrjhYitHxHtp37YtOTjis7+lCADFpMm8KRJU2LaeJnQySZmRTllMQNLtwrmp9UNzQ8oSs+sLB4g==; 5:ootXRnjK3gsjEaOZc3/1VAAi8FSK/x2F872LXE5+q5qWeaQ8KnMr7NarTHh8LBh7sAKljzhkXgI3dHV/0zUJ16CQv0xFXjHjzKBr4XiTrGrGLX9ckK+l21m1Sy8qlLjfbZGAP0X/UQG3HXhUwaZeHgKMu3XpMj91BLCrs3dgNkC3lIDM9gpn+NqtIhXFa9Ds9zNp/w29gBxkAYsnnKmXdw==; 7:yFqqimP2/J6V9mCjL7JKPkmsMeZTPEgmopWKFQ0vmIF3wCRt3GUD0JDkIKPWaeCXnu84FMEPbCoo+tkj94W7/zvsdNgsXJFSjl+2LbtC6yloQxb8un/+SzPOFTm4xXomyjFt55A6gEmw6YfvhWdtzw== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 5a4f252b-f058-49b5-6823-08d677cbfc5a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR08MB3695; x-ms-traffictypediagnostic: VI1PR08MB3695: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 09144DB0F7 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(39860400002)(366004)(376002)(346002)(13464003)(189003)(199004)(256004)(14444005)(97736004)(72206003)(105586002)(305945005)(7736002)(33656002)(68736007)(4326008)(2906002)(25786009)(478600001)(6306002)(9686003)(53936002)(6246003)(66066001)(102836004)(99286004)(316002)(3846002)(54906003)(110136005)(6116002)(74316002)(6506007)(55236004)(53546011)(186003)(5660300001)(476003)(26005)(76176011)(446003)(11346002)(7696005)(6436002)(55016002)(229853002)(966005)(71190400001)(71200400001)(106356001)(86362001)(8936002)(486006)(8676002)(14454004)(4001150100001)(81166006)(81156014)(2501003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB3695; H:VI1PR08MB3167.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A: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: xYqs8tTRzFJzXL29ejQuStrliHGWsSBJ4BqMxIlP9bRC7tYZGRmPNyGvgjloSYEZUKi2glCAQ9RIrCHaYA/WntmnKgu953fQKl2klMubXnk77qyeXzMySFqJJwgbnDFjmU645BuOCcgfdLsvVFxn00slxVxdv4KN6bFA9E2MJGy3dlJMExfzqhdPz0XU0t/rajgYalGTiAaeZkUCqver0qP2jjX72A2DcLYHp4SEKPkVHRUpUVeecA9Xou57szukgo2RyL3FnQOqDDEBDjmnGAuGntXKwNE/5jQ0Rj0J+GnxIRE5vhq0mSbmEWwOkhIwzLGhlhw4beXzC2qF8reXzfVJDTt3EaPbj7NfKK4F0/OSe9Dor9cxvaxhsAqmP5eKEadw1PTvMEUNrWT0kphbNaElmrv3J8F4kkn3ZGM4pEQ= 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: 5a4f252b-f058-49b5-6823-08d677cbfc5a X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2019 13:52:11.3652 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3695 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: Fri, 11 Jan 2019 13:52:13 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgS29s bGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgRGVjZW1i ZXIgMjcsIDIwMTggMzo0MiBQTQ0KPiBUbzogR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5h KSA8R2F2aW4uSHVAYXJtLmNvbT47DQo+IGRldkBkcGRrLm9yZw0KPiBDYzogZGF2aWQubWFyY2hh bmRAcmVkaGF0LmNvbTsgY2hhb3podUBsaW51eC52bmV0LmlibS5jb207IG5kDQo+IDxuZEBhcm0u Y29tPjsgYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207IHRob21hc0Btb25qYWxvbi5uZXQ7DQo+ IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBIb25u YXBwYQ0KPiBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4NCj4gU3Vi amVjdDogUmU6IFtFWFRdIFtQQVRDSCB2MyA1LzZdIHNwaW5sb2NrOiByZWltcGxlbWVudCB3aXRo IGF0b21pYyBvbmUtDQo+IHdheSBiYXJyaWVyIGJ1aWx0aW5zDQo+IA0KPiBPbiBUaHUsIDIwMTgt MTItMjcgYXQgMTI6MTMgKzA4MDAsIEdhdmluIEh1IHdyb3RlOg0KPiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4g LS0tDQo+ID4gVGhlIF9fc3luYyBidWlsdGluIGJhc2VkIGltcGxlbWVudGF0aW9uIGdlbmVyYXRl cyBmdWxsIG1lbW9yeQ0KPiA+IGJhcnJpZXJzDQo+ID4gKCdkbWIgaXNoJykgb24gQXJtIHBsYXRm b3Jtcy4gVXNpbmcgQzExIGF0b21pYyBidWlsdGlucyB0byBnZW5lcmF0ZQ0KPiA+IG9uZSB3YXkN Cj4gPiBiYXJyaWVycy4NCj4gPg0KPiA+IEhlcmUgaXMgdGhlIGFzc2VtYmx5IGNvZGUgb2YgX19z eW5jX2NvbXBhcmVfYW5kX3N3YXAgYnVpbHRpbi4NCj4gPiBfX3N5bmNfYm9vbF9jb21wYXJlX2Fu ZF9zd2FwKGRzdCwgZXhwLCBzcmMpOw0KPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFiMCA8KzE2Pjog ICAgZTAgMDcgNDAgZjkgbGRyIHgwLCBbc3AsICM4XQ0KPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFi NCA8KzIwPjogICAgZTEgMGYgNDAgNzkgbGRyaCAgICB3MSwgW3NwLCAjNl0NCj4gPiAgICAweDAw MDAwMDAwMDA5MGYxYjggPCsyND46ICAgIGUyIDBiIDQwIDc5IGxkcmggICAgdzIsIFtzcCwgIzRd DQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWJjIDwrMjg+OiAgICAyMSAzYyAwMCAxMiBhbmQgdzEs IHcxLCAjMHhmZmZmDQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWMwIDwrMzI+OiAgICAwMyA3YyA1 ZiA0OCBsZHhyaCAgIHczLCBbeDBdDQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWM0IDwrMzY+OiAg ICA3ZiAwMCAwMSA2YiBjbXAgdzMsIHcxDQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWM4IDwrNDA+ OiAgICA2MSAwMCAwMCA1NCBiLm5lICAgIDB4OTBmMWQ0DQo+ID4gPHJ0ZV9hdG9taWMxNl9jbXBz ZXQrNTI+ICAvLyBiLmFueQ0KPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFjYyA8KzQ0PjogICAgMDIg ZmMgMDQgNDggc3RseHJoICB3NCwgdzIsIFt4MF0NCj4gPiAgICAweDAwMDAwMDAwMDA5MGYxZDAg PCs0OD46ICAgIDg0IGZmIGZmIDM1IGNibnogICAgdzQsIDB4OTBmMWMwDQo+ID4gPHJ0ZV9hdG9t aWMxNl9jbXBzZXQrMzI+DQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWQ0IDwrNTI+OiAgICBiZiAz YiAwMyBkNSBkbWIgaXNoDQo+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWQ4IDwrNTY+OiAgICBlMCAx NyA5ZiAxYSBjc2V0ICAgIHcwLCBlcSAgLy8gZXEgPQ0KPiA+IG5vbmUNCj4gPg0KPiA+IFRoZSBi ZW5jaG1hcmtpbmcgcmVzdWx0cyBzaG93ZWQgM1ggcGVyZm9ybWFuY2UgZ2FpbiBvbiBDYXZpdW0N Cj4gPiBUaHVuZGVyWDIgYW5kDQo+ID4gMTMlIG9uIFF1YWxjb21tIEZhbG1vbiBhbmQgMy43JSBv biA0LUE3MiBNYXJ2ZWxsIG1hY2NoaWF0b2Jpbi4NCj4gPiBIZXJlIGlzIHRoZSBleGFtcGxlIHRl c3QgcmVzdWx0IG9uIFRYMjoNCj4gPg0KPiA+ICoqKiBzcGlubG9ja19hdXRvdGVzdCB3aXRob3V0 IHRoaXMgcGF0Y2ggKioqDQo+ID4gQ29yZSBbMTIzXSBDb3N0IFRpbWUgPSA2Mzk4MjIgdXMNCj4g PiBDb3JlIFsxMjRdIENvc3QgVGltZSA9IDYzMzI1MyB1cw0KPiA+IENvcmUgWzEyNV0gQ29zdCBU aW1lID0gNjQ2MDMwIHVzDQo+ID4gQ29yZSBbMTI2XSBDb3N0IFRpbWUgPSA2NDMxODkgdXMNCj4g PiBDb3JlIFsxMjddIENvc3QgVGltZSA9IDY0NzAzOSB1cw0KPiA+IFRvdGFsIENvc3QgVGltZSA9 IDk1NDMzMjk4IHVzDQo+ID4NCj4gPiAqKiogc3BpbmxvY2tfYXV0b3Rlc3Qgd2l0aCB0aGlzIHBh dGNoICoqKg0KPiA+IENvcmUgWzEyM10gQ29zdCBUaW1lID0gMTYzNjE1IHVzDQo+ID4gQ29yZSBb MTI0XSBDb3N0IFRpbWUgPSAxNjY0NzEgdXMNCj4gPiBDb3JlIFsxMjVdIENvc3QgVGltZSA9IDE4 OTA0NCB1cw0KPiA+IENvcmUgWzEyNl0gQ29zdCBUaW1lID0gMTk1NzQ1IHVzDQo+ID4gQ29yZSBb MTI3XSBDb3N0IFRpbWUgPSA3ODQyMyB1cw0KPiA+IFRvdGFsIENvc3QgVGltZSA9IDI3MzM5NjU2 IHVzDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBHYXZpbiBIdSA8Z2F2aW4uaHVAYXJtLmNvbT4N Cj4gPiBSZXZpZXdlZC1ieTogUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNvbT4NCj4gPiBSZXZp ZXdlZC1ieTogSG9ubmFwcGEgTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5j b20+DQo+ID4gUmV2aWV3ZWQtYnk6IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxAYXJtLmNv bT4NCj4gPiBSZXZpZXdlZC1ieTogU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4N Cj4gPiAtLS0NCj4gPiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvZ2VuZXJpYy9ydGVf c3BpbmxvY2suaCB8IDE4DQo+ID4gKysrKysrKysrKysrKy0tLS0tDQo+ID4gIDEgZmlsZSBjaGFu Z2VkLCAxMyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2dlbmVyaWMvcnRlX3NwaW5sb2NrLmgN Cj4gPiBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2dlbmVyaWMvcnRlX3NwaW5sb2Nr LmgNCj4gPiBpbmRleCBjNGMzZmMzMWUuLjg3YWU3YTRmMSAxMDA2NDQNCj4gPiAtLS0gYS9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9nZW5lcmljL3J0ZV9zcGlubG9jay5oDQo+ID4gKysr IGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvZ2VuZXJpYy9ydGVfc3BpbmxvY2suaA0K PiA+IEBAIC02MSw5ICs2MSwxNCBAQCBydGVfc3BpbmxvY2tfbG9jayhydGVfc3BpbmxvY2tfdCAq c2wpOw0KPiA+ICBzdGF0aWMgaW5saW5lIHZvaWQNCj4gPiAgcnRlX3NwaW5sb2NrX2xvY2socnRl X3NwaW5sb2NrX3QgKnNsKQ0KPiA+ICB7DQo+ID4gLQl3aGlsZSAoX19zeW5jX2xvY2tfdGVzdF9h bmRfc2V0KCZzbC0+bG9ja2VkLCAxKSkNCj4gPiAtCQl3aGlsZShzbC0+bG9ja2VkKQ0KPiA+ICsJ aW50IGV4cCA9IDA7DQo+ID4gKw0KPiA+ICsJd2hpbGUgKCFfX2F0b21pY19jb21wYXJlX2V4Y2hh bmdlX24oJnNsLT5sb2NrZWQsICZleHAsIDEsIDAsDQo+ID4gKwkJCQlfX0FUT01JQ19BQ1FVSVJF LCBfX0FUT01JQ19SRUxBWEVEKSkNCj4gew0KPiANCj4gSG93IGFib3V0IHJlbW92ZSBleHBsaWN0 IGV4cCA9IDAgYW5kIGNoYW5nZSB0bw0KPiBfX2F0b21pY190ZXN0X2FuZF9zZXQoZmxhZywgX19B VE9NSUNfQUNRVUlSRSk7DQoNClllcywgX19hdG9taWNfdGVzdF9hbmRfc2V0IG1lYW5zIHNpbXBs ZXIgY29kZSBhbmQgYmV0dGVyLCBidXQgX19hdG9taWNfdGVzdF9hbmRfc2V0IHRha2VzIHRoZSBm aXJzdCBhcmd1bWVudCBhcyBhIHBvaW50ZXIgdG8gdHlwZSBib29sIG9yIGNoYXIsIGluIG91ciBj YXNlLCBzbC0+bG9ja2VkIGlzIG9mIHR5cGUgdWludDMyLiANCldlIGNhbiBmb3JjZSBpdCB0byB1 aW50OCwgb3IganVzdCBwYXNzIGluIHRoZSAzMmJpdCBwb2ludGVyLCBvbmx5IG9uZSBieXRlL2Jp dCBpcyByZWFsbHkgdXNlZCBpbiB0aGlzIGNhc2UsIGlzIHRoYXQgb2s/IA0KDQoiSXQgc2hvdWxk IGJlIG9ubHkgdXNlZCBmb3Igb3BlcmFuZHMgb2YgdHlwZSBib29sIG9yIGNoYXIuIEZvciBvdGhl ciB0eXBlcyBvbmx5IHBhcnQgb2YgdGhlIHZhbHVlIG1heSBiZSBzZXQuIg0KaHR0cHM6Ly9nY2Mu Z251Lm9yZy9vbmxpbmVkb2NzL2djYy02LjEuMC9nY2MvXzAwNWZfMDA1ZmF0b21pYy1CdWlsdGlu cy5odG1sDQoNCkZyb20gcGVyZm9ybWFuY2UgcGVyc3BlY3RpdmUsIGluIG91ciB0ZXN0aW5nLCB0 aGUgcGVyZm9ybWFuY2Ugd2FzIHZlcnkgY2xvc2UsIGNvbXBhcmVkIHRvIF9fYXRvbWljLg0KDQo+ IA0KPiBpLmUNCj4gd2hpbGUgKF9hdG9taWNfdGVzdF9hbmRfc2V0KGZsYWcsIF9fQVRPTUlDX0FD UVVJUkUpKQ0KPiANCj4gDQo+IA0KPiA+ICsJCXdoaWxlIChfX2F0b21pY19sb2FkX24oJnNsLT5s b2NrZWQsIF9fQVRPTUlDX1JFTEFYRUQpKQ0KPiA+ICAJCQlydGVfcGF1c2UoKTsNCj4gPiArCQll eHAgPSAwOw0KPiANCj4gV2UgY2FuIHJlbW92ZSBleHAgPSAwIHdpdGggYWJvdmUgc2NoZW1lLg0K PiANCj4gPiArCX0NCj4gPiAgfQ0KPiA+ICAjZW5kaWYNCj4gPg0KPiA+IEBAIC04MCw3ICs4NSw3 IEBAIHJ0ZV9zcGlubG9ja191bmxvY2sgKHJ0ZV9zcGlubG9ja190ICpzbCk7DQo+ID4gIHN0YXRp YyBpbmxpbmUgdm9pZA0KPiA+ICBydGVfc3BpbmxvY2tfdW5sb2NrIChydGVfc3BpbmxvY2tfdCAq c2wpDQo+ID4gIHsNCj4gPiAtCV9fc3luY19sb2NrX3JlbGVhc2UoJnNsLT5sb2NrZWQpOw0KPiA+ ICsJX19hdG9taWNfc3RvcmVfbigmc2wtPmxvY2tlZCwgMCwgX19BVE9NSUNfUkVMRUFTRSk7DQo+ ICB9DQo+ID4gICNlbmRpZg0KPiA+DQo+ID4gQEAgLTk5LDcgKzEwNCwxMCBAQCBydGVfc3Bpbmxv Y2tfdHJ5bG9jayAocnRlX3NwaW5sb2NrX3QgKnNsKTsNCj4gPiAgc3RhdGljIGlubGluZSBpbnQN Cj4gPiAgcnRlX3NwaW5sb2NrX3RyeWxvY2sgKHJ0ZV9zcGlubG9ja190ICpzbCkNCj4gPiAgew0K PiA+IC0JcmV0dXJuIF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldCgmc2wtPmxvY2tlZCwxKSA9PSAw Ow0KPiA+ICsJaW50IGV4cCA9IDA7DQo+ID4gKwlyZXR1cm4gX19hdG9taWNfY29tcGFyZV9leGNo YW5nZV9uKCZzbC0+bG9ja2VkLCAmZXhwLCAxLA0KPiA+ICsJCQkJMCwgLyogZGlzYWxsb3cgc3B1 cmlvdXMgZmFpbHVyZSAqLw0KPiA+ICsJCQkJX19BVE9NSUNfQUNRVUlSRSwgX19BVE9NSUNfUkVM QVhFRCk7DQo+IA0KPiBIZXJlIHRvIHJlbW92ZSBleHBsaWNpdCBleHAuDQo+IA0KPiByZXR1cm4g KF9fYXRvbWljX3Rlc3RfYW5kX3NldChmbGFnLCBfX0FUT01JQ19BQ1FVSVJFKSA9PSAwKQ0KPiAN Cj4gDQo+ID4gIH0NCj4gPiAgI2VuZGlmDQo+ID4NCj4gPiBAQCAtMTEzLDcgKzEyMSw3IEBAIHJ0 ZV9zcGlubG9ja190cnlsb2NrIChydGVfc3BpbmxvY2tfdCAqc2wpDQo+ID4gICAqLw0KPiA+ICBz dGF0aWMgaW5saW5lIGludCBydGVfc3BpbmxvY2tfaXNfbG9ja2VkIChydGVfc3BpbmxvY2tfdCAq c2wpDQo+ID4gIHsNCj4gPiAtCXJldHVybiBzbC0+bG9ja2VkOw0KPiA+ICsJcmV0dXJuIF9fYXRv bWljX2xvYWRfbigmc2wtPmxvY2tlZCwgX19BVE9NSUNfQUNRVUlSRSk7DQo+IA0KPiBfX0FUT01J Q19SRUxBWEVEIHdvdWxkIGJlIGVub3VnaCBoZXJlLiBSaWdodCA/DQo+IA0KPiANCj4gPiAgfQ0K PiA+DQo+ID4gIC8qKg0K