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 9D4E141DA8; Wed, 1 Mar 2023 12:18:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 912DF4114A; Wed, 1 Mar 2023 12:18:33 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2084.outbound.protection.outlook.com [40.107.20.84]) by mails.dpdk.org (Postfix) with ESMTP id AEEE94113C for ; Wed, 1 Mar 2023 12:18:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QX5Ss+6KjA+Glm1gRYf9ai/iL3dlgduM5gc2NOVeUZnYMJGZdxvB4eSby12DKylomoJryuj2PxPUgcZbGcF6UeMo+/s18OtGQNvIHqvWGvxoHiY2++zGUYYfhmR6MWanRsiNyfPKYRHVkU07uRYMx0IMU8WYp7DjoClEnWvRsaZybfIyAruT9ff/FeWjwQAfNMVS8HL9OeFhtpADM2uMTByQ7Qm70L6qGvCiPv7BJu5IJIQ0k4m8ZrL4qd/hm9golkLL4dFPvf80ajcD4J2/OShduIGH9FFWTj1YBXG4+LwEWj9gJp0dEh/JFSq8982sXFnxE+/tLoNbZjhBD4OzWg== 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=qxjlIKJJRckowPceDJee5qeFlJ7u1PwsVx4OogR5bSE=; b=O0tWJxPVQ544F49w3S1/5OaoANzBqnlkHrqfxqlAKGwecDRlcoHUeKN7PKb0IH1du3+anVDBBKoOuBpBWnlw6APDZWd2GTNHMHa36nwaF9BYdX2KryMQY6ciO2Ab3kk9G9KWMY1IjA9T6eiv/KhedCYA/ntRHuITX9EEc6QzZ9FgGvZH6BtH27gEJh84RCXRLXvXWQR3M35h6YjFES2lbGlIVbWuMl1v+zwvfL32IfKt4HdXGR3zS0XWJ+XFXxOMgbxHTDNE130okoowneqLz2kNUs8KvepyEutn0eHk1QfWV7ssL87T1j6k3zAhRr9AnoFtJzhJ1kwb9P3/RxrnYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qxjlIKJJRckowPceDJee5qeFlJ7u1PwsVx4OogR5bSE=; b=iK+2tanJX2yAxgY4UAsa1iAm1abpGFrkpgyMyyAWSLzdgKAG7u3g5fsO2ilqppNRjVF9h2zWo6DoWOHcfsShk5JYeAjS+H0cN+54TxfdSvETIRke7lDWA+MiVNSrc2a0SvTleP4ngWBLjQfPaF2+3b6Bu9hwCJF7GV4RAzoBiHo= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by PAWPR07MB9228.eurprd07.prod.outlook.com (2603:10a6:102:2e3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.27; Wed, 1 Mar 2023 11:18:29 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::2c84:74bd:b6e6:7ffb]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::2c84:74bd:b6e6:7ffb%4]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023 11:18:29 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" CC: Erik Gabriel Carrillo , David Marchand , Maria Lingemark , Stefan Sundkvist Subject: Re: [RFC 0/2] Add high-performance timer facility Thread-Topic: [RFC 0/2] Add high-performance timer facility Thread-Index: AQHZS1lW6P727zp9A0KQywOAZmHOZK7khRMAgAFDU4A= Date: Wed, 1 Mar 2023 11:18:29 +0000 Message-ID: <284a38c7-7f0d-8aab-e054-4e8c0b8274aa@ericsson.com> References: <20230228093916.87206-1-mattias.ronnblom@ericsson.com> <98CBD80474FA8B44BF855DF32C47DC35D87797@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87797@smartserver.smartshare.dk> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB5978:EE_|PAWPR07MB9228:EE_ x-ms-office365-filtering-correlation-id: 1ac08f63-bac5-415b-1fb1-08db1a46af66 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SGY9PSt7k4k2GSxJFkMK/uxcBcBxSaNKrTdlZYVvJJcgLhPtBo5ynJGCS0cPvDMEcRda80Htp0V52O2GimWPCgDtSLeXluYVAWLvoFZ2gztAfTwIpVEF6VA3i2IKhYfk/L7oaxFmqbkIIF9ZMHyOb874yBWTWAkWw30J4f65yqLIgB/PC3Btu3GO66gLJmLlh8vTDOaRjEnpWll+lxAUYxde6Z7baaKl1PO5JqyDAV52CmLCznYpO39a7jboD7nkKP23jrA4Yous2O04LG9HAZlTO324arqurJvKumWpHC1VeBk+YdbVJr0cLL1TRZnzf/DfR88bNGkl8ZzbxlqJMxhK5yAdKvtlE1lqhNO5Up/dWK0nz3lVLgxFSd8CBX2v+rbfaMkyGNYhHkRCwK4ROJEJ//RoXK5IPTEsae+8EUnJaA35HBX8k+EDnBAduGP8Hd+9ee4Es12pGzefN5zClSQ4oetXWhqH0ayDhus8SZcqvbkcI9YuHUK0MUZ90t/UzYE5kVq9eYv1scZ+JZGsFyfYSLTYDixRGkjcXmnXm+rqSlsfn3Qwfuctql8BaH7kylD44dN0v7MaGkbGnhbsoO4DeB3wylgWKjRju28bxE2AM8TtfG1cx3XygWH6wH3HsM3J5gu4EZl62W3OOqutTAK0tofHHPeSo6DLYUkQW35+3QtMpjcGA8/pzUEfwEoVEYYMWm84h6Jsyui2/HI8hNLViaMU6+Il/W+0U4IsxTCHvQCwxXe7ujuPW6ISbjZObOnHjWg9Xz/1TM3eHD4FYw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(451199018)(8676002)(38070700005)(110136005)(8936002)(54906003)(122000001)(36756003)(316002)(85182001)(26005)(53546011)(478600001)(86362001)(6486002)(85202003)(71200400001)(186003)(30864003)(2906002)(6506007)(107886003)(6512007)(38100700002)(31696002)(2616005)(82960400001)(5660300002)(66946007)(83380400001)(4326008)(76116006)(91956017)(66476007)(64756008)(66556008)(31686004)(66446008)(41300700001)(66574015)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TWVPREZ4RUNrSitzZGJWTkpvUFRTa0ZzYzhvTmFraXllWG5rS0F2MlRRM1lY?= =?utf-8?B?UjdOOTkxazJLeTVtL25YWjVmWUIvTVdTRCtVZzBsejhQSU5BN09GcnZwcmQx?= =?utf-8?B?UkRKZjBIWTkyZnVXOU9kZlQwd3RaNGNoN3RYMTN6aTkzQUJPZ3d0UDI2OWg2?= =?utf-8?B?SkVXaHFPUzlib1pTeVdWcHlxK1BKbmtLak1lV3FlektrNmlTZ0VYbkJpNkJ1?= =?utf-8?B?OTJjVW9yT0ZHa1FJQ2QwZE8weGJXbGwvWDFTaTR2amsxWm1LWnh6Nk1XWHht?= =?utf-8?B?NFE3bkhwR3JBV2lIelFCNWkrZW5pd1Z1bHVmVjAyT2NLOU9Vb2FSRGlaKzVH?= =?utf-8?B?ZWlNa2M5T0p3bVFPYUd4U3kvRVJ2ZDdZUExrZjBCd1Uydlhyd0RhV3lBNFVG?= =?utf-8?B?NFQ4VnlFWXpTRGR2dFY3bHN1anppSXpzKzJSamhZbHNHbmJZQ0VHK0xLWWds?= =?utf-8?B?LzYwbU04N2ZlS09wUzRGK1k3ZkFWRlF3OXpCUE9Sa0hmQnlNZFJOOURxN0Vi?= =?utf-8?B?aU5tK0hGVlBGWmZHQ0xIYkdvV2NFS3d6SllCTUlpSXEvZUU5TmJzQkJVWCtR?= =?utf-8?B?UDY4VVlpZ0M3RE5hYlNjL1lkMFNpTGVmdXRrdEdHN29vUFBtbFR1b1RxNkxS?= =?utf-8?B?elFqZEhyMEVIK04wWXNTUVpPTlF5UkZGaGMxQXQ0ZW81NGJsTUdGTDdZZHc3?= =?utf-8?B?d2Zlc09RcE9wMVU2YjJaTFRBellwUFZieEVEa28wbWlNSjJMUFVqQnYzTzRJ?= =?utf-8?B?LzBVYUlHNVFDMCttbWZPZ1pSUFV3WkJwbGdNdDNNN3kwejJSR2hUU1FoTVpp?= =?utf-8?B?SWcvMkpiV3c4V3FsN1JST1JYTTA4czlmai9UMG5iMHRKOTY4UzkxTUJRZ1Fv?= =?utf-8?B?RmcxZHZIMStmTmx4bFNBQmFUeWdvYlVKdUxHMVlPYlRVTHNvUEZzM3UrMkR6?= =?utf-8?B?bHNBZE5zc1RZVmkwd3o0SG94NjJRakVhdmQ5dWZNdE5JUFpSY0tDb2lpWVBN?= =?utf-8?B?d0VkZ1h1NXEzb2NKZzM4YlovREFrQkhnTWNoTlZDN25xdERMVTJ2Ni9Eb1cy?= =?utf-8?B?VUVVcm5iUUJ6dzRxRU4rS2g0K0QzT2N6YmN5dnpDdS9SVmZmOE1BSnQ3cWpF?= =?utf-8?B?NHFVUFY5UkFjbGIxTGc2MFhKQUN4OC9UMVJoY0JPTE9UY3R0YUZKSHFEUGVw?= =?utf-8?B?OHY1L1RDUFA0QVZMOHAyWXljNVMxaDNnLy9TNWl3WkNsdEF4UlNJYURhWS9C?= =?utf-8?B?TnRNa21YUVJCbmh6UGYvQ1MxUEJNd3pHQmdWR2JITWVvWkZlNDZ6WGw2dVo0?= =?utf-8?B?ZFF3cWNqanhOWGZKeFpSV3JsUXNSSWdFQklxM1g3dnpFdHZBQ1VpZURQV3Rx?= =?utf-8?B?bVdRbC9BSUVjN2RyeGVLNjFjQ0NrbVhQUURMb2t5K3BuZDNJRnhXZE5ZUU1B?= =?utf-8?B?d09HdGVTejdpYlBlU2N0NnJpdlU2UVJWUVdTQXR2dGFxakpSRTBsRGozUFoy?= =?utf-8?B?bWlXN2JmS2tmelQzOTQvcnJYN0M3Zjh0MkdkRC9ZT2FqUkhBOXkrSTdOWWNt?= =?utf-8?B?dnNyb29ZazdWSGd3SWxCdGs2S0Nsc3VTV3oycFpXNW9VdDExeldrdzdnd0Uv?= =?utf-8?B?R0tJL3gwVjdVN2dIejNuV3JrL1BabEE3TnRwSk1ocmhlTGxOV1pvMytwNW9x?= =?utf-8?B?ZFIxM0E2NlFTMjFzQ2hMZjhVeG5CZlp0cGZNQlhDanJLRERVWm9Lb0ZXMFo5?= =?utf-8?B?enRTRzRWODBBK3JIL0FSSjZ4bVFuQlk1a1ZTamI0ZDg0a2QzWWZVU1VDc29l?= =?utf-8?B?T1RpS1BGdEFpL0tYMzM2TGhXZzZ6RVVOenc0YlBQbUZKNTZjVTNiMWltMUtq?= =?utf-8?B?a1J2RVg2L2xoTjdSQjQ2SlRabFRYOUhLUFgrOUthQ3Y0TE9WNnFkaFdKeVFZ?= =?utf-8?B?RUhkVEtsMFdlbkltTVJRNkt6aG1DZ29xbkZWdzNMNCswODZtRFFmbDdKdmVr?= =?utf-8?B?VTNjcXBwNVZkbnliRG9SM05iT2liOTloZEpRajJmY0xSKzhZbGdxL2t6ZHdD?= =?utf-8?B?Z1hQSHUvaVZRS0piQzNQMnhpclNDNU5GUy9hdzk2aHhxZCtGMmhtR1Z2OE9a?= =?utf-8?B?b3ZsNU9lNEpDcUtUUGZjbDBlSkMyRE1STmxLWXJxSUdZNHpuUks3STAwbjls?= =?utf-8?B?ZFE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ac08f63-bac5-415b-1fb1-08db1a46af66 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2023 11:18:29.5639 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8/Mxkr8+25VVK6QcwUVKgyYZLIkSxnkf8Jo+JrkE03Rr8bVYGZ13cLs5h/bmzJOQXWl4zfHbbsDzs0yRNHNyFgeenQUV3T4qfcuB94AUKF0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR07MB9228 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 T24gMjAyMy0wMi0yOCAxNzowMSwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+PiBGcm9tOiBNYXR0 aWFzIFLDtm5uYmxvbSBbbWFpbHRvOm1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tXQ0KPj4g U2VudDogVHVlc2RheSwgMjggRmVicnVhcnkgMjAyMyAxMC4zOQ0KPiANCj4gSSBoYXZlIGJlZW4g bG9va2luZyBmb3IgYSBoaWdoIHBlcmZvcm1hbmNlIHRpbWVyIGxpYnJhcnkgKGZvciB1c2UgaW4g YSBmYXN0IHBhdGggVENQIHN0YWNrKSwgYW5kIHRoaXMgbG9va3MgdmVyeSB1c2VmdWwsIE1hdHRp YXMuDQo+IA0KPiBNeSBpbml0aWFsIGZlZWRiYWNrIGlzIGJhc2VkIG9uIHF1aWNrbHkgc2tpbW1p bmcgdGhlIHBhdGNoIHNvdXJjZSBjb2RlLCBhbmQgcmVhZGluZyB0aGlzIGNvdmVyIGxldHRlci4N Cj4gDQo+Pg0KPj4gVGhpcyBwYXRjaHNldCBpcyBhbiBhdHRlbXB0IHRvIGludHJvZHVjZSBhIGhp Z2gtcGVyZm9ybWFuY2UsIGhpZ2hseQ0KPj4gc2NhbGFibGUgdGltZXIgZmFjaWxpdHkgaW50byBE UERLLg0KPj4NCj4+IE1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgZ29hbHMgZm9yIHRoZSBodGltZXIg bGlicmFyeSBhcmU6DQo+Pg0KPj4gKiBFZmZpY2llbnQgaGFuZGxpbmcgb2YgYSBoYW5kZnVsIHVw IHRvIGh1bmRyZWRzIG9mIHRob3VzYW5kcyBvZg0KPj4gICAgY29uY3VycmVudCB0aW1lcnMuDQo+ PiAqIFJlZHVjZWQgb3ZlcmhlYWQgb2YgYWRkaW5nIGFuZCBjYW5jZWxpbmcgdGltZXJzLg0KPj4g KiBQcm92aWRlIGEgc2VydmljZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byB0aGF0IG9mDQo+ PiAgICA8cnRlX3RpbWVyLmg+LiBBUEkvQUJJIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaXMgc2Vj b25kYXJ5Lg0KPj4NCj4+IEluIHRoZSBhdXRob3IncyBvcGluaW9uLCB0aGVyZSBhcmUgdHdvIG1h aW4gc2hvcnRjb21pbmdzIHdpdGggdGhlDQo+PiBjdXJyZW50IERQREsgdGltZXIgbGlicmFyeSAo aS5lLiwgcnRlX3RpbWVyLltjaF0pLg0KPj4NCj4+IE9uZSBpcyB0aGUgc3luY2hyb25pemF0aW9u IG92ZXJoZWFkLCB3aGVyZSBoZWF2eS13ZWlnaHQgZnVsbC1iYXJyaWVyDQo+PiB0eXBlIHN5bmNo cm9uaXphdGlvbiBpcyB1c2VkLiBydGVfdGltZXIuYyB1c2VzIHBlci1FQUwvbGNvcmUgc2tpcA0K Pj4gbGlzdHMsIGJ1dCBhbnkgdGhyZWFkIG1heSBhZGQgb3IgY2FuY2VsIChvciBvdGhlcndpc2Ug YWNjZXNzKSB0aW1lcnMNCj4+IG1hbmFnZWQgYnkgYW5vdGhlciBsY29yZSAoYW5kIHRodXMgcmVz aWRlcyBpbiBpdHMgdGltZXIgc2tpcCBsaXN0KS4NCj4+DQo+PiBUaGUgb3RoZXIgaXMgYW4gYWxn b3JpdGhtaWMgc2hvcnRjb21pbmcsIHdpdGggcnRlX3RpbWVyLmMncyByZWxpYW5jZQ0KPj4gb24g YSBza2lwIGxpc3QsIHdoaWNoLCBzZWVtaW5nbHksIGlzIGxlc3MgZWZmaWNpZW50IHRoYW4gY2Vy dGFpbg0KPj4gYWx0ZXJuYXRpdmVzLg0KPj4NCj4+IFRoaXMgcGF0Y2hzZXQgaW1wbGVtZW50cyBh IGhpZXJhcmNoaWNhbCB0aW1lciB3aGVlbCAoSFdULCBpbg0KPiANCj4gVHlwbzogSFdUIG9yIEhU Vz8NCg0KWWVzLiBJIGRvbid0IHVuZGVyc3RhbmQgaG93IEkgY291bGQgbWFuYWdlZCB0byBtYWtl IHNvIG1hbnkgc3VjaCBIVFcgLT4gDQpIV1QgdHlwb3MuIEF0IGxlYXN0IEkgZ290IHRoZSBmaWxl bmFtZXMgKHJ0ZV9odHcuW2NoXSkgY29ycmVjdC4NCg0KPiANCj4+IHJ0ZV9odHcuYyksIGFzIHBl ciB0aGUgVmFyZ2hlc2UgYW5kIExhdWNrIHBhcGVyICJIYXNoZWQgYW5kDQo+PiBIaWVyYXJjaGlj YWwgVGltaW5nIFdoZWVsczogRGF0YSBTdHJ1Y3R1cmVzIGZvciB0aGUgRWZmaWNpZW50DQo+PiBJ bXBsZW1lbnRhdGlvbiBvZiBhIFRpbWVyIEZhY2lsaXR5Ii4gQSBIV1QgaXMgYSBkYXRhIHN0cnVj dHVyZQ0KPj4gcHVycG9zZWx5IGRlc2lnbiBmb3IgdGhpcyB0YXNrLCBhbmQgdXNlZCBieSBtYW55 IG9wZXJhdGluZyBzeXN0ZW0NCj4+IGtlcm5lbCB0aW1lciBmYWNpbGl0aWVzLg0KPj4NCj4+IFRv IGZ1cnRoZXIgaW1wcm92ZSB0aGUgc29sdXRpb24gZGVzY3JpYmVkIGJ5IFZhcmdoZXNlIGFuZCBM YXVjaywgYQ0KPj4gYml0c2V0IGlzIHBsYWNlZCBpbiBmcm9udCBvZiBlYWNoIG9mIHRoZSB0aW1l ciB3aGVlbCBpbiB0aGUgSFdULA0KPj4gcmVkdWNpbmcgb3ZlcmhlYWQgb2YgcnRlX2h0aW1lcl9t Z3JfbWFuYWdlKCkgKGkuZS4sIHByb2dyZXNzaW5nIHRpbWUNCj4+IGFuZCBleHBpcnkgcHJvY2Vz c2luZykuDQo+Pg0KPj4gQ3ljbGUtZWZmaWNpZW50IHNjYW5uaW5nIGFuZCBtYW5pcHVsYXRpb24g b2YgdGhlc2UgYml0c2V0cyBhcmUgY3J1Y2lhbA0KPj4gZm9yIHRoZSBIV1QncyBwZXJmb3JtYW5j ZS4NCj4+DQo+PiBUaGUgaHRpbWVyIG1vZHVsZSBrZWVwcyBhIHBlci1sY29yZSAob3IgcGVyLXJl Z2lzdGVyZWQgRUFMIHRocmVhZCkgSFdUDQo+PiBpbnN0YW5jZSwgbXVjaCBsaWtlIHJ0ZV90aW1l ci5jIGtlZXBzIGEgcGVyLWxjb3JlIHNraXAgbGlzdC4NCj4+DQo+PiBUbyBhdm9pZCBleHBlbnNp dmUgc3luY2hyb25pemF0aW9uIG92ZXJoZWFkIGZvciB0aHJlYWQtbG9jYWwgdGltZXINCj4+IG1h bmFnZW1lbnQsIHRoZSBIV1RzIGFyZSBhY2Nlc3NlZCBvbmx5IGZyb20gdGhlICJvd25pbmciIHRo cmVhZC4gIEFueQ0KPj4gaW50ZXJhY3Rpb24gYW55IG90aGVyIHRocmVhZCBoYXMgd2l0aCBhIHBh cnRpY3VsYXIgbGNvcmUncyB0aW1lcg0KPj4gd2hlZWwgZ29lcyBvdmVyIGEgc2V0IG9mIERQREsg cmluZ3MuIEEgc2lkZS1lZmZlY3Qgb2YgdGhpcyBkZXNpZ24gaXMNCj4+IHRoYXQgYWxsIG9wZXJh dGlvbnMgd29ya2luZyB0b3dhcmQgYSAicmVtb3RlIiBIV1QgbXVzdCBiZQ0KPj4gYXN5bmNocm9u b3VzLg0KPj4NCj4+IFRoZSA8cnRlX2h0aW1lci5oPiBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgdG8g RUFMIHRocmVhZHMgYW5kIHJlZ2lzdGVyZWQNCj4+IG5vbi1FQUwgdGhyZWFkcy4NCj4+DQo+PiBU aGUgaHRpbWVyIEFQSSBhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIHN1cHBseSB0aGUgY3VycmVu dCB0aW1lLA0KPj4gdXNlZnVsIGluIGNhc2UgaXQgYWxyZWFkeSBoYXMgcmV0cmlldmVkIHRoaXMg Zm9yIG90aGVyIHB1cnBvc2VzLA0KPj4gc2F2aW5nIHRoZSBjb3N0IG9mIGEgcmR0c2MgaW5zdHJ1 Y3Rpb24gKG9yIGl0cyBlcXVpdmFsZW50KS4NCj4+DQo+PiBSZWxhdGl2ZSBodGltZXIgZG9lcyBu b3QgcmV0cmlldmUgYSBuZXcgdGltZSwgYnV0IHJldXNlIHRoZSBjdXJyZW50DQo+PiB0aW1lIChh cyBrbm93biB2aWEvYXQtdGhlLXRpbWUgb2YgdGhlIG1hbmFnZS1jYWxsKSwgYWdhaW4gdG8gc2hh dmUgb2ZmDQo+PiBzb21lIGN5Y2xlcyBvZiBvdmVyaGVhZC4NCj4gDQo+IEkgaGF2ZSBhIGNvbW1l bnQgdG8gdGhlIHR3byBwb2ludHMgYWJvdmUuDQo+IA0KPiBJIGFncmVlIHRoYXQgdGhlIGFwcGxp Y2F0aW9uIHNob3VsZCBzdXBwbHkgdGhlIGN1cnJlbnQgdGltZS4NCj4gDQo+IFRoaXMgc2hvdWxk IGJlIHRoZSBjb25jZXB0IHRocm91Z2hvdXQgdGhlIGxpYnJhcnkuIEkgZG9uJ3QgdW5kZXJzdGFu ZCB3aHkgVFNDIGlzIHVzZWQgaW4gdGhlIGxpYnJhcnkgYXQgYWxsPw0KPiANCj4gUGxlYXNlIHVz ZSBhIHVuaXQtbGVzcyB0aWNrLCBhbmQgbGV0IHRoZSBhcHBsaWNhdGlvbiBkZWNpZGUgd2hhdCBv bmUgdGljayBtZWFucy4NCj4gDQoNCkkgc3VzcGVjdCB0aGUgZGVzaWduIG9mIHJ0ZV9odGltZXJf bWdyLmggKGFuZCBydGVfdGltZXIuaCkgbWFrZXMgbW9yZSANCnNlbnNlIGlmIHlvdSB0aGluayBv ZiB0aGUgdXNlciBvZiB0aGUgQVBJIGFzIG5vdCBqdXN0IGEgIm1vbm9saXRoaWMiIA0KYXBwbGlj YXRpb24sIGJ1dCByYXRoZXIgYSBzZXQgb2YgZGlmZmVyZW50IG1vZHVsZXMsIGRldmVsb3BlZCBi eSANCmRpZmZlcmVudCBvcmdhbml6YXRpb25zLCBhbmQgcmV1c2VkIGFjcm9zcyBhIHNldCBvZiBh cHBsaWNhdGlvbnMuIFRoZSANCmlkZWEgYmVoaW5kIHRoZSBBUEkgZGVzaWduIGlzIHRoZXkgc2hv dWxkIGFsbCBiZSBhYmxlIHRvIHNoYXJlIG9uZSB0aW1lciANCnNlcnZpY2UgaW5zdGFuY2UuDQoN ClRoZSBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uIGFuZCBhbnkgZnV0dXJlIERQ REsgcGxhdGZvcm0gDQptb2R1bGVzIHRoYXQgdXNlIHRoZSBodGltZXIgc2VydmljZSBuZWVkcyB0 byBhZ3JlZSB3aGF0IGEgdGljayBtZWFucyBpbiANCnRlcm1zIG9mIGFjdHVhbCB3YWxsLXRpbWUs IGlmIGl0J3Mgbm90IG1hbmRhdGVkIGJ5IHRoZSBBUEkuDQoNClRoZXJlIG1pZ2h0IGJlIHJvb20g Zm9yIG1vZHVsZS1zcGVjaWZpYyB0aW1lciB3aGVlbHMgYXMgd2VsbCwgd2l0aCANCmRpZmZlcmVu dCByZXNvbHV0aW9uIG9yIG90aGVyIGNoYXJhY3RlcmlzdGljcy4gVGhlIGV2ZW50IHRpbWVyIGFk YXB0ZXIncyANCnVzZSBvZiBhIHRpbWVyIHdoZWVsIGNvdWxkIGJlIG9uZSBleGFtcGxlIChhbHRo b3VnaCBJJ20gbm90IHN1cmUgaXQgaXMpLg0KDQpJZiB0aW1lci13aGVlbC1hcy1hLXByaXZhdGUt bGVnby1waWVjZSBpcyBhbHNvIGEgdmFsaWQgdXNlIGNhc2UsIHRoZW4gDQpvbmUgY291bGQgY29u c2lkZXIgbWFrZSB0aGUgPHJ0ZV9odHcuaD4gQVBJIHB1YmxpYyBhcyB3ZWxsLiBUaGF0IGlzIHdo YXQgDQpJIHRoaW5rIHlvdSBhcyBhc2tpbmcgZm9yIGhlcmU6IGEgZ2VuZXJpYyB0aW1lciB3aGVl bCB0aGF0IGRvZXNuJ3Qga25vdyANCmFueXRoaW5nIGFib3V0IHRpbWUgc291cmNlcywgdGltZSBz b3VyY2UgdGltZSAtPiB0aWNrIGNvbnZlcnNpb24sIG9yIA0KdGltZXIgc291cmNlIHRpbWUgLT4g bW9ub3RvbmljIHdhbGwgdGltZSBjb252ZXJzaW9uLCBhbmQgbWF5YmUgaXMgYWxzbyANCm5vdCBi b3VuZCB0byBhIHBhcnRpY3VsYXIgdGhyZWFkLg0KDQpJIHBpY2tlZCBUU0MgYmVjYXVzZSBpdCBz ZWVtZWQgbGlrZSBhIGdvb2QgInVuaXZlcnNhbCB0aW1lIHVuaXQiIGZvciANCkRQREsuIHJkdHNj IChhbmQgaXRzIGVxdWl2YWxlbnQpIGlzIGFsc28gYSB2ZXJ5IHByZWNpc2UgKGVzcGVjaWFsbHkg b24gDQp4ODYpIGFuZCBjaGVhcC10by1yZXRyaWV2ZSAoZXNwZWNpYWxseSBvbiBBUk0sIGZyb20g d2hhdCBJIHVuZGVyc3RhbmQpLg0KDQpUaGF0IHNhaWQsIGF0IHRoZSBtb21lbnQsIEknbSBsZWFu aW5nIHRvd2FyZCBuYW5vc2Vjb25kcyAodWludDY0X3QgDQpmb3JtYXQpIHNob3VsZCBiZSB0aGUg ZGVmYXVsdCBmb3IgdGltZXIgZXhwaXJhdGlvbiB0aW1lIGluc3RlYWQgb2YgVFNDLiANClRTQyBj b3VsZCBzdGlsbCBiZSBhbiBvcHRpb24gZm9yIHBhc3NpbmcgdGhlIGN1cnJlbnQgdGltZSwgc2lu Y2UgVFNDIA0Kd2lsbCBiZSBhIGNvbW1vbiB0aW1lIHNvdXJjZSwgYW5kIGl0IHNoYXZlcyBvZmYg b25lIGNvbnZlcnNpb24uDQoNCj4gQSB1bml0LWxlc3MgdGljayB3aWxsIGFsc28gbGV0IHRoZSBh cHBsaWNhdGlvbiBpbnN0YW50aWF0ZSBhIEhUVyB3aXRoIGhpZ2hlciByZXNvbHV0aW9uIHRoYW4g dGhlIFRTQy4gKEUuZy4gdGhpbmsgYWJvdXQgb3ZlcnNhbXBsaW5nIGluIGF1ZGlvIHByb2Nlc3Np bmcsIG9yIEJyZXplbmhhbSdzIGxpbmUgZHJhd2luZyBhbGdvcml0aG0gZm9yIDJEIHZpc3VhbHMg LSBvdmVyc2FtcGxpbmcgY2FuIHNvdW5kIGFuZCBsb29rIGJldHRlci4pDQo+IA0KPiBGb3IgcmVm ZXJlbmNlIChzdXBwb3J0aW5nIG15IHN1Z2dlc3Rpb24pLCB0aGUgZHluYW1pYyB0aW1lc3RhbXAg ZmllbGQgaW4gdGhlIHJ0ZV9tYnVmIHN0cnVjdHVyZSBpcyBhbHNvIGRlZmluZWQgYXMgYmVpbmcg dW5pdC1sZXNzLiAoSSB0aGluayBOVklESUEgaW1wbGVtZW50cyBpdCBhcyBuYW5vc2Vjb25kcywg YnV0IHRoYXQncyBhbiBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBjaG9pY2UuKQ0KPiANCj4+DQo+ PiBBIHNlbWFudGljIGltcHJvdmVtZW50IGNvbXBhcmVkIHRvIHRoZSA8cnRlX3RpbWVyLmg+IEFQ SSBpcyB0aGF0IHRoZQ0KPj4gaHRpbWVyIGxpYnJhcnkgY2FuIGdpdmUgYSBkZWZpbml0ZSBhbnN3 ZXIgb24gdGhlIHF1ZXN0aW9uIGlmIHRoZSB0aW1lcg0KPj4gZXhwaXJ5IGNhbGxiYWNrIHdhcyBj YWxsZWQsIGFmdGVyIGEgdGltZXIgaGFzIGJlZW4gY2FuY2VsZWQuDQo+Pg0KPj4gQmVsb3cgaXMg YSBwZXJmb3JtYW5jZSBkYXRhIGZyb20gRFBESydzICdhcHAvdGVzdCcgbWljcm8gYmVuY2htYXJr cywNCj4+IHVzaW5nIDEwayBjb25jdXJyZW50IHRpbWVycy4gVGhlIGJlbmNobWFya3MgKHRlc3Rf dGltZXJfcGVyZi5jIGFuZA0KPj4gdGVzdF9odGltZXJfbWdyX3BlcmYuYykgYXJlbid0IGlkZW50 aWNhbCBpbiB0aGVpciBzdHJ1Y3R1cmUsIGJ1dCB0aGUNCj4+IG51bWJlcnMgZ2l2ZSBzb21lIGlu ZGljYXRpb24gb2YgdGhlIGRpZmZlcmVuY2UuDQo+Pg0KPj4gVXNlIGNhc2UgICAgICAgICAgICAg ICBodGltZXIgIHRpbWVyDQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4+IEFkZCB0aW1lciAgICAgICAgICAgICAgICAgMjggICAgMjUzDQo+PiBDYW5jZWwgdGltZXIg ICAgICAgICAgICAgIDEwICAgIDQxMg0KPj4gQXN5bmMgYWRkIChzb3VyY2UgbGNvcmUpICA2NA0K Pj4gQXN5bmMgYWRkICh0YXJnZXQgbGNvcmUpICAxMw0KPj4NCj4+IChBTUQgNTkwMFggQ1BVLiBU aW1lIGluIFRTQy4pDQo+Pg0KPj4gUHJvdG90eXBlIGludGVncmF0aW9uIG9mIHRoZSBodGltZXIg bGlicmFyeSBpbnRvIHJlYWwsIHRpbWVyLWhlYXZ5LA0KPj4gYXBwbGljYXRpb25zIGluZGljYXRl cyB0aGF0IGh0aW1lciBtYXkgcmVzdWx0IGluIHNpZ25pZmljYW50DQo+PiBhcHBsaWNhdGlvbi1s ZXZlbCBwZXJmb3JtYW5jZSBnYWlucy4NCj4+DQo+PiBUaGUgYml0c2V0IGltcGxlbWVudGF0aW9u IHdoaWNoIHRoZSBIV1QgaW1wbGVtZW50YXRpb24gZGVwZW5kcyB1cG9uDQo+PiBzZWVtZWQgZ2Vu ZXJpYy1lbm91Z2ggYW5kIHBvdGVudGlhbGx5IHVzZWZ1bCBvdXRzaWRlIHRoZSB3b3JsZCBvZg0K Pj4gSFdUcywgdG8ganVzdGlmeSBiZWluZyBsb2NhdGVkIGluIHRoZSBFQUwuDQo+Pg0KPj4gVGhp cyBwYXRjaHNldCBpcyB2ZXJ5IG11Y2ggYW4gUkZDLCBhbmQgdGhlIGF1dGhvciBpcyB5ZXQgdG8g Zm9ybSBhbg0KPj4gb3BpbmlvbiBvbiBtYW55IGltcG9ydGFudCBpc3N1ZXMuDQo+Pg0KPj4gKiBJ ZiBkZWVtZWQgYSBzdWl0YWJsZSByZXBsYWNlbWVudCwgc2hvdWxkIHRoZSBodGltZXIgcmVwbGFj ZSB0aGUNCj4+ICAgIGN1cnJlbnQgRFBESyB0aW1lciBsaWJyYXJ5IGluIHNvbWUgcGFydGljdWxh ciAoQUJJLWJyZWFraW5nKQ0KPj4gICAgcmVsZWFzZSwgb3Igc2hvdWxkIGl0IGxpdmUgc2lkZS1i eS1zaWRlIHdpdGggdGhlIHRoZW4tbGVnYWN5DQo+PiAgICA8cnRlX3RpbWVyLmg+IEFQST8gQSBs b3Qgb2YgdGhpbmdzIGluIGFuZCBvdXRzaWRlIERQREsgZGVwZW5kIG9uDQo+PiAgICA8cnRlX3Rp bWVyLmg+LCBzbyBjb2V4aXN0ZW5jZSBtYXkgYmUgcmVxdWlyZWQgdG8gZmFjaWxpdGF0ZSBhIHNt b290aA0KPj4gICAgdHJhbnNpdGlvbi4NCj4gDQo+IEl0J3MgbXkgaW1tZWRpYXRlIGltcHJlc3Np b24gdGhhdCB0aGV5IGFyZSB0b3RhbGx5IGRpZmZlcmVudCBpbiBib3RoIGRlc2lnbiBwaGlsb3Nv cGh5IGFuZCBBUEkuDQo+IA0KPiBQZXJzb25hbCBvcGluaW9uOiBJIHdvdWxkIGNhbGwgaXQgYW4g ZW50aXJlbHkgZGlmZmVyZW50IGxpYnJhcnkuDQo+IA0KPj4NCj4+ICogU2hvdWxkIHRoZSBodGlt ZXIgYW5kIGh0dy1yZWxhdGVkIGZpbGVzIGJlIGNvbG9jYXRlZCB3aXRoIHJ0ZV90aW1lci5jDQo+ PiAgICBpbiB0aGUgdGltZXIgbGlicmFyeT8NCj4gDQo+IFBlcnNvbmFsIG9waW5pb246IE5vLiBU aGlzIGlzIGFuIGVudGlyZWx5IGRpZmZlcmVudCBsaWJyYXJ5LCBhbmQgc2hvdWxkIGxpdmUgZm9y IGl0c2VsZiBpbiBhIGRpcmVjdG9yeSBvZiBpdHMgb3duLg0KPiANCj4+DQo+PiAqIFdvdWxkIGl0 IGJlIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIHVzaW5nIGFzeW5jaHJvbm91cyBjYW5jZWwgdG8N Cj4+ICAgIGhhdmUgdGhlIG9wdGlvbiBvZiBoYXZpbmcgdGhlIHRpbWVyIGNhbGxiYWNrIHJ1biBu b3Qgb25seSBpbiBjYXNlIG9mDQo+PiAgICB0aW1lciBleHBpcmF0aW9uLCBidXQgYWxzbyBjYW5j ZWxsYXRpb24gKG9uIHRoZSB0YXJnZXQgbGNvcmUpPyBUaGUNCj4+ICAgIHRpbWVyIGNiIHNpZ25h dHVyZSB3b3VsZCBuZWVkIHRvIGluY2x1ZGUgYW4gYWRkaXRpb25hbCBwYXJhbWV0ZXIgaW4NCj4+ ICAgIHRoYXQgY2FzZS4NCj4gDQo+IElmIG9uZSB0aHJlYWQgY2FuY2VscyBzb21ldGhpbmcgaW4g YW5vdGhlciB0aHJlYWQsIHNvbWUgc3luY2hyb25pemF0aW9uIGJldHdlZW4gdGhlIHRocmVhZHMg aXMgZ29pbmcgdG8gYmUgcmVxdWlyZWQgYW55d2F5LiBTbyB3ZSBjb3VsZCByZXByYXNlIHlvdXIg cXVlc3Rpb246IFdpbGwgdGhlIGJ1cmRlbiBvZiB0aGUgb3RoZXJ3aXNlIHJlcXVpcmVkIHN5bmNo cm9uaXphdGlvbiBiZXR3ZWVuIHRoZSB0d28gdGhyZWFkcyBiZSBzaWduaWZpY2FudGx5IHJlZHVj ZWQgaWYgdGhlIGxpYnJhcnkgaGFzIHRoZSBhYmlsaXR5IHRvIHJ1biB0aGUgY2FsbGJhY2sgb24g YXN5bmNocm9ub3VzIGNhbmNlbD8NCj4gDQoNClllcy4NCg0KSW50dWl0aXZlbHksIGl0IHNlZW1z IGNvbnZlbmllbnQgdGhhdCBpZiB5b3UgaGFuZCBvZmYgYSB0aW1lciB0byBhIA0KZGlmZmVyZW50 IGxjb3JlLCB0aGUgdGltZXIgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlLCAN CnJlZ2FyZGxlc3MgaWYgdGhlIHRpbWVyIHdhcyBjYW5jZWxlZCBvciBleHBpcmVkLg0KDQpCdXQs IGFzIHlvdSBpbmRpY2F0ZSwgeW91IG1heSBzdGlsbCBuZWVkIHN5bmNocm9uaXphdGlvbiB0byBz b2x2ZSB0aGUgDQpyZXNvdXJjZSByZWNsYW1hdGlvbiBpc3N1ZS4NCg0KPiBJcyBzdWNoIGEgZmVh dHVyZSBtb3N0bHkgIk11c3QgaGF2ZSIgb3IgIk5pY2UgdG8gaGF2ZSI/DQo+IA0KPiBNb3JlIHRo b3VnaHRzIGluIHRoaXMgYXJlYS4uLg0KPiANCj4gSWYgYWRkaW5nIGFuZCBhZGRpdGlvbmFsIGNh bGxiYWNrIHBhcmFtZXRlciwgaXQgY291bGQgYmUgYW4gZW51bSwgc28gdGhlIGNhbGxiYWNrIGNv dWxkIGJlIGV4cGFuZGVkIHRvIHN1cHBvcnQgInRpbWVvdXQgKGEuay5hLiB0aW1lciBmaXJlZCki LCAiY2FuY2VsIiBhbmQgbW9yZSBldmVudHMgd2UgaGF2ZSBub3QgeWV0IGNvbWUgdXAgd2l0aCwg ZS5nLiAiZWFybHkga2ljayIuDQo+IA0KDQpZZXMsIG9yIGFuIGludC4NCg0KPiBIZXJlJ3MgYW4g aWRlYSBvZmYgdGhlIHRvcCBvZiBteSBoZWFkOiBBbiBhZGRpdGlvbmFsIGNhbGxiYWNrIHBhcmFt ZXRlciBoYXMgYSAoc21hbGwpIHBlcmZvcm1hbmNlIGNvc3QgaW5jdXJyZWQgd2l0aCBldmVyeSB0 aW1lciBmaXJlZCAod2hpY2ggaXMgYSB2ZXJ5IGxhcmdlIG11bHRpcGxpZXIpLiBJdCBtaWdodCBu b3QgYmUgcmVxdWlyZWQuIEFzIGFuIGFsdGVybmF0aXZlIHRvIGFuICJ3aGF0IGhhcHBlbmVkIiBw YXJhbWV0ZXIgdG8gdGhlIGNhbGxiYWNrLCB0aGUgY2FsbGJhY2sgY291bGQgaW52ZXN0aWdhdGUg dGhlIHN0YXRlIG9mIHRoZSBvYmplY3QgZm9yIHdoaWNoIHRoZSB0aW1lciBmaXJlZCwgYW5kIGRy YXcgaXRzIG93biBjb25jbHVzaW9uIG9uIGhvdyB0byBwcm9jZWVkLiBPYnZpb3VzbHksIHRoaXMg YWxzbyBoYXMgYSBwZXJmb3JtYW5jZSBjb3N0LCBidXQgcGVyaGFwcyB0aGUgY2FsbGJhY2sgd29y a3Mgb24gdGhlIG9iamVjdCdzIHN0YXRlIGFueXdheSwgbWFraW5nIHRoaXMgY29zdCBpbnNpZ25p ZmljYW50Lg0KPiANCg0KSXQncyBub3Qgb2J2aW91cyB0byBtZSB0aGF0IHlvdSwgaW4gdGhlIHRp bWVyIGNhbGxiYWNrLCBjYW4gZGV0ZXJtaW5lIA0Kd2hhdCBoYXBwZW5lZCwgaWYgdGhlIHNhbWUg Y2FsbGJhY2sgaXMgY2FsbGVkIGJvdGggaW4gdGhlIGNhbmNlbCBhbmQgdGhlIA0KZXhwaXJlZCBj YXNlLg0KDQpUaGUgY29zdCBvZiBhbiBleHRyYSBpbnRlZ2VyIHBhc3NlZCBpbiBhIHJlZ2lzdGVy IChvciBjaGVja2luZyBhIGZsYWcsIA0KaWYgdGhlIHRpbWVyIGNhbGxiYWNrIHNob3VsZCBiZSBj YWxsZWQgYXQgYWxsIGF0IGNhbmNlbGxhdGlvbikgdGhhdCBpcyANCnRoZSBjb25jZXJuIGZvciBt ZTsgaXQncyBleHRyYSBiaXQgb2YgQVBJIGNvbXBsZXhpdHkuDQoNCj4gSGVyZSdzIGFub3RoZXIg YWx0ZXJuYXRpdmUgdG8gYWRkaW5nIGEgIndoYXQgaGFwcGVuZWQiIHBhcmFtZXRlciB0byB0aGUg Y2FsbGJhY2s6DQo+IA0KPiBUaGUgcnRlX2h0aW1lciBjb3VsZCBoYXZlIG9uZSBtb3JlIGNhbGxi YWNrIHBvaW50ZXIsIHdoaWNoIChpZiBzZXQpIHdpbGwgYmUgY2FsbGVkIG9uIGNhbmNlbGxhdGlv biBvZiB0aGUgdGltZXIuDQo+IA0KDQpUaGlzIHdpbGwgZ3JvdyB0aGUgdGltZXIgc3RydWN0IHdp dGggMTYgYnl0ZXMuDQoNCj4+DQo+PiAqIFNob3VsZCB0aGUgcnRlX2h0aW1lciBiZSBhIG5lc3Rl ZCBzdHJ1Y3QsIHNvIHRoZSBodHcgcGFydHMgYmUgc2VwYXJhdGVkDQo+PiAgICBmcm9tIHRoZSBo dGltZXIgcGFydHM/DQo+Pg0KPj4gKiA8cnRlX2h0aW1lci5oPiBpcyBrZXB0IHNlcGFyYXRlIGZy b20gPHJ0ZV9odGltZXJfbWdyLmg+LCBzbyB0aGF0DQo+PiAgICA8cnRlX2h0dy5oPiBtYXkgYXZv aWQgYSBkZXBlZGVuY3kgdG8gPHJ0ZV9odGltZXJfbWdyLmg+LiBTaG91bGQgaXQNCj4+ICAgIGJl IHNvPw0KPj4NCj4+ICogcnRlX2h0aW1lciBzdHJ1Y3QgaXMgb25seSBzdXBwb3NlZCB0byBiZSB1 c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbiB0bw0KPj4gICAgZ2l2ZSBhbiBpbmRpY2F0aW9uIG9mIGhv dyBtdWNoIG1lbW9yeSBpdCBuZWVkcyB0byBhbGxvY2F0ZSwgYW5kIGlzDQo+PiAgICBpdHMgbWVt YmVyIGFyZSBub3Qgc3VwcG9zZWQgdG8gYmUgZGlyZWN0bHkgYWNjZXNzZWQgKHcvIHRoZSBwb3Nz aWJsZQ0KPj4gICAgZXhjZXB0aW9uIG9mIHRoZSBvd25lcl9sY29yZV9pZCBmaWVsZCkuIFNob3Vs ZCB0aGVyZSBiZSBhIGR1bW15DQo+PiAgICBzdHJ1Y3QsIG9yIGEgI2RlZmluZSBSVEVfSFRJTUVS X01FTVNJWkUgb3IgYSBydGVfaHRpbWVyX2dldF9tZW1zaXplKCkNCj4+ICAgIGZ1bmN0aW9uIGlu c3RlYWQsIHNlcnZpbmcgdGhlIHNhbWUgcHVycG9zZT8gQmV0dGVyIGVuY2Fwc3VsYXRpb24sDQo+ PiAgICBidXQgbW9yZSBpbmNvbnZlbmllbnQgZm9yIGFwcGxpY2F0aW9ucy4gUnVuLXRpbWUgZHlu YW1pYyBzaXppbmcNCj4+ICAgIHdvdWxkIGZvcmNlIGFwcGxpY2F0aW9uLWxldmVsIGR5bmFtaWMg YWxsb2NhdGlvbnMuDQo+Pg0KPj4gKiBBc3luY2hyb25vdXMgY2FuY2VsbGF0aW9uIGlzIGEgbGl0 dGxlIHRyaWNreSB0byB1c2UgZm9yIHRoZQ0KPj4gICAgYXBwbGljYXRpb24gKHByaW1hcmlseSBk dWUgdG8gdGltZXIgbWVtb3J5IHJlY2xhbWF0aW9uL3JhY2UNCj4+ICAgIGlzc3VlcykuIFNob3Vs ZCB0aGlzIGZ1bmN0aW9uYWxpdHkgYmUgcmVtb3ZlZD8NCj4+DQo+PiAqIFNob3VsZCBydGVfaHRp bWVyX21ncl9pbml0KCkgYWxzbyByZXRyaWV2ZSB0aGUgY3VycmVudCB0aW1lPyBJZiBzbywNCj4+ ICAgIHRoZXJlIHNob3VsZCB0byBiZSBhIHZhcmlhbnQgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRv IHNwZWNpZnkgdGhlDQo+PiAgICB0aW1lICh0byBtYXRjaCBydGVfaHRpbWVyX21ncl9tYW5hZ2Vf dGltZSgpKS4gT25lIHBpdGZhbGwgd2l0aCB0aGUNCj4+ICAgIGN1cnJlbnQgcHJvcG9zZWQgQVBJ IGlzIGFuIGFwcGxpY2F0aW9uIGNhbGxpbmcgcnRlX2h0aW1lcl9tZ3JfaW5pdCgpDQo+PiAgICBh bmQgdGhlbiBpbW1lZGlhdGVseSBhZGRpbmcgYSB0aW1lciB3aXRoIGEgcmVsYXRpdmUgdGltZW91 dCwgaW4NCj4+ICAgIHdoaWNoIGNhc2UgdGhlIGN1cnJlbnQgYWJzb2x1dGUgdGltZSB1c2VkIGlz IDAsIHdoaWNoIG1pZ2h0IGJlIGENCj4+ICAgIHN1cnByaXNlLg0KPj4NCj4+ICogU2hvdWxkIGxp YmRpdmlkZSAob3B0aW9uYWxseSkgYmUgdXNlZCB0byBhdm9pZCB0aGUgZGl2IGluIHRoZSBUU0Mg LT4NCj4+ICAgIHRpY2sgY29udmVyc2lvbj8gKERvZXNuJ3QgaW1wcm92ZSBwZXJmb3JtYW5jZSBv biBaZW4gMywgYnV0IG1heQ0KPj4gICAgZG8gb24gb3RoZXIgQ1BVcy4pIENvbnNpZGVyIDxydGVf cmVjaXByb2NhbC5oPiBhcyB3ZWxsLg0KPj4NCj4+ICogU2hvdWxkIHRoZSBUU0MtcGVyLXRpY2sg YmUgcm91bmRlZCB1cCB0byBhIHBvd2VyIG9mIDIsIHNvIHNoaWZ0cyBjYW4gYmUNCj4+ICAgIHVz ZWQgZm9yIGNvbnZlcnNpb24/IFZlcnkgbWlub3IgcGVyZm9ybWFuY2UgZ2FpbnMgdG8gYmUgZm91 bmQgdGhlcmUsDQo+PiAgICBhdCBsZWFzdCBvbiBaZW4gMyBjb3Jlcy4NCj4+DQo+PiAqIFNob3Vs ZCBpdCBiZSBwb3NzaWJsZSB0byBzdXBwbHkgdGhlIHRpbWUgaW4gcnRlX2h0aW1lcl9tZ3JfYWRk KCkNCj4+ICAgIGFuZC9vciBydGVfaHRpbWVyX21ncl9tYW5hZ2VfdGltZSgpIGZ1bmN0aW9ucyBh cyB0aWNrcywgcmF0aGVyIHRoYW4NCj4+ICAgIGFzIFRTQz8gU2hvdWxkIGl0IGJlIHBvc3NpYmxl IHRvIGFsc28gdXNlIG5hbm9zZWNvbmRzPw0KPj4gICAgcnRlX2h0aW1lcl9tZ3JfbWFuYWdlX3Rp bWUoKSB3b3VsZCBuZWVkIGEgZmxhZ3MgcGFyYW1ldGVyIGluIHRoYXQNCj4+ICAgIGNhc2UuDQo+ IA0KPiBEbyBub3QgdXNlIFRTQyBhbnl3aGVyZSBpbiB0aGlzIGxpYnJhcnkuIExldCB0aGUgYXBw bGljYXRpb24gZGVjaWRlIHRoZSBtZWFuaW5nIG9mIGEgdGljay4NCj4gDQo+Pg0KPj4gKiBXb3Vs ZCB0aGUgZXZlbnQgdGltZXIgYWRhcHRlciBiZSBiZXN0IG9mZiB1c2luZyA8cnRlX2h0dy5oPg0K Pj4gICAgZGlyZWN0bHksIG9yIDxydGVfaHRpbWVyLmg+PyBJbiB0aGUgbGF0dGVyIGNhc2UsIHRo ZXJlIG5lZWRzIHRvIGJlIGENCj4+ICAgIHdheSB0byBpbnN0YW50aWF0ZSBtb3JlIEhXVHMgKHNp bWlsYXIgdG8gdGhlICJhbHQiIGZ1bmN0aW9ucyBvZg0KPj4gICAgPHJ0ZV90aW1lci5oPik/DQo+ Pg0KPj4gKiBTaG91bGQgdGhlIFBFUklPRElDQUwgZmxhZyAoYW5kIHRoZSBjb21wbGV4aXR5IGl0 IGJyaW5ncykgYmUNCj4+ICAgIHJlbW92ZWQ/IEFuZCBsZWF2ZSB0aGUgYXBwbGljYXRpb24gd2l0 aCBvbmx5IHNpbmdsZS1zaG90IHRpbWVycywgYW5kDQo+PiAgICB0aGUgb3B0aW9uIHRvIHJlLWFk ZCB0aGVtIGluIHRoZSB0aW1lciBjYWxsYmFjay4NCj4gDQo+IEZpcnN0IHRob3VnaHQ6IFllcywg a2VlcCBpdCBsZWFuIGFuZCByZW1vdmUgdGhlIHBlcmlvZGljYWwgc3R1ZmYuDQo+IA0KPiBTZWNv bmQgdGhvdWdodDogVGhpcyBuZWVkcyBhIG1vcmUgZGV0YWlsZWQgYW5hbHlzaXMuDQo+IA0KPiAg RnJvbSBvbmUgYW5nbGU6DQo+IA0KPiBIb3cgbWFueSBQRVJJT0RJQ0FMIHZlcnN1cyBPTkVTSE9U IHRpbWVycyBkbyB3ZSBleHBlY3Q/DQo+IA0KDQpJIHN1c3BlY3QgeW91IHNob3VsZCBiZSBwcmVw YXJlZCBmb3IgdGhlIHJhdGlvIGJlaW5nIGFueXRoaW5nLg0KDQo+IEludHVpdGl2ZWx5LCBJIHdv dWxkIHVzZSB0aGlzIGxpYnJhcnkgZm9yIE9ORVNIT1QgdGltZXJzLCBhbmQgcGVyaGFwcyBpbXBs ZW1lbnQgbXkgcGVyaW9kaWNhbCB0aW1lcnMgYnkgb3RoZXIgbWVhbnMuDQo+IA0KPiBJZiB0aGUg UEVSSU9ESUNBTDpPTkVTSE9UIHJhdGlvIGlzIGxvdywgd2UgY2FuIHByb2JhYmx5IGxpdmUgd2l0 aCB0aGUgZXh0cmEgY29zdCBvZiBjYW5jZWwrYWRkIGZvciBhIGZldyBwZXJpb2RpY2FsIHRpbWVy cy4NCj4gDQo+ICBGcm9tIGFub3RoZXIgYW5nbGU6DQo+IA0KPiBXaGF0IGlzIHRoZSBwZXJmb3Jt YW5jZSBnYWluIHdpdGggdGhlIFBFUklPRElDQUwgZmxhZz8NCj4gDQoNCk5vbmUsIHByZXR0eSBt dWNoLiBJdCdzIGp1c3QgdGhlcmUgZm9yIGNvbnZlbmllbmNlLg0KDQo+IFdpdGhvdXQgYSBwZXJp b2RpY2FsIHRpbWVyLCBjYW5jZWwrYWRkIGNvc3RzIDEwKzI4IGN5Y2xlcy4gSG93IG1hbnkgY3lj bGVzIHdvdWxkIGEgIm1vdmUiIGZ1bmN0aW9uLCBwZXJmb3JtaW5nIGJvdGggY2FuY2VsIGFuZCBh ZGQsIHVzZT8NCj4gDQo+IEFuZCB0aGVuIGNvbXBhcmUgdGhhdCB0byB0aGUgY29zdCAoaW4gY3lj bGVzKSBvZiByZXBlYXRpbmcgYSB0aW1lciB3aXRoIFBFUklPRElDQUw/DQo+IA0KPiBGdXJ0aGVy bW9yZSwgbm90IGhhdmluZyB0aGUgUEVSSU9ESUNBTCBmbGFnIHByb2JhYmx5IGltcHJvdmVzIHRo ZSBwZXJmb3JtYW5jZSBmb3Igbm9uLXBlcmlvZGljYWwgdGltZXJzLiBIb3cgbWFueSBjeWNsZXMg Y291bGQgd2UgZ2FpbiBoZXJlPw0KPiANCj4gDQo+IEFub3RoZXIsIHZhZ3VlbHkgcmVsYXRlZCwg aWRlYToNCj4gDQo+IFRoZSBjYWxsYmFjayBwb2ludGVyIG1pZ2h0IG5vdCBuZWVkIHRvIGJlIHN0 b3JlZCBwZXIgcnRlX2h0aW1lciwgYnV0IGNvdWxkIGluc3RlYWQgYmUgY29tbW9uIGZvciB0aGUg cnRlX2h0dy4NCj4gDQoNCkRvIHlvdSBtZWFuIHJ0ZV9odHcsIG9yIHJ0ZV9odGltZXJfbWdyPw0K DQpJZiB5b3UgbWFrZSBvbmUgY29tbW9uIGNhbGxiYWNrLCBhbGwgdGhlIGRpZmZlcmVudCBwYXJ0 cyBvZiB0aGUgDQphcHBsaWNhdGlvbiBuZWVkcyB0byBiZSBjb29yZGluYXRlZCAoaW4gYSBiaWcg c3dpdGNoLXN0YXRlbWVudCwgb3IgDQpzb21ldGhpbmcgb2YgdGhhdCBzb3J0KSwgb3IgaGF2ZSBz b21lIGNvbnZlbnRpb24gZm9yIHVzaW5nIGFuIA0KYXBwbGljYXRpb24tc3BlY2lmaWMgd3JhcHBl ciBzdHJ1Y3R1cmUgKGFjY2Vzc2VkIHZpYSBjb250YWluZXJfb2YoKSkuDQoNClRoaXMgaXMgYSBw cm9ibGVtIGlmIHRoZSB0aW1lciBzZXJ2aWNlIEFQSSBjb25zdW1lciBpcyBhIHNldCBvZiBsYXJn ZWx5IA0KdW5jb29yZGluYXRlZCBzb2Z0d2FyZSBtb2R1bGVzLg0KDQpCdHcsIHRoZSBldmVudGRl diBBUEkgaGFzIHRoZSBzYW1lIGlzc3VlLCBhbmQgdGhlIHByb3Bvc2VkIGV2ZW50IA0KZGlzcGF0 Y2hlciBpcyBvbmUgd2F5IHRvIGhlbHAgZmFjaWxpdGF0ZSBhcHBsaWNhdGlvbi1pbnRlcm5hbCBk ZWNvdXBsaW5nLg0KDQpGb3IgYSBtb2R1bGUtcHJpdmF0ZSBydGVfaHR3IGluc3RhbmNlIHlvdXIg c3VnZ2VzdGlvbiBtYXkgd29yaywgYnV0IG5vdCANCmZvciA8cnRlX2h0aW1lcl9tZ3IuaD4uDQoN Cj4gV2hlbiBhIHRpbWVyIGZpcmVzLCB0aGUgY2FsbGJhY2sgcHJvYmFibHkgbmVlZHMgdG8gY2hl Y2svdXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgb2JqZWN0IGZvciB3aGljaCB0aGUgdGltZXIgZmly ZWQgYW55d2F5LCBzbyB3aHkgbm90IGp1c3QgbGV0IHRoZSBhcHBsaWNhdGlvbiB1c2UgdGhhdCBz dGF0ZSB0byBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIGFjdGlvbi4gVGhpcyBtaWdodCBwcm92 aWRlIHNvbWUgcGVyZm9ybWFuY2UgYmVuZWZpdC4NCj4gDQo+IEl0IG1pZ2h0IGNvbXBsaWNhdGUg dXNpbmcgb25lIEhUVyBmb3IgbXVsdGlwbGUgZGlmZmVyZW50IHB1cnBvc2VzLCB0aG91Z2guIFBy b2JhYmx5IGEgdXNlbGVzcyBpZGVhLCBidXQgSSB3YW50ZWQgdG8gc2hhcmUgdGhlIGlkZWEgYW55 d2F5LiBJdCBtaWdodCB0cmlnZ2VyIG90aGVyLCBiZXR0ZXIgaWRlYXMgaW4gdGhlIGNvbW11bml0 eS4NCj4gDQo+Pg0KPj4gKiBTaG91bGQgdGhlIGFzeW5jIHJlc3VsdCBjb2RlcyBhbmQgdGhlIHN5 bmMgY2FuY2VsIGVycm9yIGNvZGVzIGJlIG1lcmdlZA0KPj4gICAgaW50byBvbmUgc2V0IG9mIHJl c3VsdCBjb2Rlcz8NCj4+DQo+PiAqIFNob3VsZCB0aGUgcnRlX2h0aW1lcl9tZ3JfYXN5bmNfYWRk KCkgaGF2ZSBhIGZsYWcgd2hpY2ggYWxsb3cNCj4+ICAgIGJ1ZmZlcmluZyBhZGQgcmVxdWVzdCBt ZXNzYWdlcyB1bnRpbCBydGVfaHRpbWVyX21ncl9wcm9jZXNzKCkgaXMNCj4+ICAgIGNhbGxlZD8g T3IgYW55IG1hbmFnZSBmdW5jdGlvbi4gV291bGQgcmVkdWNlIHJpbmcgc2lnbmFsaW5nIG92ZXJo ZWFkDQo+PiAgICAoaS5lLiwgYnVyc3QgZW5xdWV1ZSBvcGVyYXRpb25zIGluc3RlYWQgb2Ygc2lu Z2xlLWVsZW1lbnQNCj4+ICAgIGVucXVldWUpLiBDb3VsZCBhbHNvIGJlIGEgcnRlX2h0aW1lcl9t Z3JfYXN5bmNfYWRkX2J1cnN0KCkgZnVuY3Rpb24sDQo+PiAgICBzb2x2aW5nIHRoZSBzYW1lICJw cm9ibGVtIiBhIGRpZmZlcmVudCB3YXkuIChUaGUgc2lnbmF0dXJlIG9mIHN1Y2gNCj4+ICAgIGEg ZnVuY3Rpb24gd291bGQgbm90IGJlIHByZXR0eS4pDQo+Pg0KPj4gKiBEb2VzIHRoZSBmdW5jdGlv bmFsaXR5IHByb3ZpZGVkIGJ5IHRoZSBydGVfaHRpbWVyX21ncl9wcm9jZXNzKCkNCj4+ICAgIGZ1 bmN0aW9uIG1hdGNoIGl0cyB0aGUgdXNlIGNhc2VzPyBTaG91bGQgdGhlcmUgbWUgYSBtb3JlIGNs ZWFyDQo+PiAgICBzZXBhcmF0aW9uIGJldHdlZW4gZXhwaXJ5IHByb2Nlc3NpbmcgYW5kIGFzeW5j aHJvbm91cyBvcGVyYXRpb24NCj4+ICAgIHByb2Nlc3Npbmc/DQo+Pg0KPj4gKiBTaG91bGQgdGhl IHBhdGNoc2V0IGJlIHNwbGl0IGludG8gbW9yZSBjb21taXRzPyBJZiBzbywgaG93Pw0KPj4NCj4+ IFRoYW5rcyB0byBFcmlrIENhcnJpbGxvIGZvciBoaXMgYXNzaXN0YW5jZS4NCj4+DQo+PiBNYXR0 aWFzIFLDtm5uYmxvbSAoMik6DQo+PiAgICBlYWw6IGFkZCBiaXRzZXQgdHlwZQ0KPj4gICAgZWFs OiBhZGQgaGlnaC1wZXJmb3JtYW5jZSB0aW1lciBmYWNpbGl0eQ0KDQo=