From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75]) by dpdk.org (Postfix) with ESMTP id 6623E1B517 for ; Sat, 1 Dec 2018 19:37:08 +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=4S8Kbjf4rzJuroZc8L99XS8/QK20LuPovfqvK8OaxME=; b=qCFxHG3HvjaicMm/q/ffBBgvSLgBFVxm0ZSuvXVDLL85dQEMLxD6vIrq8vSp30/T1sul/IwdSKZCiA7MgjylsI6PnhbLdxVSkKWny7+EhGWta5a6fGyWj+ybr5iDVCj5jH2V6ZKGsW9UvjkcpC+J33pH5IPrfwHnVnNcrOhKF6Y= Received: from AM6PR08MB3672.eurprd08.prod.outlook.com (20.177.115.29) by AM6PR08MB3927.eurprd08.prod.outlook.com (20.178.87.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.22; Sat, 1 Dec 2018 18:37:02 +0000 Received: from AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::78ab:2bf4:5476:6c3e]) by AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::78ab:2bf4:5476:6c3e%2]) with mapi id 15.20.1382.020; Sat, 1 Dec 2018 18:37:02 +0000 From: Honnappa Nagarahalli To: Stephen Hemminger , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= CC: "Van Haaren, Harry" , "dev@dpdk.org" , nd , Dharmik Thakkar , Malvika Gupta , "Gavin Hu (Arm Technology China)" , Honnappa Nagarahalli , nd Thread-Topic: [dpdk-dev] [RFC 0/3] tqs: add thread quiescent state library Thread-Index: AQHUhqB8tEevwcHR9UqXBYKYUzkOUKVkOZ6AgABmmXCAATVfgIAAWdaAgALQkQWAAQF7YA== Date: Sat, 1 Dec 2018 18:37:02 +0000 Message-ID: References: <20181122033055.3431-1-honnappa.nagarahalli@arm.com> <20181127142803.423c9b00@xeon-e3> <20181128152351.27fdebe3@xeon-e3> <5c5db46f-e154-7932-0905-031e153c6016@ericsson.com> <20181130154417.7cf7349b@xeon-e3> In-Reply-To: <20181130154417.7cf7349b@xeon-e3> 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; AM6PR08MB3927; 6:zAN7YQMTtoWaB15Ctp2Fpj18NS6ipGlaACpsWaKlD1Zgb0KZ8y4OZLWoSTJRz3nilCp8AnC+8FrhqFisMc7oRVuHstV5ijhCLA/d3kJ4wAOtVz0kezzUyYvSzBUq7ffCgG/+DJ0P/xmZC9TuCO8XxT7xOxAZ67fncjorpx6aIl+WjnFWeUZDhW7f2/KM62h07gl/g5nDIGUhpum9Lqa9EetQeye8BbLsWIePH1X1Hi8UjeMPAcWq4R1maKHPJxqJq1FwtiKZTAqATbHPz33qTn6u9ZDFZgMV6csDV3Ne5JydrsRnh2qL9FYx4dwzpFR3VROKfTkFZN0nwRAbs1IhGvVUNSJlQA30n7LxliEhOxmrglBb6PWqEBNhYA2nsMjUiL8E38Cv38EqAfhWQ0GcRnIES+AATbE9nHwpkVI52gL9Ht3bncWw0YKcZ4tz352nOLZYn4go9HahIQH4UwQMdg==; 5:qENyhO67KpJyelJ6VJyd38DRz9sUSwPOxqw/CxSLKaMT0GYFf8QDDD1tiNSGl/kjFQp7CCtkPJplPG0Nat61mpyF/mz7I5OvITNccYZXwr4X05XXfAFgqYqWIgGUX+lZf2Ku/56LEEGRRkl6Hr0cKZGNyYbxnlj9Uy1RFuTMVOs=; 7:xRa7uRFUOpbUvmhmY+h1K2QJkiVqXldgDFyuF6l4x4blod8SvYSNxF+q7LV+t45Tc5+RI94HoUPzw6uOfAlLB2jHCPgLIz6226CCGbvgpOtzwilV7hMZg8Jdf+EzAnU8adsZ+PXXuiyP2TacxAQyUg== x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 4cfb5566-338a-4220-5d40-08d657bbfc63 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:AM6PR08MB3927; x-ms-traffictypediagnostic: AM6PR08MB3927: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231455)(999002)(944501410)(52105112)(93006095)(93001095)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201708071742011)(7699051)(76991095); SRVR:AM6PR08MB3927; BCL:0; PCL:0; RULEID:; SRVR:AM6PR08MB3927; x-forefront-prvs: 087396016C x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(396003)(376002)(39860400002)(346002)(501624003)(199004)(189003)(72206003)(478600001)(99286004)(6436002)(25786009)(4001150100001)(97736004)(106356001)(105586002)(110136005)(316002)(54906003)(93886005)(66066001)(102836004)(9686003)(4326008)(55016002)(6246003)(6506007)(186003)(53546011)(7696005)(53936002)(26005)(76176011)(71200400001)(71190400001)(14454004)(81156014)(8676002)(81166006)(33656002)(2906002)(14444005)(256004)(66574009)(6116002)(3846002)(68736007)(229853002)(74316002)(86362001)(7736002)(305945005)(476003)(446003)(11346002)(8936002)(486006)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3927; 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-microsoft-antispam-message-info: Z0Fr42yXH4H+ZwSCtGwV0GI2XF/xnxatVvI2zumrlvqJR2Df8hHaHNXjUPAFTmfr8Z1B4Qky9jzzDjjlX0VsmHIFVVysR1BWuI2zk2CwZ5A9fvBKXnsuMgkoiUszKvf/qCP6hdKNrh2LnKeJya+BlAmoWr/I4RbxZLSnXt6mBUfTCNaUaN06ZqL2lgBhgbBEH9gmaFjWUJHd2VwdYI/6SppKKBEdUy21lw/zA6gseGyKPgWo3xutRE8T2MGgAc7aWh1iunmbM9yigz2YLc59FbtLIOKjJARPkN9yHl9ITobOE/fxtCZXis2jSdwkihk+2Q+Ld+OEMgAtGI6UR39Um/OfKnqdJ0l6dqvypUV9hVs= 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: 4cfb5566-338a-4220-5d40-08d657bbfc63 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2018 18:37:02.3593 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3927 Subject: Re: [dpdk-dev] [RFC 0/3] tqs: add thread quiescent state library 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: Sat, 01 Dec 2018 18:37:08 -0000 PiANCj4gT24gRnJpLCAzMCBOb3YgMjAxOCAyMTo1NjozMCArMDEwMA0KPiBNYXR0aWFzIFLDtm5u YmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPiANCj4gPiBPbiAy MDE4LTExLTMwIDAzOjEzLCBIb25uYXBwYSBOYWdhcmFoYWxsaSB3cm90ZToNCj4gPiA+Pg0KPiA+ ID4+IFJlaW52ZW50aW5nIFJDVSBpcyBub3QgaGVscGluZyBhbnlvbmUuDQo+ID4gPiBJTU8sIHRo aXMgZGVwZW5kcyBvbiB3aGF0IHRoZSBydGVfdHFzIGhhcyB0byBvZmZlciBhbmQgd2hhdCB0aGUN Cj4gcmVxdWlyZW1lbnRzIGFyZS4gQmVmb3JlIHN0YXJ0aW5nIHRoaXMgcGF0Y2gsIEkgbG9va2Vk IGF0IHRoZSBsaWJ1cmN1IEFQSXMuIEkNCj4gaGF2ZSB0byBzYXksIGZhaXJseSBxdWlja2x5IChu byBvZmZlbnNlKSBJIGNvbmNsdWRlZCB0aGF0IHRoaXMgZG9lcyBub3QgYWRkcmVzcw0KPiBEUERL J3MgbmVlZHMuIEkgdG9vayBhIGRlZXBlciBsb29rIGF0IHRoZSBBUElzL2NvZGUgaW4gdGhlIHBh c3QgZGF5IGFuZCBJIHN0aWxsDQo+IGNvbmNsdWRlZCB0aGUgc2FtZS4gTXkgcGFydGlhbCBhbmFs eXNpcyAoYW5hbHlzaXMgb2YgbW9yZSBBUElzIGNhbiBiZSBkb25lLCBJDQo+IGRvIG5vdCBoYXZl IGN5Y2xlcyBhdCB0aGlzIHBvaW50KSBpcyBhcyBmb2xsb3dzOg0KPiA+ID4NCj4gPiA+IFRoZSBy ZWFkZXIgdGhyZWFkcycgaW5mb3JtYXRpb24gaXMgbWFpbnRhaW5lZCBpbiBhIGxpbmtlZCBsaXN0 WzFdLiBUaGlzDQo+IGxpbmtlZCBsaXN0IGlzIHByb3RlY3RlZCBieSBhIG11dGV4IGxvY2tbMl0u IEFueSBhZGRpdGlvbnMvZGVsZXRpb25zL3RyYXZlcnNhbHMNCj4gb2YgdGhpcyBsaXN0IGFyZSBi bG9ja2luZyBhbmQgY2Fubm90IGhhcHBlbiBpbiBwYXJhbGxlbC4NCj4gPiA+DQo+ID4gPiBUaGUg QVBJLCAnc3luY2hyb25pemVfcmN1JyBbM10gKHNpbWlsYXIgZnVuY3Rpb25hbGl0eSB0byBydGVf dHFzX2NoZWNrIGNhbGwpDQo+IGlzIGEgYmxvY2tpbmcgY2FsbC4gVGhlcmUgaXMgbm8gb3B0aW9u IHByb3ZpZGVkIHRvIG1ha2UgaXQgbm9uLWJsb2NraW5nLiBUaGUNCj4gd3JpdGVyIHNwaW5zIGN5 Y2xlcyB3aGlsZSB3YWl0aW5nIGZvciB0aGUgZ3JhY2UgcGVyaW9kIHRvIGdldCBvdmVyLg0KPiA+ ID4NCj4gPg0KPiA+IFdvdWxkbid0IHRoZSBvcHRpb25zIGJlIGNhbGxfcmN1LCB3aGljaCByYXJl bHkgYmxvY2tzLCBvciBkZWZlcl9yY3UoKQ0KPiA+IHdoaWNoIG5ldmVyPw0KY2FsbF9yY3UgKEkg ZG8gbm90IGtub3cgYWJvdXQgZGVmZXJfcmN1LCBoYXZlIHlvdSBsb29rZWQgYXQgdGhlIGltcGxl bWVudGF0aW9uIHRvIHZlcmlmeSB5b3VyIGNsYWltPykgcmVxdWlyZXMgYSBzZXBhcmF0ZSB0aHJl YWQgdGhhdCBkb2VzIGdhcmJhZ2UgY29sbGVjdGlvbiAodGhpcyBmb3JjZXMgYSBwcm9ncmFtbWlu ZyBtb2RlbCwgdGhlIHRocmVhZCBpcyBldmVuIGxhdW5jaGVkIGJ5IHRoZSBsaWJyYXJ5KS4gY2Fs bF9yY3UoKSBhbGxvd3MgeW91IHRvIGJhdGNoIGFuZCBkZWZlciB0aGUgd29yayB0byB0aGUgZ2Fy YmFnZSBjb2xsZWN0b3IgdGhyZWFkLiBJbiB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IgdGhyZWFkLCB3 aGVuICdzeW5jaHJvbml6ZV9yY3UnIGlzIGNhbGxlZCwgaXQgc3BpbnMgZm9yIGF0IGxlYXN0IDEg Z3JhY2UgcGVyaW9kLiBEZWZlcnJpbmcgYW5kIGJhdGNoaW5nIGFsc28gaGF2ZSB0aGUgc2lkZSBl ZmZlY3QgdGhhdCBtZW1vcnkgaXMgYmVpbmcgaGVsZCB1cCBmb3IgbG9uZ2VyIHRpbWUuDQoNCldo eSB3b3VsZCB0aGUgYXZlcmFnZSBhcHBsaWNhdGlvbiB3YW50IHRvIHdhaXQgZm9yIHRoZQ0KPiA+ IGdyYWNlIHBlcmlvZCB0byBiZSBvdmVyIGFueXdheT8NCkkgYXNzdW1lIHdoZW4geW91IHNheSAn YXZlcmFnZSBhcHBsaWNhdGlvbicsIHlvdSBtZWFuIHRoZSB3cml0ZXIocykgYXJlIG9uIGNvbnRy b2wgcGxhbmUuIA0KSXQgaGFzIGJlZW4gYWdyZWVkIChpbiB0aGUgY29udGV4dCBvZiBydGVfaGFz aCkgdGhhdCB3cml0ZXIocykgY2FuIGJlIG9uIGRhdGEgcGxhbmUuIEluIHRoaXMgY2FzZSwgJ3N5 bmNocm9uaXplX3JjdScgY2Fubm90IGJlIGNhbGxlZCBmcm9tIGRhdGEgcGxhbmUuIElmIGNhbGxf cmN1IGhhcyB0byBiZSBjYWxsZWQsIGl0IGFkZHMgYWRkaXRpb25hbCBjeWNsZXMgdG8gcHVzaCB0 aGUgcG9pbnRlcnMgKG9yIGFueSBkYXRhKSB0byB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IgdGhyZWFk IHRvIHRoZSBkYXRhIHBsYW5lLiBJIGtpbmRseSBzdWdnZXN0IHlvdSB0byB0YWtlIGEgbG9vayBm b3IgbW9yZSBkZXRhaWxzIGluIGxpYnVyY3UgY29kZSBhbmQgdGhlIHJ0ZV90cXMgY29kZS4NCkFk ZGl0aW9uYWxseSwgY2FsbF9yY3UgZnVuY3Rpb24gaXMgbW9yZSB0aGFuIDEwIGxpbmVzLg0KDQo+ ID4NCj4gPiA+ICdzeW5jaHJvbml6ZV9yY3UnIGFsc28gaGFzIGdyYWNlIHBlcmlvZCBsb2NrIFs0 XS4gSWYgSSBoYXZlIG11bHRpcGxlIHdyaXRlcnMNCj4gcnVubmluZyBvbiBkYXRhIHBsYW5lIHRo cmVhZHMsIEkgY2Fubm90IGNhbGwgdGhpcyBBUEkgdG8gcmVjbGFpbSB0aGUgbWVtb3J5IGluDQo+ IHRoZSB3b3JrZXIgdGhyZWFkcyBhcyBpdCB3aWxsIGJsb2NrIG90aGVyIHdvcmtlciB0aHJlYWRz LiBUaGlzIG1lYW5zLCB0aGVyZSBpcw0KPiBhbiBleHRyYSB0aHJlYWQgcmVxdWlyZWQgKG9uIHRo ZSBjb250cm9sIHBsYW5lPykgd2hpY2ggZG9lcyBnYXJiYWdlDQo+IGNvbGxlY3Rpb24gYW5kIGEg bWV0aG9kIHRvIHB1c2ggdGhlIHBvaW50ZXJzIGZyb20gd29ya2VyIHRocmVhZHMgdG8gdGhlDQo+ IGdhcmJhZ2UgY29sbGVjdGlvbiB0aHJlYWQuIFRoaXMgYWxzbyBtZWFucyB0aGUgdGltZSBkdXJh dGlvbiBmcm9tIGRlbGV0ZSB0bw0KPiBmcmVlIGluY3JlYXNlcyBwdXR0aW5nIHByZXNzdXJlIG9u IGFtb3VudCBvZiBtZW1vcnkgaGVsZCB1cC4NCj4gPiA+IFNpbmNlIHRoaXMgQVBJIGNhbm5vdCBi ZSBjYWxsZWQgY29uY3VycmVudGx5IGJ5IG11bHRpcGxlIHdyaXRlcnMsIGVhY2gNCj4gd3JpdGVy IGhhcyB0byB3YWl0IGZvciBvdGhlciB3cml0ZXIncyBncmFjZSBwZXJpb2QgdG8gZ2V0IG92ZXIg KGkuZS4gbXVsdGlwbGUNCj4gd3JpdGVyIHRocmVhZHMgY2Fubm90IG92ZXJsYXAgdGhlaXIgZ3Jh Y2UgcGVyaW9kcykuDQo+ID4NCj4gPiAiUmVhbCIgRFBESyBhcHBsaWNhdGlvbnMgdHlwaWNhbGx5 IGhhdmUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3V0c2lkZQ0KPiA+IHdvcmxkIHVzaW5nIGludGVy ZmFjZXMgYmV5b25kIERQREsgcGFja2V0IEkvTywgYW5kIHRoaXMgaXMgYmVzdCBkb25lDQo+ID4g dmlhIGFuIGludGVybWVkaWF0ZSAiY29udHJvbCBwbGFuZSIgdGhyZWFkIHJ1bm5pbmcgaW4gdGhl IERQREsgYXBwbGljYXRpb24uDQo+ID4gVHlwaWNhbGx5LCB0aGlzIHRocmVhZCB3b3VsZCBhbHNv IGJlIHRoZSBSQ1Ugd3JpdGVyIGFuZCAiZ2FyYmFnZQ0KPiA+IGNvbGxlY3RvciIsIEkgd291bGQg c2F5Lg0KPiA+DQpBZ3JlZSwgdGhhdCBpcyBvbmUgd2F5IHRvIGRvIGl0IGFuZCBpdCBjb21lcyB3 aXRoIGl0cyBvd24gaXNzdWVzIGFzIEkgZGVzY3JpYmVkIGFib3ZlLg0KDQo+ID4gPg0KPiA+ID4g VGhpcyBBUEkgYWxzbyBoYXMgdG8gdHJhdmVyc2UgdGhlIGxpbmtlZCBsaXN0IHdoaWNoIGlzIG5v dCB2ZXJ5IHdlbGwgc3VpdGVkIGZvcg0KPiBjYWxsaW5nIG9uIGRhdGEgcGxhbmUuDQo+ID4gPg0K PiA+ID4gSSBoYXZlIG5vdCBnb25lIHRvbyBtdWNoIGludG8gcmN1X3RocmVhZF9vZmZsaW5lWzVd IEFQSS4gVGhpcyBhZ2FpbiBuZWVkcw0KPiB0byBiZSB1c2VkIGluIHdvcmtlciBjb3JlcyBhbmQg ZG9lcyBub3QgbG9vayB0byBiZSB2ZXJ5IG9wdGltYWwuDQo+ID4gPg0KPiA+ID4gSSBoYXZlIGds YW5jZWQgYXQgcmN1X3F1aWVzY2VudF9zdGF0ZSBbNl0sIGl0IHdha2VzIHVwIHRoZSB0aHJlYWQg Y2FsbGluZw0KPiAnc3luY2hyb25pemVfcmN1JyB3aGljaCBzZWVtcyBnb29kIGFtb3VudCBvZiBj b2RlIGZvciB0aGUgZGF0YSBwbGFuZS4NCj4gPiA+DQo+ID4NCj4gPiBXb3VsZG4ndCB0aGUgdHlw aWNhbCBEUERLIGxjb3JlIHdvcmtlciBjYWxsIHJjdV9xdWllc2NlbnRfc3RhdGUoKQ0KPiA+IGFm dGVyIHByb2Nlc3NpbmcgYSBidXJzdCBvZiBwYWNrZXRzPyBJZiBzbywgSSB3b3VsZCBtb3JlIGxl YW4gdG93YXJkDQo+ID4gIm5lZ2xpZ2libGUgb3ZlcmhlYWQiLCB0aGFuICJhIGdvb2QgYW1vdW50 IG9mIGNvZGUiLg0KRFBESyBpcyBiZWluZyB1c2VkIGluIGVtYmVkZGVkIGFuZCByZWFsIHRpbWUg YXBwbGljYXRpb25zIGFzIHdlbGwuIFRoZXJlLCBwcm9jZXNzaW5nIGEgYnVyc3Qgb2YgcGFja2V0 cyBpcyBub3QgcG9zc2libGUgZHVlIHRvIGxvdyBsYXRlbmN5IHJlcXVpcmVtZW50cy4gSGVuY2Ug aXQgaXMgbm90IHBvc3NpYmxlIHRvIGFtb3J0aXplIHRoZSBjb3N0Lg0KDQo+ID4NCj4gPiBJIG11 c3QgYWRtaXQgSSBkaWRuJ3QgbG9vayBhdCB5b3VyIGxpYnJhcnkgaW4gZGV0YWlsLCBidXQgSSBt dXN0IHN0aWxsDQo+ID4gYXNrOiBpZiBUUVMgaXMgYmFzaWNhbGx5IFJDVSwgd2h5IGlzbid0IGl0 IGNhbGxlZCBSQ1U/IEFuZCB3aHkgaXNuJ3QNCj4gPiB0aGUgQVBJIGNhbGxzIG5hbWVkIGluIGEg c2ltaWxhciBtYW5uZXI/DQpJIGtpbmRseSByZXF1ZXN0IHlvdSB0byB0YWtlIGEgbG9vayBhdCB0 aGUgcGF0Y2guIE1vcmUgdGhhbiB0aGF0LCBpZiB5b3UgaGF2ZSBub3QgZG9uZSBhbHJlYWR5LCBw bGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIGxpYnVyY3UgaW1wbGVtZW50YXRpb24gYXMgd2VsbC4N ClRRUyBpcyBub3QgUkNVIChSZWFkLUNvcHktVXBkYXRlKS4gVFFTIGhlbHBzIGltcGxlbWVudCBS Q1UuIFRRUyBoZWxwcyB0byB1bmRlcnN0YW5kIHdoZW4gdGhlIHRocmVhZHMgaGF2ZSBwYXNzZWQg dGhyb3VnaCB0aGUgcXVpZXNjZW50IHN0YXRlLg0KSSBhbSBhbHNvIG5vdCBzdXJlIHdoeSB0aGUg bmFtZSBsaWJ1cmN1IGhhcyBSQ1UgaW4gaXQuIEl0IGRvZXMgbm90IGRvIGFueSBSZWFkLUNvcHkt VXBkYXRlLg0KDQo+IA0KPiANCj4gV2UgdXNlZCBsaWJ1cmN1IGF0IEJyb2NhZGUgd2l0aCBEUERL LiBJdCB3YXMganVzdCBhIGNhc2Ugb2YgcHV0dGluZw0KPiByY3VfcXVpZXNjZW50X3N0YXRlIGlu IHRoZSBwYWNrZXQgaGFuZGxpbmcNCj4gbG9vcC4gVGhlcmUgd2VyZSBhIGJ1bmNoIG1vcmUgY2Fz ZXMgd2hlcmUgY29udHJvbCB0aHJlYWQgbmVlZGVkIHRvDQo+IHJlZ2lzdGVyL3VucmVnaXN0ZXIg YXMgcGFydCBvZiBSQ1UuDQpJIGFzc3VtZSB0aGF0IHRoZSBwYWNrZXQgaGFuZGxpbmcgbG9vcCB3 YXMgYSBwb2xsaW5nIGxvb3AgKGNvcnJlY3QgbWUgaWYgSSBhbSB3cm9uZykuIFdpdGggdGhlIHN1 cHBvcnQgb2YgZXZlbnQgZGV2LCB3ZSBoYXZlIHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0IEFQSSB3 aGljaCBzdXBwb3J0cyBibG9ja2luZyB0aWxsIHRoZSBwYWNrZXRzIGFyZSBhdmFpbGFibGUgKG9y IGJsb2NraW5nIGZvciBhbiBleHRlbmRlZCBwZXJpb2Qgb2YgdGltZSkuIFRoaXMgbWVhbnMgdGhh dCwgYmVmb3JlIGNhbGxpbmcgdGhpcyBBUEksIHRoZSB0aHJlYWQgbmVlZHMgdG8gaW5mb3JtICJk b24ndCB3b3JyeSBhYm91dCBtZSIuIE9uY2UsIHRoaXMgQVBJIHJldHVybnMsIGl0IG5lZWRzIHRv IGluZm9ybSAid29ycnkgYWJvdXQgbWUiLiBTbywgdGhlc2UgdHdvIEFQSXMgbmVlZCB0byBiZSBl ZmZpY2llbnQuIFBsZWFzZSBsb29rIGF0IHJ0ZV90cXNfcmVnaXN0ZXIvdW5yZWdpc3RlciBBUElz Lg0KDQo+IEkgdGhpbmsgYW55IGxpYnJhcnkgd291bGQgaGF2ZSB0aGF0IGlzc3VlIHdpdGggdXNl ciBzdXBwbGllZCB0aHJlYWRzLiAgWW91IG5lZWQNCj4gYSAid29ycnkgYWJvdXQgbWUiIGFuZA0K PiBhICJkb24ndCB3b3JyeSBhYm91dCBtZSIgQVBJIGluIHRoZSBsaWJyYXJ5Lg0KPiANCj4gVGhl cmUgaXMgYWxzbyBhIHRyYWRlb2ZmIGJldHdlZW4gY2FsbF9yY3UgYW5kIGRlZmVyX3JjdSBhYm91 dCB3aGF0IGNvbnRleHQNCj4gdGhlIFJDVSBjYWxsYmFjayBoYXBwZW5zLg0KPiBZb3UgcmVhbGx5 IG5lZWQgYSBjb250cm9sIHRocmVhZCB0byBoYW5kbGUgdGhlIFJDVSBjbGVhbnVwLg0KVGhhdCBp cyBpZiB5b3UgY2hvb3NlIHRvIHVzZSBsaWJ1cmN1LiBydGVfdHFzIHByb3ZpZGVzIHRoZSBhYmls aXR5IHRvIGRvIGNsZWFudXAgZWZmaWNpZW50bHkgd2l0aG91dCB0aGUgbmVlZCBmb3IgYSBjb250 cm9sIHBsYW5lIHRocmVhZCBpbiBEUERLIHVzZSBjYXNlcy4NCg0KPiANCj4gVGhlIHBvaW50IGlz IHRoYXQgUkNVIHN0ZXBzIGludG8gdGhlIGFwcGxpY2F0aW9uIGRlc2lnbiwgYW5kIGxpYnVyY3Ug c2VlbXMgdG8NCj4gYmUgZmxleGlibGUgZW5vdWdoDQo+IGFuZCB3ZWxsIGRvY3VtZW50ZWQgZW5v dWdoIHRvIGFsbG93IGZvciBtb3JlIG9wdGlvbnMuDQpBZ3JlZSB0aGF0IFJDVSBzdGVwcyBpbnRv IGFwcGxpY2F0aW9uIGRlc2lnbi4gVGhhdCBpcyB0aGUgcmVhc29uIHJ0ZV90cXMganVzdCBkb2Vz IGVub3VnaCBhbmQgcHJvdmlkZXMgdGhlIGZsZXhpYmlsaXR5IHRvIHRoZSBhcHBsaWNhdGlvbiB0 byBpbXBsZW1lbnQgdGhlIFJDVSBob3dldmVyIGl0IGZlZWxzIGxpa2UuIERQREsgaGFzIGFsc28g c3RlcHBlZCBpbnRvIGFwcGxpY2F0aW9uIGRlc2lnbiBieSBwcm92aWRpbmcgbGlicmFyaWVzIGxp a2UgaGFzaCwgTFBNIGV0Yy4NCg0KSSBkbyBub3QgdW5kZXJzdGFuZCB3aHkgeW91IHRoaW5rIGxp YnVyY3UgaXMgZmxleGlibGUgZW5vdWdoIGZvciBEUERLIHVzZSBjYXNlcy4gSSBtZW50aW9uZWQg dGhlIHNwZWNpZmljIHVzZSBjYXNlcyB3aGVyZSBsaWJ1cmN1IGlzIG5vdCB1c2VmdWwuIEkgZGlk IG5vdCBmaW5kIGFueXRoaW5nIGluIHRoZSBkb2N1bWVudGF0aW9uIHRvIGhlbHAgbWUgc29sdmUg dGhlc2UgdXNlIGNhc2VzLiBBcHByZWNpYXRlIGlmIHlvdSBjb3VsZCBoZWxwIG1lIHVuZGVyc3Rh bmQgaG93IEkgY2FuIHVzZSBsaWJ1cmN1IHRvIHNvbHZlIHRoZXNlIHVzZSBjYXNlcy4NCg==