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 2D446A0C4E; Mon, 8 Nov 2021 16:46:43 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 11488410FD; Mon, 8 Nov 2021 16:46:43 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70057.outbound.protection.outlook.com [40.107.7.57]) by mails.dpdk.org (Postfix) with ESMTP id 9AA6E40E03 for ; Mon, 8 Nov 2021 16:46:41 +0100 (CET) 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=mVexRasEabZNs5gpFi1s0nOr2jvwxXWzYyaNAKnTEE8=; b=riQsrgIQvdTwThN52/yAf7fv4Hg2ZvDZJDfFRuhRUCWJzgFv/SSC4kOaC8Ec9rMlSUYtCDhscQVlppv46Zc1z03qzLHjr8P/1EW0+k5dVjo6mQZjjQYZPJkFylCX5oF7wxPoTR0bHNQhCGWrJSkinaE+cqXip2wP8MWWgPn4Kyk= Received: from AS9PR06CA0025.eurprd06.prod.outlook.com (2603:10a6:20b:462::30) by PR3PR08MB5738.eurprd08.prod.outlook.com (2603:10a6:102:81::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Mon, 8 Nov 2021 15:46:39 +0000 Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:462:cafe::af) by AS9PR06CA0025.outlook.office365.com (2603:10a6:20b:462::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Mon, 8 Nov 2021 15:46:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass 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 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Mon, 8 Nov 2021 15:46:39 +0000 Received: ("Tessian outbound 2bb1f94ba47e:v108"); Mon, 08 Nov 2021 15:46:39 +0000 X-CR-MTA-TID: 64aa7808 Received: from 8c4bb83b38f8.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 18BF793E-FCAA-46F5-B77A-BC0CAD9C057D.1; Mon, 08 Nov 2021 15:46:29 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8c4bb83b38f8.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 08 Nov 2021 15:46:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CyjTtBxgvUKTql+YzoylGSKg0wfHdaVcc6FIZo9SG+ibMgXSFnNuNu9fTZWJofB9O9Inw0rActbJMYTXZ1zdkQEgWtCxMnF7yjoCGMvZRYo9RX15Stqi7aWtmFgWBS6z089K1+3rODE8Zg28ZBqCwru/T7mJ4rSSk1wcrkh1+7ARvbxJDtu5/xqE0lzwrF+S1xG4CnxXLKacJSsCVSoHPNdRAVuvO3r33iwU3+Tcfki1jKCnVsqeFw8eocpEY+yGRaEZJsA15qaO0VWl0wfszHTbIAsRoOxVVOgoyYH4+1oR+1mMukdV+24h8YJC4TSx52QcM0aaAE05c9XoU4bY9Q== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mVexRasEabZNs5gpFi1s0nOr2jvwxXWzYyaNAKnTEE8=; b=kv02YozAf4Cc+NVOgrOqV3H+QWbhKxGBxGFDw8rxQ/u33Xo7isFaDAFik6q3C9MeYxDuhzQhSVQNYgiz90kO0MiFsLe6w2DWpgQCd2banl7cL/+ZlOVVHI/2ZIQWfBtacxQrPs6sWH1iG11O6ghaFafW647bGlAWPrh5cK5UMTT8HAbNeKW8BJGbfmYxZhs1xATndhnTxUa+xcyl31uV/j0T/NpzqwWKop2CI5s1gx8DhdlXBIIes6RrMXefj2NOsA0/fpYICFAKpEXi4Te5aC6PwyUHVdmFOpFcm1hojK8COI9DFNdObp7cNAFfAsHsLl0t7+xZArVgR9ixpgCtKg== 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=mVexRasEabZNs5gpFi1s0nOr2jvwxXWzYyaNAKnTEE8=; b=riQsrgIQvdTwThN52/yAf7fv4Hg2ZvDZJDfFRuhRUCWJzgFv/SSC4kOaC8Ec9rMlSUYtCDhscQVlppv46Zc1z03qzLHjr8P/1EW0+k5dVjo6mQZjjQYZPJkFylCX5oF7wxPoTR0bHNQhCGWrJSkinaE+cqXip2wP8MWWgPn4Kyk= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DBAPR08MB5654.eurprd08.prod.outlook.com (2603:10a6:10:1a6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Mon, 8 Nov 2021 15:46:26 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::8501:86ca:a393:17b7]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::8501:86ca:a393:17b7%9]) with mapi id 15.20.4669.016; Mon, 8 Nov 2021 15:46:26 +0000 From: Honnappa Nagarahalli To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Dharmik Thakkar , "Ananyev, Konstantin" CC: Olivier Matz , Andrew Rybchenko , "dev@dpdk.org" , nd , Ruifeng Wang , nd , nd Thread-Topic: [dpdk-dev] [RFC] mempool: implement index-based per core cache Thread-Index: AQHXtwuB3FbH85c80U2vmaazO82iNau+1ETwgAE6tgCAAv3qYIAocoNQgAFvUzCABS+EgIAABHVAgADdt4CAAClXwIAGB2tggAA/nqCAAIq6sIAAAhXQgAADCFA= Date: Mon, 8 Nov 2021 15:46:26 +0000 Message-ID: References: <20210930172735.2675627-1-dharmik.thakkar@arm.com> <98CBD80474FA8B44BF855DF32C47DC35D86C83@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86C9E@smartserver.smartshare.dk> <00330F38-A5D0-4B56-872E-0EA0E24808F7@arm.com> <98CBD80474FA8B44BF855DF32C47DC35D86CA2@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86CAE@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86CB3@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D86CB3@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9E88AE0A4CAF7147AB26B1292A343141.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: ee85cb5c-cb40-41d8-497b-08d9a2cef456 x-ms-traffictypediagnostic: DBAPR08MB5654:|PR3PR08MB5738: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 7Jmx6dCqveMR8ZBQeId+Wsyx2Tyl7w94wNTjM1QZeKn7ERkBKGFgBe0UqGZdFhSrg+mJ7RIy0zD20eDgT/RQJEt64slw8AAAXtWgewqQMvtKgxS4csM5LYh2qm2tqogXT67R/E4m27JqEHTZm9JLES4p36U08VoPKCT8zFk94ZMtxIzq5HOjORmO7vWRjmxwM4HLaiCG3tzguEokBavZuyeOcHG/mLytchrAF91ojnxWa1HmmUKB2PnQY2h+Docai1+R4ghLGQNk4hb7dQf1tUw1BzpCPFf726EsIQ2JGLcnBuzH1+7iZaF+U9OJ+hQvG7/QJg1B6l6+oKQfR0olVVMk4ttnT2UZYahZjVT6kAqHb0c/pbHemgKfvOVJ0IYwbr2q/DYEPIqo+sZJDMrI511Aj8J8iyBEC9RDhEHGEuzzFLHx3gXhLiSrVBsJgSJ6MNd1SrbBoYUWIqAkiE7BjfMGb+YoeharDeYjJXmU5TzzwnSnrCZAz2mKarKL7h0Ni9TgCVaKCY0D/zaEZ5Swni+8JeY0cisDbUGGaAUx7/cFmnSR0N6mk1OFho5inHD1Ra+TQadscHHRkg1lWbV6A/DtSn3vhc/faPuhuFgysaUoaNkgnZ1cIrTCB/ZIxtORis54DtCTt6aSXEcpBYRmQ0Kvl8tQOFTyAP0fm37QO+wYnrkxhASU7EdbNG73/719fZKzoMkby2ecNL562lxG2g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(316002)(2906002)(7696005)(52536014)(110136005)(26005)(186003)(5660300002)(6506007)(71200400001)(33656002)(4326008)(54906003)(83380400001)(38070700005)(64756008)(76116006)(66946007)(9686003)(8676002)(66476007)(66446008)(66556008)(8936002)(55016002)(508600001)(86362001)(38100700002)(122000001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5654 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 80b02741-e8f2-4183-0475-08d9a2ceec71 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aP9vTYpjkswIAxjVqbjeyNH4nAEQye68YixVowQruM9hiJympUH6dwsEp79WaatzW4Dl5grVB1RgNTEum+ys3cNW0c+JsHpPoIiMoHx6t1SFmlN2E5IDYr7CA1LakyBQlo+tfsWssiAEAW06ivUuaJ35UiW6KMH/QV8ogQclVSlqCs4bWh6vvGpYCo8w9dyU719iGULl7GKDMnIHWCqvsRU/DFA6e/WS7bVwGMfR8nAmSdT0m2CvuaOoyiiOJErgP4ssj7AKjmlgAuP3d7nE9Vdmg6MdJZQ6ss9db5OOqCidZduAJnZO4b0Tqi3b4W2aMmLW81ci7rdC3SYDRC/1RsD2rFUIWtf8yj931u5TBLzG2WoRBeXM8kFRvfIyhtSNGAkG64C4ITdX8YdQ0LUnmcLBKz61WjFq49q2GremzB56nn08XAhSkC+TXa3t1hrfuxCFQLo7eQMOWdy067DKDZjD+YHIfTN6u+QbLL8JXMmEpv2vj6URh2YKizr1D2I/IznY621MqWRJj6dZPXYKuQ+/wQ3oqCYFN8+RBgbXFxzPC9d7zLuNwpHL+0rZLFwWiEmIeKajK2WhZlFJxGXGN4+1bTzz8srLS+hKndFCZqCvlAGL3zg2GpM5M0RAR8L78ucQuZaYKc1JK8rjoxBMCAPT1EYkWQ23ofQpMvRlyLa6az7PMQ0qbEbDa8PGf8QAykunQTJFwRV97tL8k3OMeg== 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; SFS:(4636009)(46966006)(36840700001)(54906003)(110136005)(4326008)(70586007)(36860700001)(316002)(33656002)(336012)(82310400003)(52536014)(86362001)(26005)(186003)(47076005)(8936002)(70206006)(356005)(2906002)(5660300002)(7696005)(508600001)(55016002)(83380400001)(81166007)(6506007)(8676002)(9686003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2021 15:46:39.4464 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ee85cb5c-cb40-41d8-497b-08d9a2cef456 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: VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5738 Subject: Re: [dpdk-dev] [RFC] mempool: implement index-based per core cache 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 Sender: "dev" PHNuaXA+DQo+ID4NCj4gPiA+ID4gPiA+ID4+Pj4+Pj4+PiBDdXJyZW50IG1lbXBvb2wgcGVyIGNv cmUgY2FjaGUgaW1wbGVtZW50YXRpb24gaXMNCj4gPiBiYXNlZA0KPiA+ID4gPiA+ID4gPj4+Pj4+ Pj4+IG9uDQo+ID4gPiA+ID4gPiA+Pj4+PiBwb2ludGVyDQo+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4g Rm9yIG1vc3QgYXJjaGl0ZWN0dXJlcywgZWFjaCBwb2ludGVyIGNvbnN1bWVzIDY0Yg0KPiA+ID4g PiA+ID4gPj4+Pj4+Pj4+IFJlcGxhY2UNCj4gPiA+ID4gaXQNCj4gPiA+ID4gPiA+ID4+Pj4+IHdp dGgNCj4gPiA+ID4gPiA+ID4+Pj4+Pj4+PiBpbmRleC1iYXNlZCBpbXBsZW1lbnRhdGlvbiwgd2hl cmUgaW4gZWFjaCBidWZmZXIgaXMNCj4gPiA+ID4gPiA+ID4+Pj4+Pj4+PiBhZGRyZXNzZWQNCj4g PiA+ID4gPiA+ID4+Pj4+IGJ5DQo+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4gKHBvb2wgYWRkcmVzcyAr IGluZGV4KQ0KPiA+ID4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4gPj4+PiBJIGxpa2UgRGhhcm1p aydzIHN1Z2dlc3Rpb24gdmVyeSBtdWNoLiBDUFUgY2FjaGUgaXMgYQ0KPiA+ID4gPiA+ID4gPj4+ PiBjcml0aWNhbCBhbmQgbGltaXRlZCByZXNvdXJjZS4NCj4gPiA+ID4gPiA+ID4+Pj4NCj4gPiA+ ID4gPiA+ID4+Pj4gRFBESyBoYXMgYSB0ZW5kZW5jeSBvZiB1c2luZyBwb2ludGVycyB3aGVyZSBp bmRleGVzIGNvdWxkDQo+ID4gYmUNCj4gPiA+ID4gdXNlZA0KPiA+ID4gPiA+ID4gPj4+PiBpbnN0 ZWFkLiBJIHN1cHBvc2UgcG9pbnRlcnMgcHJvdmlkZSB0aGUgYWRkaXRpb25hbA0KPiA+ID4gPiA+ ID4gPj4+PiBmbGV4aWJpbGl0eQ0KPiA+ID4gPiBvZg0KPiA+ID4gPiA+ID4gPj4+PiBtaXhpbmcg ZW50cmllcyBmcm9tIGRpZmZlcmVudCBtZW1vcnkgcG9vbHMsIGUuZy4gbXVsdGlwbGUNCj4gPiA+ ID4gPiA+ID4+Pj4gbWJ1Zg0KPiA+ID4gPiA+ID4gPj4gcG9vbHMuDQo+ID4gPiA+ID4gPiA+Pj4+ DQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4gQWdyZWVkLCB0aGFuayB5b3UhDQo+ID4g PiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4+Pj4+Pj4NCj4gPiA+ID4gPiA+ID4+Pj4+Pj4+IEkg ZG9uJ3QgdGhpbmsgaXQgaXMgZ29pbmcgdG8gd29yazoNCj4gPiA+ID4gPiA+ID4+Pj4+Pj4+IE9u IDY0LWJpdCBzeXN0ZW1zIGRpZmZlcmVuY2UgYmV0d2VlbiBwb29sIGFkZHJlc3MgYW5kDQo+ID4g PiA+ID4gPiA+Pj4+Pj4+PiBpdCdzDQo+ID4gPiA+ID4gPiBlbGVtDQo+ID4gPiA+ID4gPiA+Pj4+ Pj4+PiBhZGRyZXNzIGNvdWxkIGJlIGJpZ2dlciB0aGFuIDRHQi4NCj4gPiA+ID4gPiA+ID4+Pj4+ Pj4gQXJlIHlvdSB0YWxraW5nIGFib3V0IGEgY2FzZSB3aGVyZSB0aGUgbWVtb3J5IHBvb2wNCj4g PiA+ID4gPiA+ID4+Pj4+Pj4gc2l6ZQ0KPiA+IGlzDQo+ID4gPiA+ID4gPiA+Pj4+Pj4+IG1vcmUN Cj4gPiA+ID4gPiA+ID4+Pj4+IHRoYW4gNEdCPw0KPiA+ID4gPiA+ID4gPj4+Pj4+DQo+ID4gPiA+ ID4gPiA+Pj4+Pj4gVGhhdCBpcyBvbmUgcG9zc2libGUgc2NlbmFyaW8uDQo+ID4gPiA+ID4gPiA+ Pj4+DQo+ID4gPiA+ID4gPiA+Pj4+IFRoYXQgY291bGQgYmUgc29sdmVkIGJ5IG1ha2luZyB0aGUg aW5kZXggYW4gZWxlbWVudCBpbmRleA0KPiA+ID4gPiBpbnN0ZWFkDQo+ID4gPiA+ID4gPiBvZg0K PiA+ID4gPiA+ID4gPj4gYQ0KPiA+ID4gPiA+ID4gPj4+PiBwb2ludGVyIG9mZnNldDogYWRkcmVz cyA9IChwb29sIGFkZHJlc3MgKyBpbmRleCAqIGVsZW1lbnQNCj4gPiA+ID4gc2l6ZSkuDQo+ID4g PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiBPciBpbnN0ZWFkIG9mIHNjYWxpbmcgdGhlIGlu ZGV4IHdpdGggdGhlIGVsZW1lbnQgc2l6ZSwNCj4gPiB3aGljaA0KPiA+ID4gPiA+ID4gPj4+IGlz DQo+ID4gPiA+ID4gPiBvbmx5DQo+ID4gPiA+ID4gPiA+PiBrbm93biBhdCBydW50aW1lLCB0aGUg aW5kZXggY291bGQgYmUgbW9yZSBlZmZpY2llbnRseQ0KPiA+ID4gPiA+ID4gPj4gc2NhbGVkDQo+ ID4gYnkNCj4gPiA+ID4gYQ0KPiA+ID4gPiA+ID4gPj4gY29tcGlsZSB0aW1lIGNvbnN0YW50IHN1 Y2ggYXMgUlRFX01FTVBPT0xfQUxJR04gKD0NCj4gPiA+ID4gPiA+ID4+IFJURV9DQUNIRV9MSU5F X1NJWkUpLiBXaXRoIGEgY2FjaGUgbGluZSBzaXplIG9mIDY0IGJ5dGUsDQo+ID4gdGhhdA0KPiA+ ID4gPiB3b3VsZA0KPiA+ID4gPiA+ID4gPj4gYWxsb3cgaW5kZXhpbmcgaW50byBtZW1wb29scyB1 cCB0byAyNTYgR0IgaW4gc2l6ZS4NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4NCj4g PiA+ID4gPiA+ID4+IExvb2tpbmcgYXQgdGhpcyBzbmlwcGV0IFsxXSBmcm9tDQo+ID4gPiA+IHJ0 ZV9tZW1wb29sX29wX3BvcHVsYXRlX2hlbHBlcigpLA0KPiA+ID4gPiA+ID4gPj4gdGhlcmUgaXMg YW4g4oCYb2Zmc2V04oCZIGFkZGVkIHRvIGF2b2lkIG9iamVjdHMgdG8gY3Jvc3MgcGFnZQ0KPiA+ ID4gPiA+ID4gYm91bmRhcmllcy4NCj4gPiA+ID4gPiA+ID4+IElmIG15IHVuZGVyc3RhbmRpbmcg aXMgY29ycmVjdCwgdXNpbmcgdGhlIGluZGV4IG9mIGVsZW1lbnQNCj4gPiA+ID4gaW5zdGVhZA0K PiA+ID4gPiA+ID4gb2YgYQ0KPiA+ID4gPiA+ID4gPj4gcG9pbnRlciBvZmZzZXQgd2lsbCBwb3Nl IGEgY2hhbGxlbmdlIGZvciBzb21lIG9mIHRoZSBjb3JuZXINCj4gPiA+ID4gY2FzZXMuDQo+ID4g PiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4gWzFdDQo+ID4gPiA+ID4gPiA+PiAgICAgICAgZm9y IChpID0gMDsgaSA8IG1heF9vYmpzOyBpKyspIHsNCj4gPiA+ID4gPiA+ID4+ICAgICAgICAgICAg ICAgIC8qIGF2b2lkIG9iamVjdHMgdG8gY3Jvc3MgcGFnZSBib3VuZGFyaWVzICovDQo+ID4gPiA+ ID4gPiA+PiAgICAgICAgICAgICAgICBpZiAoY2hlY2tfb2JqX2JvdW5kcyh2YSArIG9mZiwgcGdf c3osDQo+ID4gPiA+IHRvdGFsX2VsdF9zeikNCj4gPiA+ID4gPiA+ID4+IDwNCj4gPiA+ID4gPiA+ ID4+IDApIHsNCj4gPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgb2ZmICs9IFJU RV9QVFJfQUxJR05fQ0VJTCh2YSArIG9mZiwNCj4gPiA+ID4gcGdfc3opIC0NCj4gPiA+ID4gPiA+ ID4+ICh2YSArIG9mZik7DQo+ID4gPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgIGlm IChmbGFncyAmDQo+ID4gPiA+IFJURV9NRU1QT09MX1BPUFVMQVRFX0ZfQUxJR05fT0JKKQ0KPiA+ ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZiArPSB0b3RhbF9l bHRfc3ogLQ0KPiA+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCgodWludHB0cl90KSh2YSArDQo+ID4gb2ZmIC0NCj4gPiA+ID4gMSkgJQ0KPiA+ID4g PiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IHRvdGFsX2VsdF9zeikNCj4gPiArDQo+ID4gPiA+IDEp Ow0KPiA+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgfQ0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT0suIEFsdGVybmF0aXZlbHkgdG8gc2NhbGluZyB0aGUg aW5kZXggd2l0aCBhIGNhY2hlIGxpbmUNCj4gPiBzaXplLA0KPiA+ID4gPiB5b3UNCj4gPiA+ID4g PiA+IGNhbiBzY2FsZSBpdCB3aXRoIHNpemVvZih1aW50cHRyX3QpIHRvIGJlIGFibGUgdG8gYWRk cmVzcyAzMg0KPiA+ID4gPiA+ID4gb3INCj4gPiAxNg0KPiA+ID4gPiBHQg0KPiA+ID4gPiA+ID4g bWVtcG9vbHMgb24gcmVzcGVjdGl2ZWx5IDY0IGJpdCBhbmQgMzIgYml0IGFyY2hpdGVjdHVyZXMu IEJvdGgNCj4gPiB4ODYNCj4gPiA+ID4gYW5kDQo+ID4gPiA+ID4gPiBBUk0gQ1BVcyBoYXZlIGlu c3RydWN0aW9ucyB0byBhY2Nlc3MgbWVtb3J5IHdpdGggYW4gYWRkZWQNCj4gPiBvZmZzZXQNCj4g PiA+ID4gPiA+IG11bHRpcGxpZWQgYnkgNCBvciA4LiBTbyB0aGF0IHNob3VsZCBiZSBoaWdoIHBl cmZvcm1hbmNlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFllcywgYWdyZWVkIHRoaXMgY2Fu IGJlIGRvbmUuDQo+ID4gPiA+ID4gPiBDYWNoZSBsaW5lIHNpemUgY2FuIGFsc28gYmUgdXNlZCB3 aGVuDQo+ID4g4oCYTUVNUE9PTF9GX05PX0NBQ0hFX0FMSUdO4oCZDQo+ID4gPiA+ID4gPiBpcyBu b3QgZW5hYmxlZC4NCj4gPiA+ID4gPiA+IE9uIGEgc2lkZSBub3RlLCBJIHdhbnRlZCB0byBiZXR0 ZXIgdW5kZXJzdGFuZCB0aGUgbmVlZCBmb3INCj4gPiBoYXZpbmcNCj4gPiA+ID4gdGhlDQo+ID4g PiA+ID4gPiAnTUVNUE9PTF9GX05PX0NBQ0hFX0FMSUdOJyBvcHRpb24uDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBUaGUgZGVzY3JpcHRpb24gb2YgdGhpcyBmaWVsZCBpcyBtaXNsZWFkaW5nLCBhbmQg c2hvdWxkIGJlDQo+ID4gY29ycmVjdGVkLg0KPiA+ID4gPiA+IFRoZSBjb3JyZWN0IGRlc2NyaXB0 aW9uIHdvdWxkIGJlOiBEb24ndCBuZWVkIHRvIGFsaWduIG9ianMgb24NCj4gPiBjYWNoZQ0KPiA+ ID4gPiBsaW5lcy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEl0IGlzIHVzZWZ1bCBmb3IgbWVtcG9v bHMgY29udGFpbmluZyB2ZXJ5IHNtYWxsIG9iamVjdHMsIHRvDQo+ID4gY29uc2VydmUNCj4gPiA+ ID4gbWVtb3J5Lg0KPiA+ID4gPiBJIHRoaW5rIHdlIGNhbiBhc3N1bWUgdGhhdCBtYnVmIHBvb2xz IGFyZSBjcmVhdGVkIHdpdGggdGhlDQo+ID4gPiA+ICdNRU1QT09MX0ZfTk9fQ0FDSEVfQUxJR04n IGZsYWcgc2V0LiBXaXRoIHRoaXMgd2UgY2FuIHVzZSBvZmZzZXQNCj4gPiA+ID4gY2FsY3VsYXRl ZCB3aXRoIGNhY2hlIGxpbmUgc2l6ZSBhcyB0aGUgdW5pdC4NCj4gPiA+DQo+ID4gPiBZb3UgbWVh biBNRU1QT09MX0ZfTk9fQ0FDSEVfQUxJR04gZmxhZyBub3Qgc2V0LiA7LSkNCj4gPiBZZXMg8J+Y ig0KPiA+DQo+ID4gPg0KPiA+ID4gSSBhZ3JlZS4gQW5kIHNpbmNlIHRoZSBmbGFnIGlzIGEgaGlu dCBvbmx5LCBpdCBjYW4gYmUgaWdub3JlZCBpZiB0aGUNCj4gPiBtZW1wb29sDQo+ID4gPiBsaWJy YXJ5IGlzIHNjYWxpbmcgdGhlIGluZGV4IHdpdGggdGhlIGNhY2hlIGxpbmUgc2l6ZS4NCj4gPiBJ IGRvIG5vdCB0aGluayB3ZSBzaG91bGQgaWdub3JlIHRoZSBmbGFnIGZvciByZWFzb24geW91IG1l bnRpb24gYmVsb3cuDQo+ID4NCj4gPiA+DQo+ID4gPiBIb3dldmVyLCBhIG1lbXBvb2wgbWF5IGNv bnRhaW4gb3RoZXIgb2JqZWN0cyB0aGFuIG1idWZzLCBhbmQgdGhvc2UNCj4gPiBvYmplY3RzDQo+ ID4gPiBtYXkgYmUgc21hbGwsIHNvIGlnbm9yaW5nIHRoZSBNRU1QT09MX0ZfTk9fQ0FDSEVfQUxJ R04gZmxhZyBtYXkNCj4gY29zdA0KPiA+IGENCj4gPiA+IGxvdCBvZiBtZW1vcnkgZm9yIHN1Y2gg bWVtcG9vbHMuDQo+ID4gV2UgY291bGQgdXNlIGRpZmZlcmVudCBtZXRob2RzLiBJZiBNRU1QT09M X0ZfTk9fQ0FDSEVfQUxJR04gaXMgc2V0LA0KPiA+IHVzZSB0aGUgdW5pdCBhcyAnc2l6ZW9mKHVp bnRwdHJfdCknLCBpZiBub3Qgc2V0IHVzZSBjYWNoZSBsaW5lIHNpemUgYXMNCj4gPiB0aGUgdW5p dC4NCj4gPg0KPiANCj4gVGhhdCB3b3VsZCByZXF1aXJlIHRoYXQgdGhlIGluZGV4aW5nIG11bHRp cGxpZXIgaXMgYSBydW50aW1lIHBhcmFtZXRlciBpbnN0ZWFkDQo+IG9mIGEgY29tcGlsZSB0aW1l IHBhcmFtZXRlci4gU28gaXQgd291bGQgaGF2ZSBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuDQo+IA0K PiBUaGUgaW5kZXhpbmcgbXVsdGlwbGllciBjb3VsZCBiZSBjb21waWxlIHRpbWUgY29uZmlndXJh YmxlLCBzbyBpdCBpcyBhIHRyYWRlb2ZmDQo+IGJldHdlZW4gZ3JhbnVsYXJpdHkgYW5kIG1heGlt dW0gbWVtcG9vbCBzaXplLg0KSSBtZWFudCBjb21waWxlIHRpbWUgY29uZmlndXJhYmxlLiBpLmUu DQoNCiNpZmRlZiBNRU1QT09MX0ZfTk9fQ0FDSEVfQUxJR04NCjx1c2Ugc2l6ZW9mKHVpbnRwdHJf dCkgYXMgdGhlIG11bHRpcGxpZXI+DQojZWxzZQ0KPHVzZSBjYWNoZSBsaW5lIHNpemUgYXMgdGhl IG11bHRpcGxpZXI+IC8qIFRoaXMgc2hvdWxkIHByb3ZpZGUgZW5vdWdoIG1lbW9yeSBmb3IgcGFj a2V0IGJ1ZmZlcnMgKi8NCiNlbmRpZg0K