From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 533A5A0520 for ; Fri, 26 Jun 2020 22:46:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1ECBE1BEC0; Fri, 26 Jun 2020 22:46:38 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80078.outbound.protection.outlook.com [40.107.8.78]) by dpdk.org (Postfix) with ESMTP id BA4701BEAF; Fri, 26 Jun 2020 22:46:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sT/qocIL7u601g4vCP5xzyxJNdzX68BoF8qAkfi8rBk=; b=3KLk9Qb+ngz1UgH9jxAURUTvPCTvWzGelJvQTXWa9iGkvf0FofsF/XkliGX0XJ5KwvkYFrB0vdhjIUQ/geyh7siyWH7+cPvIZuDGQulHmLgZ680FRciYe5Vl7gE4GXyegVuO7AwIeMhO/nLvohiY4FdcTP8NiyUqpkqoPvJk0RA= Received: from DB7PR02CA0005.eurprd02.prod.outlook.com (2603:10a6:10:52::18) by AM6PR08MB4616.eurprd08.prod.outlook.com (2603:10a6:20b:6f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23; Fri, 26 Jun 2020 20:46:33 +0000 Received: from DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:52:cafe::d) by DB7PR02CA0005.outlook.office365.com (2603:10a6:10:52::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Fri, 26 Jun 2020 20:46:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT032.mail.protection.outlook.com (10.152.20.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Fri, 26 Jun 2020 20:46:32 +0000 Received: ("Tessian outbound fcfbba629a49:v60"); Fri, 26 Jun 2020 20:46:32 +0000 X-CR-MTA-TID: 64aa7808 Received: from e9eba53b2554.4 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A19271DD-A4AA-4A53-B943-6E1448B78A01.1; Fri, 26 Jun 2020 20:46:27 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e9eba53b2554.4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 26 Jun 2020 20:46:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gmzj2chIH1nmRQYJVgFyrAcUk0915kpWXCXFRQw5mfMVBlq3cVVX9ughsbOjc+uuiAuWbGHFTMl0r3HYiZXjO5JgI0QPRJ5BuibRoGy+/LB0205f9n8MgNDGDWyZQR1dGr/Nj6DKmxTO45Nk+1k296PWj1pZnAJjuzQj+H3dN/Ds52oH0dU9ikk6nFrwlEX+UAUy3iOE3UFXY0WHuljNhBUzXnInfq+HmrlYgmduFUPASda8dcMlJZQdkcZ00mxHVR+ENDBKam2CivKuE96GdhVL3UaieJXlYLYKw1kLutUcYREy1OrWpedb0+5n+/z9VCndQteryfVBg51Ml2Bliw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sT/qocIL7u601g4vCP5xzyxJNdzX68BoF8qAkfi8rBk=; b=ObDOHpWKYjJ9nAKucbxC61QdPPMA/OOKekDunFqF6L9+/VVmc0/ZAA50iHK31SpZaiALnYxHKSVk/4eKz5EUFBrXxm50tl1yWUbpzkAclK753kxLNS/sFCdgvf/A7E8mAVuRBqWYTcmW4Kj8G+NTmk+tSyYk2sF4xnqITdsQZTN0RGirFY0OFrKHMVAMH5B9a1WSFQXvktXxlx4byGL5/iMVR2DwxgalbPBpgf2Eu6JAt9whTe6yLPQAe/W9AzjYaYl+z/KZYbloZNR6BqSJgxBbfi7gaNvm6rdWEaGOiRirC4WnKiuVPJm3FyzhHN2kX7CZOlamdFN0tWGLtN7HNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sT/qocIL7u601g4vCP5xzyxJNdzX68BoF8qAkfi8rBk=; b=3KLk9Qb+ngz1UgH9jxAURUTvPCTvWzGelJvQTXWa9iGkvf0FofsF/XkliGX0XJ5KwvkYFrB0vdhjIUQ/geyh7siyWH7+cPvIZuDGQulHmLgZ680FRciYe5Vl7gE4GXyegVuO7AwIeMhO/nLvohiY4FdcTP8NiyUqpkqoPvJk0RA= Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com (2603:10a6:4:85::9) by DB8PR08MB5513.eurprd08.prod.outlook.com (2603:10a6:10:f8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23; Fri, 26 Jun 2020 20:46:24 +0000 Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d]) by DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d%10]) with mapi id 15.20.3131.026; Fri, 26 Jun 2020 20:46:24 +0000 From: Honnappa Nagarahalli To: Jerin Jacob CC: dpdk-dev , "jerinj@marvell.com" , "hemant.agrawal@nxp.com" , "Akhil.goyal@nxp.com" , "ogerlitz@mellanox.com" , "Ajit Khaparde (ajit.khaparde@broadcom.com)" , "ruigeng.wang@arm.com" , Dharmik Thakkar , Phil Yang , dpdk stable , nd , Honnappa Nagarahalli , nd Thread-Topic: [dpdk-dev] [PATCH] eal: generic counter based loop for CPU freq calculation Thread-Index: AQHWPdyga/FZtCD/gUivzkTyZkd85qjn0HgAgAKUcmA= Date: Fri, 26 Jun 2020 20:46:23 +0000 Message-ID: References: <20200608213417.9764-1-honnappa.nagarahalli@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: cde8f246-39b5-49e8-8ee1-e18690d5809c.1 x-checkrecipientchecked: true Authentication-Results-Original: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [217.140.110.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1687923a-2d94-4c28-9419-08d81a1202b0 x-ms-traffictypediagnostic: DB8PR08MB5513:|AM6PR08MB4616: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430; x-forefront-prvs: 0446F0FCE1 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: AJHJXFx7wIVCoTK+ggLC0siRc32o8CMWTgn1aWfhZ/PqUqXHoagEuUVzt/kCq4g4UAnOyB2PSmlVPYR6lSgt7oAb3CKFai1UiVoExFv+whFYPwWnKsf1t5QZi85kXhxuQUAWtFHjP4pRQx89oOWsS5craftt7PYVDxgNBb1+WiUtSw1+tdVY+RJ99ucy7H5MCnCdjHsHa5vWyhl9n0MwrBFFYaUxk8RohqijMfMhn9E//rjB4lXxBpl8M/Gk66e4esM+BaAOa2wW7Jh3eA+E5M90A2NBEe6+eksfxUNuubuH9b0Ic4bBRVYZJFBlJ66DBLbb7bDjj97Y0nFW89v4lGjwlkGEQfbamrSBZRBLpWPeTXBvaDqfFVVHvKSqTA8j X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0802MB2216.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(396003)(366004)(376002)(39860400002)(136003)(71200400001)(55016002)(8676002)(6506007)(6916009)(8936002)(2906002)(52536014)(26005)(9686003)(186003)(5660300002)(53546011)(76116006)(66946007)(66556008)(83380400001)(316002)(4326008)(33656002)(54906003)(64756008)(66476007)(86362001)(478600001)(66446008)(7696005)(41533002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: EuKUJgLnV0ktJmU8/0QPVKsyDFWf8v4wb1B3bFjn/Ds4tcyowaykx08EhLSMelZfLaq+0ZEqpJ9K7JObLmB+7WDcu73ude4EfYrCjEmg0zy8eLQLSPty4CKKRarhnAbk5nrPM9KceT85QjnzL7lmD+D1U1mxwGjgPIweaRKrKBHTEQaOXMTYcTxcZviKQjVx89nM6dS29shcQekFXS2wx3vPlFUkKp2gzPeiLJ8TBajYHb3jQCnfF+iVag/fTtLk/eVNrDsQr2MnzM8Cbh/9uhF0OEp8zQkrjHwGckVS9k0W6zibzc+AafTw1kTuv2foeDF/wtf+NhWbJR6dau0jTW3h9UVwcyCGdPWz+Z1Iot3gdSY4zW/WUTev30ovX5wTI+koSA0rp96EkJWJdJ0akd+BuH3vG/y1RiLehj8qzgskVN0UMh2ZX1iQcpYpFQJSg9wq4wR2JWxEaBNcFpXbqHlRfxjXwFjlz/VU81tUYDRImdvXVCHCyUHGUXdyRREg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5513 Original-Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(376002)(346002)(39860400002)(136003)(396003)(46966005)(26005)(9686003)(86362001)(186003)(356005)(336012)(6506007)(33656002)(53546011)(7696005)(82310400002)(8936002)(52536014)(54906003)(47076004)(4326008)(478600001)(8676002)(81166007)(450100002)(55016002)(70206006)(316002)(70586007)(6862004)(82740400003)(5660300002)(2906002)(83380400001)(41533002); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 9fffbaee-6bcb-49aa-08db-08d81a11fd63 X-Forefront-PRVS: 0446F0FCE1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T8Fq5f4XYZ8RPgtmhXbKyEYUpBgdcFXER9v+PuqsyiU1F+Tudh95FOfSgZV/6S9Z43YmFMxkubBD+8X0E2M3Cgi2/4qaDt+KnWcSvUO2VKfHJiDvhiCxvlMgOH5XsCwEia5fxACEJhPBB6jTbp6GnkG+RdwmL/DndcIeNf/c2i50hjoenxx/AGG1eJNz7W5AYWgLldUBx6db5zMTOoydDHcChPQi9vl9qBVs/MpeK475wjsCiKn+EZigf2dUh/2VzF/aRtN3JxsMZunn2oExx/pk3YRj0z2KAInOIt8NCY+2+dnGysKHdyRNllg0K6iR9Y4D40It1f+Pacqi4xCz7Bc0AKdvRV1o44DArZugethQaoNGXXJZT+XaLhFmvMv2i6gRz0ytyViGFgsYKD7Gcx7NN5WT9boZ3cmkgZcFh1k= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2020 20:46:32.9685 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1687923a-2d94-4c28-9419-08d81a1202b0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4616 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: generic counter based loop for CPU freq calculation X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGkgSmVyaW4sDQoJVGhhbmtzIGZvciB0aGUgY29tbWVudHMuDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4N Cj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDI0LCAyMDIwIDc6NTEgQU0NCj4gVG86IEhvbm5hcHBh IE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPg0KPiBDYzogZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gaGVtYW50LmFncmF3YWxA bnhwLmNvbTsgQWtoaWwuZ295YWxAbnhwLmNvbTsgb2dlcmxpdHpAbWVsbGFub3guY29tOw0KPiBB aml0IEtoYXBhcmRlIChhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbSkNCj4gPGFqaXQua2hhcGFy ZGVAYnJvYWRjb20uY29tPjsgcnVpZ2VuZy53YW5nQGFybS5jb207IERoYXJtaWsgVGhha2thcg0K PiA8RGhhcm1pay5UaGFra2FyQGFybS5jb20+OyBQaGlsIFlhbmcgPFBoaWwuWWFuZ0Bhcm0uY29t PjsgZHBkayBzdGFibGUNCj4gPHN0YWJsZUBkcGRrLm9yZz4NCj4gU3ViamVjdDogUmU6IFtkcGRr LWRldl0gW1BBVENIXSBlYWw6IGdlbmVyaWMgY291bnRlciBiYXNlZCBsb29wIGZvciBDUFUgZnJl cQ0KPiBjYWxjdWxhdGlvbg0KPiANCj4gT24gVHVlLCBKdW4gOSwgMjAyMCBhdCAzOjA0IEFNIEhv bm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPiB3cm90 ZToNCj4gPg0KPiA+IGdldF90c2NfZnJlcSB1c2VzICduYW5vc2xlZXAnIHN5c3RlbSBjYWxsIHRv IGNhbGN1bGF0ZSB0aGUgQ1BVDQo+ID4gZnJlcXVlbmN5LiBIb3dldmVyLCAnbmFub3NsZWVwJyBy ZXN1bHRzIGluIHRoZSBwcm9jZXNzIGdldHRpbmcNCj4gPiB1bi1zY2hlZHVsZWQuIFRoZSBrZXJu ZWwgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBQTVUgc3RhdGUuIFRoaXMNCj4gPiBlbnN1cmVzIHRo YXQgdGhlIFBNVSBjeWNsZXMgYXJlIG5vdCBjb3VudGVkIHRvd2FyZHMgYSBzbGVlcGluZw0KPiA+ IHByb2Nlc3MuIFdoZW4gUlRFX0FSTV9FQUxfUkRUU0NfVVNFX1BNVSBpcyBkZWZpbmVkLCB0aGlz IHJlc3VsdHMgaW4NCj4gPiBpbmNvcnJlY3QgQ1BVIGZyZXF1ZW5jeSBjYWxjdWxhdGlvbi4gVGhp cyBsb2dpYyBpcyByZXBsYWNlZCB3aXRoDQo+ID4gZ2VuZXJpYyBjb3VudGVyIGJhc2VkIGxvb3Au DQo+ID4NCj4gPiBCdWd6aWxsYSBJRDogNDUwDQo+ID4gRml4ZXM6IGFmNzUwNzhmZWNlMyAoImZp cnN0IHB1YmxpYyByZWxlYXNlIikNCj4gDQo+IFRoZSBGaXggbG9va3MgZ29vZCB0byBtZS4NCj4g DQo+IFRoZSBGaXhlcyBpcyBub3QgY29ycmVjdC4gSXQgc2hvdWxkIGJlIHRoZSBwYXRjaCB3aGVy ZQ0KPiBSVEVfQVJNX0VBTF9SRFRTQ19VU0VfUE1VIGdvdCBpbnRyb2R1Y2VkLg0KT2ssIHdpbGwg ZGlnIHRoYXQgb3V0Lg0KDQo+IA0KPiANCj4gPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4NCj4g PiBTaWduZWQtb2ZmLWJ5OiBIb25uYXBwYSBOYWdhcmFoYWxsaSA8aG9ubmFwcGEubmFnYXJhaGFs bGlAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5nIDxydWlmZW5nLndhbmdA YXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogRGhhcm1payBUaGFra2FyIDxkaGFybWlrLnRoYWtr YXJAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNv bT4NCj4gPg0KPiA+IC0tLQ0KPiA+ICBsaWIvbGlicnRlX2VhbC9hcm0vaW5jbHVkZS9ydGVfY3lj bGVzXzY0LmggfCA0NSArKysrKysrKysrKysrKysrKysrLS0tDQo+ID4gIGxpYi9saWJydGVfZWFs L2FybS9ydGVfY3ljbGVzLmMgICAgICAgICAgICB8IDI0ICsrKysrKysrKystLQ0KPiA+ICAyIGZp bGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBk aWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvYXJtL2luY2x1ZGUvcnRlX2N5Y2xlc182NC5oDQo+ ID4gYi9saWIvbGlicnRlX2VhbC9hcm0vaW5jbHVkZS9ydGVfY3ljbGVzXzY0LmgNCj4gPiBpbmRl eCBkYTU1N2I2YTEuLjZmYzM1MjAzNiAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC9h cm0vaW5jbHVkZS9ydGVfY3ljbGVzXzY0LmgNCj4gPiArKysgYi9saWIvbGlicnRlX2VhbC9hcm0v aW5jbHVkZS9ydGVfY3ljbGVzXzY0LmgNCj4gPiBAQCAtMTEsNiArMTEsMzYgQEAgZXh0ZXJuICJD IiB7DQo+ID4NCj4gPiAgI2luY2x1ZGUgImdlbmVyaWMvcnRlX2N5Y2xlcy5oIg0KPiA+DQo+ID4g Ky8qKiBSZWFkIGdlbmVyaWMgY291bnRlciBmcmVxdWVuY3kgKi8gc3RhdGljIGlubGluZSB1aW50 NjRfdA0KPiANCj4gSSBwcmVmZXIgdG8gaGF2ZSBfX3J0ZV9hbGx3YXlzX2lubGluZQ0KPiANCj4g PiArX19ydGVfcmRfZ2VuZXJpY19jbnRyX2ZyZXEodm9pZCkNCj4gDQo+IEkgdGhpbmssIHRoZSBn ZW5lcmljIGNvdW50ZXIgaXMgY29uZnVzaW5nLCBJIHRoaW5rLCBzaW5jZSB0aGUgc3ltYm9sIGlz IGV4cG9zZWQNCj4gZHVlIHRvIHBsYWNlZCBpbiBoZWFkZXIgZmlsZSwgaXQgaXMgYmV0dGVyIHRv IGNoYW5nZSwgX19ydGVfYXJtNjRfY250ZnJxKCkNCk9rLCBtYWtlcyBzZW5zZS4NCg0KPiANCj4g PiArew0KPiA+ICsgICAgICAgdWludDY0X3QgZnJlcTsNCj4gPiArDQo+ID4gKyAgICAgICBhc20g dm9sYXRpbGUoIm1ycyAlMCwgY250ZnJxX2VsMCIgOiAiPXIiIChmcmVxKSk7DQo+ID4gKyAgICAg ICByZXR1cm4gZnJlcTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqIFJlYWQgZ2VuZXJpYyBjb3Vu dGVyICovDQo+ID4gK3N0YXRpYyBpbmxpbmUgdWludDY0X3QNCj4gDQo+IExpa2V3aXNlLCBfX3J0 ZV9hcm02NF9jbnR2Y3QoKQ0KPiANCj4gDQo+ID4gK19fcnRlX3JkX2dlbmVyaWNfY250cih2b2lk KQ0KPiA+ICt7DQo+ID4gKyAgICAgICB1aW50NjRfdCB0c2M7DQo+ID4gKw0KPiA+ICsgICAgICAg YXNtIHZvbGF0aWxlKCJtcnMgJTAsIGNudHZjdF9lbDAiIDogIj1yIiAodHNjKSk7DQo+ID4gKyAg ICAgICByZXR1cm4gdHNjOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW5saW5lIHVpbnQ2 NF90DQo+ID4gK19fcnRlX3JkX2dlbmVyaWNfY250cl9wcmVjaXNlKHZvaWQpDQo+IA0KPiBfX3J0 ZV9hcm02NF9jbnRmcnFfcHJlY2lzZSgpDQo+IA0KPiA+ICt7DQo+ID4gKyAgICAgICB1aW50NjRf dCB0c2M7DQo+ID4gKw0KPiA+ICsgICAgICAgYXNtIHZvbGF0aWxlKCJpc2IiIDogOiA6ICJtZW1v cnkiKTsNCj4gPiArICAgICAgIGFzbSB2b2xhdGlsZSgibXJzICUwLCBjbnR2Y3RfZWwwIiA6ICI9 ciIgKHRzYykpOw0KPiA+ICsgICAgICAgcmV0dXJuIHRzYzsNCj4gPiArfQ0KPiA+ICsNCj4gPiAg LyoqDQo+ID4gICAqIFJlYWQgdGhlIHRpbWUgYmFzZSByZWdpc3Rlci4NCj4gPiAgICoNCj4gPiBA QCAtMjUsMTAgKzU1LDcgQEAgZXh0ZXJuICJDIiB7DQo+ID4gIHN0YXRpYyBpbmxpbmUgdWludDY0 X3QNCj4gPiAgcnRlX3JkdHNjKHZvaWQpDQo+ID4gIHsNCj4gPiAtICAgICAgIHVpbnQ2NF90IHRz YzsNCj4gPiAtDQo+ID4gLSAgICAgICBhc20gdm9sYXRpbGUoIm1ycyAlMCwgY250dmN0X2VsMCIg OiAiPXIiICh0c2MpKTsNCj4gPiAtICAgICAgIHJldHVybiB0c2M7DQo+ID4gKyAgICAgICByZXR1 cm4gX19ydGVfcmRfZ2VuZXJpY19jbnRyKCk7DQo+ID4gIH0NCj4gPiAgI2Vsc2UNCj4gPiAgLyoq DQo+ID4gQEAgLTQ5LDE0ICs3NiwyMiBAQCBydGVfcmR0c2Modm9pZCkNCj4gPiAgICogYXNtIHZv bGF0aWxlKCJtc3IgcG1jcl9lbDAsICUwIiA6IDogInIiICh2YWwpKTsNCj4gPiAgICoNCj4gPiAg ICovDQo+ID4gKw0KPiA+ICsvKiogUmVhZCBQTVUgY3ljbGUgY291bnRlciAqLw0KPiA+ICBzdGF0 aWMgaW5saW5lIHVpbnQ2NF90DQo+ID4gLXJ0ZV9yZHRzYyh2b2lkKQ0KPiA+ICtfX3J0ZV9yZF9w bXVfY3ljbGVfY250cih2b2lkKQ0KSSB3aWxsIGNoYW5nZSB0aGlzIHRvIF9fcnRlX2FybTY0X3Bt Y2NudHINCg0KPiA+ICB7DQo+ID4gICAgICAgICB1aW50NjRfdCB0c2M7DQo+ID4NCj4gPiAgICAg ICAgIGFzbSB2b2xhdGlsZSgibXJzICUwLCBwbWNjbnRyX2VsMCIgOiAiPXIiKHRzYykpOw0KPiA+ ICAgICAgICAgcmV0dXJuIHRzYzsNCj4gPiAgfQ0KPiA+ICsNCj4gPiArc3RhdGljIGlubGluZSB1 aW50NjRfdA0KPiA+ICtydGVfcmR0c2Modm9pZCkNCj4gPiArew0KPiA+ICsgICAgICAgcmV0dXJu IF9fcnRlX3JkX3BtdV9jeWNsZV9jbnRyKCk7IH0NCj4gPiAgI2VuZGlmDQo+ID4NCj4gPiAgc3Rh dGljIGlubGluZSB1aW50NjRfdA0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9hcm0v cnRlX2N5Y2xlcy5jDQo+ID4gYi9saWIvbGlicnRlX2VhbC9hcm0vcnRlX2N5Y2xlcy5jIGluZGV4 IDM1MDBkNTIzZS4uOTJjODdhOGE0IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfZWFsL2Fy bS9ydGVfY3ljbGVzLmMNCj4gPiArKysgYi9saWIvbGlicnRlX2VhbC9hcm0vcnRlX2N5Y2xlcy5j DQo+ID4gQEAgLTMsMTQgKzMsMzIgQEANCj4gPiAgICovDQo+ID4NCj4gPiAgI2luY2x1ZGUgImVh bF9wcml2YXRlLmgiDQo+ID4gKyNpbmNsdWRlICJydGVfY3ljbGVzLmgiDQo+ID4NCj4gPiAgdWlu dDY0X3QNCj4gPiAgZ2V0X3RzY19mcmVxX2FyY2godm9pZCkNCj4gPiAgew0KPiA+ICAjaWYgZGVm aW5lZCBSVEVfQVJDSF9BUk02NCAmJiAhZGVmaW5lZA0KPiBSVEVfQVJNX0VBTF9SRFRTQ19VU0Vf UE1VDQo+ID4gLSAgICAgICB1aW50NjRfdCBmcmVxOw0KPiA+IC0gICAgICAgYXNtIHZvbGF0aWxl KCJtcnMgJTAsIGNudGZycV9lbDAiIDogIj1yIiAoZnJlcSkpOw0KPiA+IC0gICAgICAgcmV0dXJu IGZyZXE7DQo+ID4gKyAgICAgICByZXR1cm4gX19ydGVfcmRfZ2VuZXJpY19jbnRyX2ZyZXEoKTsg I2VsaWYgZGVmaW5lZA0KPiA+ICtSVEVfQVJDSF9BUk02NCAmJiBkZWZpbmVkIFJURV9BUk1fRUFM X1JEVFNDX1VTRV9QTVUNCj4gPiArICAgICAgIC8qIFVzZSB0aGUgZ2VuZXJpYyBjb3VudGVyIHRp Y2tzIHRvIGNhbGN1bGF0ZSB0aGUgUE1VDQo+ID4gKyAgICAgICAgKiBjeWNsZSBmcmVxdWVuY3ku DQo+ID4gKyAgICAgICAgKi8NCj4gPiArICAgICAgIHVpbnQ2NF90IGdjbnRfdGlja3M7DQo+ID4g KyAgICAgICB1aW50NjRfdCBzdGFydF90aWNrcywgY3VyX3RpY2tzOw0KPiA+ICsgICAgICAgdWlu dDY0X3Qgc3RhcnRfcG11X2N5Y2xlcywgZW5kX3BtdV9jeWNsZXM7DQo+ID4gKw0KPiA+ICsgICAg ICAgLyogTnVtYmVyIG9mIHRpY2tzIGZvciAxLzEwIHNlY29uZCAqLw0KPiA+ICsgICAgICAgZ2Nu dF90aWNrcyA9IF9fcnRlX3JkX2dlbmVyaWNfY250cl9mcmVxKCkgLyAxMDsNCj4gPiArDQo+ID4g KyAgICAgICBzdGFydF90aWNrcyA9IF9fcnRlX3JkX2dlbmVyaWNfY250cl9wcmVjaXNlKCk7DQo+ ID4gKyAgICAgICBzdGFydF9wbXVfY3ljbGVzID0gcnRlX3JkdHNjX3ByZWNpc2UoKTsNCj4gPiAr ICAgICAgIGRvIHsNCj4gPiArICAgICAgICAgICAgICAgY3VyX3RpY2tzID0gX19ydGVfcmRfZ2Vu ZXJpY19jbnRyKCk7DQo+ID4gKyAgICAgICB9IHdoaWxlICgoY3VyX3RpY2tzIC0gc3RhcnRfdGlj a3MpIDwgZ2NudF90aWNrcyk7DQo+ID4gKyAgICAgICBlbmRfcG11X2N5Y2xlcyA9IHJ0ZV9yZHRz Y19wcmVjaXNlKCk7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuICgoZW5kX3BtdV9jeWNsZXMg LSBzdGFydF9wbXVfY3ljbGVzKSAqIDEwKTsNCj4gDQo+IEdvb2QgdGhvdWdodC4gT24gdGhlIHBs dXMgc2lkZSwgaXQgd2lsbCByZWR1Y2UgdGhlIGJvb3QgdGltZSBieSAuOSBzZWMuDQo+IA0KPiA+ ICAjZWxzZQ0KPiA+ICAgICAgICAgcmV0dXJuIDA7DQo+IA0KPiBXaXRoIGFib3ZlIGNoYW5nZXM6 DQo+IA0KPiBBY2tlZC1ieTogSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT4NCj4gDQo+ IA0KPiANCj4gPiAgI2VuZGlmDQo+ID4gLS0NCj4gPiAyLjE3LjENCj4gPg0K