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 008FFA0A0B; Mon, 1 Feb 2021 14:52:33 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DA6F2160655; Mon, 1 Feb 2021 14:52:33 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 2AAD6160652 for ; Mon, 1 Feb 2021 14:52:32 +0100 (CET) IronPort-SDR: xd3AkTClEMUvjeZDc74g7gEOeo2jCQefI52p0wrUXgmcJBDpgw/c+ddANuLwig7gRJvBnQKHd7 xXvkTRFdbVYQ== X-IronPort-AV: E=McAfee;i="6000,8403,9881"; a="244767724" X-IronPort-AV: E=Sophos;i="5.79,392,1602572400"; d="scan'208";a="244767724" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Feb 2021 05:52:30 -0800 IronPort-SDR: PGUO7WDB1Iof962Oeio31pUmy+Wu/5cIr+GeqiFYp3IJUA0xo7MoankeriW11779UpO3Z1A6M/ jaV5iJKtHnwg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,392,1602572400"; d="scan'208";a="395615473" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga007.jf.intel.com with ESMTP; 01 Feb 2021 05:52:30 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 1 Feb 2021 05:52:30 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 1 Feb 2021 05:52:29 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Mon, 1 Feb 2021 05:52:29 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.103) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 1 Feb 2021 05:50:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JbJ8kEL4fJOT0fj+fVtRxkC1V4Ylb8nHHwpEbmVCdxPuwKAFCPU/zPd0iid0IFib6JCSszv2HoQTyqIdsUj3tbeFKFWWl5RtuHuVGZHGJAOBFB2OUQGrjpQ1vUt2op+snHgB5pJN+y1/O+UTNI/qkQ3SD7Jgx3LWdSFfAiUnMIIg1Ci4ytSmXFFP11DVSkhlt1+potKnjUEAw7HStZPgenYt4tZ2WgwyTNaf5B6eCgPZE10vxcNvkrK6id7qCBehUcN9576YmIaEwVRi+vQUpha5/UCxW3CA0tXsr+sVhV53DfttUoet0YGacf+UisyhWameg+fDQizucqLXUXkVHA== 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=05IIc1EZJgiufUR01NgyUqDBPEI1QqwPzm6UAImdg7g=; b=YK10rIz3vDALsu5oMY0Fle3MueVpeVFxVsEwvJpIiZCQOr5C22KXUoQtOFcvZsryOL3GWTeRS2cBPq4bIO1BvVNQCPxuECoORjKFkYUC1eOKnHpZcLKajKm/Jdc+Wx2ugdDrZOy/PtHZUvavwvtjVVoxGBdFKHlAEEQjZQBsAw7lkpAM1YJjv5Aob23ZmzEc12Hh6I9+PIqdpIMsZlxcNlSiFS+iv7jRkliZ/8CCibt6igCtxcjh9FKkVJM/jOyt92y50BJeGyt00nflEvwbCf5sOpXUhhAM9R7Dqd0SF9/QMqIyf2U26gBW4qqaJw1cWvncv7no32760P9TQqHPpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=05IIc1EZJgiufUR01NgyUqDBPEI1QqwPzm6UAImdg7g=; b=eQxxyCCFhoiSA4Pug/gG8OVPPVGI+lhR6UIPan56uIn5qltiBrgRab82ZcE+g0407UJ66I4laxehKDynRTGOkhSlg4uwFDC01jAFJf0ce+b7M1R6CnSAVnQhtQvuVwlp112zRywr9X8jOxMnt9SZZoUlzoAz0Vzfw/cF4NzmG24= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB3302.namprd11.prod.outlook.com (2603:10b6:a03:7b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.23; Mon, 1 Feb 2021 13:50:53 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::1152:1426:8a4f:c755]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::1152:1426:8a4f:c755%4]) with mapi id 15.20.3805.024; Mon, 1 Feb 2021 13:50:53 +0000 From: "Ananyev, Konstantin" To: Feifei Wang , Honnappa Nagarahalli , Stephen Hemminger CC: "dev@dpdk.org" , nd , Ruifeng Wang , nd , nd Thread-Topic: [dpdk-dev] [PATCH v1 1/2] app/test: remove unnecessary barriers for ring stress test Thread-Index: AQHW2CwQ96/sxptInkmsLdK5Uf3RAKoDBLrQgDlLZACAAQV0AIAA1LsAgAAcNYCAAVZvAIADnZ8AgABXDpA= Date: Mon, 1 Feb 2021 13:50:53 +0000 Message-ID: References: <20201222063054.44429-1-feifei.wang2@arm.com> <20201222063054.44429-2-feifei.wang2@arm.com> <20210128205847.509412db@hermes.local> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1ca855da-8d5b-4bb9-5b05-08d8c6b86488 x-ms-traffictypediagnostic: BYAPR11MB3302: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZpBQSWXwewEDRovEOcPIyCcixGzI4YHVfNcyamRHs3sSG8eWjCUnziVX8B0PMTBb1aJYP8SXGcZpNZukRwpkGr4A++On5YUhbxhGIqxXaYCM6beNUc3xDTVFKaSSjR2o9nX7z5j2tVXG8OfgXmW44ysikb8f53DvmXl95bgj4CQKSgwnlh3iOcF/XnjKRAuNohpv7SLfLEbDvh/Su+4s5bMZr92NO+0mBuixRQB5A/wmrI6IDZjd/1F8mvEyfh0/WS6yQmdUtxaktZS7RbmgD2ZdKU3e9MMCxTWC42bfTNpkEQB5iFomGAdXZrmKEAJm1gMA6LF44kjGWcwbftNVgUbUrqxczSr8CAABznmudIGFbiIvf8hnGb3eSyRTvgqbBxrXENKyzCY9JpJ/ZfZnd6ytAhkQjlw9Ej05DVjDXtyuSOWjjkiRIVLRsEhhSUKZCsfeEMQe3e7fTs6LttegEELmGdFlk75eBq3UKzKXz3cUGgmRX+3MCZ1NvEmK/58Zf1FmG3c3w5XxPO5QfN3Nsw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(346002)(366004)(136003)(66446008)(52536014)(66476007)(66946007)(5660300002)(33656002)(64756008)(66556008)(316002)(76116006)(110136005)(71200400001)(54906003)(26005)(83380400001)(186003)(6506007)(7696005)(86362001)(8936002)(478600001)(4326008)(2906002)(9686003)(55016002)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?NUVtb1g2eHdHWHlkK3p0U2VubEJCVWxUbThoZkNXSGpWYnA0Mm1qZ1g5REdF?= =?utf-8?B?MjJWdWZZNnhHMkxMTXhVSnJrRjg3QmkzakZuRmtGR3ExTzQwTlllUmVNL25j?= =?utf-8?B?elNFRWNIU3F3MVVMdGRtM2YyM0RReW82UWpBR2xUZXNHV2orbGorK0FJUCth?= =?utf-8?B?Z04yUUFMQXB4Zm1VL2tNZE1ERkp6VUF5cEhpOUcrYzk1MkxwOS81cEd2OVJB?= =?utf-8?B?R1dpUnNDMUlvZCs0YlpjT2FLdTlaZVdIL3J0N3k5TDNhWUluWXo5SUlHOXV0?= =?utf-8?B?VS82dkprWUJ0aWpsUWQ5TDcxelZPS0pLTFZuTGRmUFpKOFUvMml5NWJFMGZR?= =?utf-8?B?cDl2clJ2a1RMMVE2djNnb1ZNVWUyL29kTDdEYTJBaHVHZXZ0Vm5sU3B1RkFn?= =?utf-8?B?eGdqK0o2ZmlkNWlybkhiaW4vckQ2R0Y0K3dWQ011RVhKL0JGQ2NJdjE1S09w?= =?utf-8?B?OE5iRUYzd0tPT0ZuWlpVY3htaGpKTXdzSHVzVXBYRmFsWjhRZWtzRVVNM3lX?= =?utf-8?B?S2RsS2h1UmlPaDZ6eWRoUE5NZzMyQzFqWkdwbmU0QjJQRlkrQWRybFp0c0R2?= =?utf-8?B?eWF1b0JqTHh6YldnTEM0MlJBV1EzbnprN1FXQXJUNk9PNXRDaDNSTWZjekw2?= =?utf-8?B?dmpMSlFMTm1LUmFSeEV5WnlUWmpXUWdPa2hZNGVJc2tsdnBIRkFhQ2xZcnNW?= =?utf-8?B?VHVMaHY2K2FpZFNqc2wzdU1RaVUzNmpTNmx4OEhNcUxHNU5IV0RzN25nY21J?= =?utf-8?B?WGwwUkJobWt5SnZoS3p0UllMZHVJWm51bGk3cjZIZVVGaUFlWk9CSTJQUkRE?= =?utf-8?B?eW1ibmV0TjY0V2FKRTBXTnI3VThvVWp2akMzYjFLWGduNmxPT1JNd0E4WVQ5?= =?utf-8?B?Z1RES2RtZ0ZXWm1NV2xpYXMwb3JTTmQ1MTNxYWhlK2dMa25HS2h1cmtlQ1JL?= =?utf-8?B?dXBsRlhKaFptL0FHUTZNeVY0eGdDaTV3NndES2FORVJoc0VrTlZodFNLcGFL?= =?utf-8?B?a3ZRRzdRbFNjdEJka3Njc25wSVRNTnNVekE2RWpKb29jd3lrc0I4YklHWldv?= =?utf-8?B?MXNSNW1QeStzUmljdDF4TmpRVWo0NFM0SVRTY3BQM0tMZ3R6a1dlZks2a0FL?= =?utf-8?B?YXRHck1TRGtmQjlucUprL0oxaHlsd2hmQjVaNHl2emx5R3JnMkhmY3ZqVzgz?= =?utf-8?B?ZmFZV25YMVAvR2xnYzRJTmVvT3RuOVZlb0loSlk1aFJwNnByRGpSTXdESTI0?= =?utf-8?B?Q0N1ZlJKR2VnL1pWeWlkMUVTQjdSUGl6YTFYUExEZWlpeEFlNVJZSWlLdEFV?= =?utf-8?B?aExkallLd1lYbHg5c2Q3bE9HVVc2T0hqenlFWk15SFgxdEs0UUVyUWFQenk3?= =?utf-8?Q?tUcxjZCL2DqBxyTiyJZk62DViskVtxJ0=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ca855da-8d5b-4bb9-5b05-08d8c6b86488 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 13:50:53.4056 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GHkfHqfq+nJZzuDoTCbe4iejNC86OVTTC/8YGC1QdZQcHoxomhKjgxGsln32DzcdPqYTwakfO4RVWahDiDfZtVYMbCkTQ7dNfGI6auUu1cA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3302 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 1/2] app/test: remove unnecessary barriers for ring stress test 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" SGkgRmVpZmVpLA0KDQo+IA0KPiBIaSwgSG9ubmFwcGEsIEtvbnN0YW50aW4gYW5kIFN0ZXBoZW4N Cj4gDQo+IFRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgYXR0ZW50aW9uIG9mIHRoaXMgcGF0Y2gu IEJhc2VkIG9uIHlvdXIgb3BpbmlvbiwgUnVpZmVuZyBhbmQgSSBkaXNjdXNzIGFib3V0IHRoaXMg YW5kIG1ha2UgYSBzdW1tYXJ577yaDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+IF9fXw0KPiAJCQkJCQltYWluIHRocmVhZAkJCQkJ CXdvcmtlciB0aHJlYWQNCj4gcnRlX2VhbF9yZW1vdGVfbGF1bmNoOg0KPiAJWyBIb25uYXBwYSBm b2N1cyBdDQo+IA0KPiAJVG8gZW5zdXJlIGYgY2FuIGxvYWQgY29ycmVjdCBhcmcsDQo+IA0KPiAJ YXJnIHN0b3JlIHNob3VsZCBiZWZvcmUgZg0KPiAJCQkJCQlsY29yZV9jb25maWdbd29ya2VyX2lk XS5mID0gZjsNCj4gCQkJCQkJbGNvcmVfY29uZmlnW3dvcmtlcl9pZF0uYXJnID0gYXJnOw0KPiAJ CQkJCQl3bWIoKT8gb3Igc3RvcmUtcmVsYXNlIG9uIGY/DQo+IA0KPiAJCQkJCQkJCQkJZWFsX3Ro cmVhZF9sb29wOg0KPiAJCQkJCQlwaXBlbGluZV9jb21tdW5pY2F0aW9uCS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0+CXBpcGVsaW5lX2NvbW11bmljYXRpb24NCj4gCQkJCQkJCQkJCQkJCWlmIChsY29y ZV9jb25maWdbbGNvcmVfaWRdLmYgPT0NCj4gTlVMTCkNCj4gCQkJCQkJCQkJCQkJCXJ0ZV9wYW5p YygiTlVMTCBmdW5jdGlvbg0KPiBwb2ludGVyXG4iKTsNCj4gDQo+IAkJCQkJCQkJCQkJCQlmY3Rf YXJnID0NCj4gbGNvcmVfY29uZmlnW2xjb3JlX2lkXS5hcmc7DQo+IAkJCQkJCQkJCQkJCQlyZXQg PQ0KPiBsY29yZV9jb25maWdbbGNvcmVfaWRdLmYoZmN0X2FyZyk7DQo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IF9fDQo+IA0KPiB0 ZXN0X3Jpbmdfc3RyZXNzOgkJCQl3bWIoKT8NCj4gCVsgS29uc3RhbnRpbiBmb2N1cyBdDQo+IAkJ CQkJCQkJCQl0ZXN0X3dvcmtlcjoNCj4gCU1haW4gdGhyZWFkIGNhbiB1c2Ugd3JrX2NtZCB0bw0K PiAJCQkJCQlXcmtfY21kID1XUktfQ01EX1JVTjsJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4JV3Jr X2NtZCA9PSBXUktfQ01EX1JVTjsNCj4gCWNvbnRyb2wgbXVsdGlwbGUgdGhyZWFkcyB0byBzdGFy dCBydW5uaW5nDQo+IAkJCQkJCQkJCQkJCQl3bWIoKT8NCj4gCWF0IHRoZSBzYW1lIHRpbWUgYXMg bXVjaCBhcyBwb3NzaWJsZQ0KPiAJCQkJCQkJCQkJCQkJcmluZ19kZXF1ZXVlOw0KPiAJCQkJCQkJ CQkJCQkJcmluZ19lbnF1ZXVlOw0KPiAJCQkJCQlXcmtfY21kID1XUktfQ01EX1NUT1A7CS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0+CVdya19jbWQgPT0gV1JLX0NNRF9TVE9QOw0KPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBfX18NCj4g DQo+IHJ0ZV9lYWxfd2FpdF9sY29yZToJCQkJCQkJCQkJCXdtYigpDQo+IAlbIEhvbm5hcHBhIGZv Y3VzIF0NCj4gCQkJCWxjb3JlX2NvbmZpZ1tsY29yZV9pZF0uc3RhdGUgPT0gRklOSVNIRUQJPC0t LS0tLS0tLS0tLS0tLS0tLS0tLQlsY29yZV9jb25maWdbbGNvcmVfaWRdLnN0YXRlID0NCj4gRklO SVNIRUQJTG9hZC1hY3F1aXJlIGFuZCBzdG9yZS1yZWxlYXNlDQo+IA0KPiAJYXJlIHVzZWQgb24g dGhlIHZhcmlhYmxlIOKAnHN0YXRl4oCdDQo+IAkJCQkJCXJtYigpOw0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBfX18NCj4gDQo+ IEZyb20gdGhlIHBpY3R1cmUgYWJvdmUsDQo+IA0KPiAxLkZpcnN0LCBmb3IgdGhlIHVuZGVybHlp bmcgZnVuY3Rpb24gcnRlX2VhbF9yZW1vdGVfbGF1bmNoLCBIb25uYXBwYSBmb2N1c2VzIG9uIHRo YXQsDQo+IHBpcGVsaW5lX2NvbW11bmljYXRpb24gY2Fubm90IGVuc3VyZSDigJhhcmfigJkgcGFy YW1ldGVycyBpcyBsb2FkZWQgY29ycmVjdGx5IGJ5DQo+IHRoZSB3b3JrZXIgdGhyZWFkLg0KPiBU aGlzIGlzIGJlY2F1c2UgaW4gd2VhayBtZW1vcnkgb3JkZXIgZnJhbWV3b3JrLCBtYXliZSB0aGUg bWFpbiB0aHJlYWQgYW5kIHdvcmtlcg0KPiB0aHJlYWQgZmlyc3RseSBmaW5pc2ggcGlwZWxpbmUg Y29tbXVuaWNhdGlvbiwgYW5kIHRoZW4gdGhlIHdvcmtlciB0aHJlYWQgcmVjZWl2ZSBzaWduYWwN Cj4gYW5kIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uIOKAmCBmIOKAmS4gSG93ZXZlciwgaXQgbWF5YmUg bG9hZCBhIHdyb25nIHZhbHVlIG9mIOKAmGFyZ+KAmSBkdWUgdG8gdGhhdA0KPiB0aGUgbWFpbiB0 aHJlYWQgc3RvcmVzIOKAmGFyZ+KAmSBhZnRlciBwaXBlbGluZSBjb21tdW5pY2F0aW9uLiBTbyB3 bWIgb3Igc3RvcmVfcmVsZWFzZSBpcw0KPiBuZWNlc3NhcnkgZm9yIOKAmGFyZ+KAmS4NCj4gDQo+ IDIuU2Vjb25kLCBmb3IgdGhlIHVwcGVyLWxheWVyIHRlc3RfcmluZ19zdHJlc3MsIEtvbnN0YW50 aW4gZm91Y2VzZSBvbiB0aGF0LA0KPiBXaGV0aGVyIHRoZSBtYWluIHRocmVhZCBjYW4gdXNlIOKA mHdya19jbWTigJkgdG8gY29udHJvbCBtdWx0aXBsZSB0aHJlYWRzIHRvIHJ1biBhdCB0aGUNCj4g c2FtZSB0aW1lIGFzIG11Y2ggYXMgcG9zc2libGUuDQo+IEJlY2F1c2UgcnRlX2VhbF9yZW1vdGVf bGF1bmNoIG9ubHkgY2FuIGNvbW11bmljYXRlcyB3aXRoIG9uZSB3b3JrZXIgdGhyZWFkDQo+IGF0 IHRoZSBzYW1lIHRpbWUuIFRoaXMgbWVhbnMgc29tZSB3b3JrZXIgdGhyZWFkIG1heWJlIHN0YXJ0 IHdvcmtpbmcgdmVyeSBlYXJseSBidXQgb3RoZXINCj4gd29ya2VyIHRocmVhZHMgbWF5YmUgbmVl ZCB0byB3YWl0IGEgbG9uZyB0aW1lIHRvIHN0YXJ0IHdvcmtpbmcgaWYgIOKAmHdya19jbWQnIGlz IHN0b3JlZCAnUlVOJyBmbGFnDQo+IGJlZm9yZSBydGVfcmVtb3RlX2xhdW5jaC4NCj4gQXQgbGFz dCwgZm9yIHVuaXQgdGVzdCwgdGhpcyBtYXkgY2F1c2UgdGhhdCB0aGUgdGVzdCByZXN1bHRzIGFy ZSBub3Qgc3RhYmxlLg0KPiANCj4gMy5UaGlyZCwgZm9yIHJ0ZV9lYWxfd2FpdF9sY29yZSwgSG9u bmFwcGEgZm9jdXNlcyBvbiB0aGF0IHRoZSDigJhzdGF0ZeKAmSBhcyBhICAgc3luY2hyb25vdXMg YmFyaWFibGUsDQo+IHdlIHNob3VsZCBhZGQgbG9hZC1hY3F1aXJlIGFuZCBzdG9yZS1yZWxlYXNl IG9uIGl0LiBIb3dldmVyLCB0aGVyZSBoYXZlIGJlZW4gcm1iIGFuZCB3bWINCj4gYWZ0ZXIgYW5k IGJlZm9yZSDigJhzdGF0ZeKAmSwgU28gSeKAmW0gbm90IHN1cmUgd2hldGhlciB3ZSBzaG91bGQg cmVwbGFjZSB0aGVtLg0KPiANCj4gSW4gc3VtbWFyeSwgSSB0aGluayBIb25uYXBwYSBhbmQgS29u c3RhbnRpbiBoYXZlIGRpZmZlcmVudCBjb25jZXJucy4NCj4gRm9yIEhvbm5hcHBhLCB3ZSBjYW4g YWRkIHdtYiBvciBzdG9yZS1yZWxlYXNlIHRvIGVuc3VyZSB0aGUg4oCYYXJn4oCZIGNhbiBiZSBs b2FkZWQgY29ycmVjdGx5DQo+IGluIHJ0ZV9lYWxfcmVtb3RlX2xhdW5jaC4NCj4gRm9yIEtvbnN0 YW50aW4sIHdlIGNhbiBhZGQgd21iIGFuZCBybWIgdG8gZW5zdXJlIHRoZSBtYWluIHRocmVhZCBj YW4gY29udHJvbCB0aGUgd29ya2VyDQo+IFRocmVhZHMgdG8gcnVuIGF0IHRoZSBzYW1lIHRpbWUs IGFuZCB0aGVuIG1ha2UgdGhlIHRlc3QgcmVzdWx0cyBtb3JlIGFjY3VyYXRlIGluIHRoZQ0KPiBy aW5nX3N0cmVzc190ZXN0Lg0KDQpBZ3JlZSB3aXRoIGJvdGguDQoNCj4gDQo+IA0KPiBCZXN0IFJl Z2FyZHMNCj4gRmVpZmVpDQo+IA0KPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiDlj5Hk u7bkuro6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29t Pg0KPiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDHmnIgzMOaXpSA5OjI0DQo+ID4g5pS25Lu25Lq6 OiBTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+DQo+ID4g5oqE 6YCBOiBBbmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsg RmVpZmVpIFdhbmcNCj4gPiA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBkZXZAZHBkay5vcmc7IG5k IDxuZEBhcm0uY29tPjsgUnVpZmVuZw0KPiA+IFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsg SG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47 IG5kIDxuZEBhcm0uY29tPg0KPiA+IOS4u+mimDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYxIDEv Ml0gYXBwL3Rlc3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSBiYXJyaWVycw0KPiA+IGZvciByaW5nIHN0 cmVzcyB0ZXN0DQo+ID4NCj4gPiA8c25pcD4NCj4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEhpIEZlaWZlaSwNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFRoZSB2YXJpYWJsZSAid3JrX2NtZCIgaXMgYSBz aWduYWwgdG8gY29udHJvbCB0aHJlYWRzIGZyb20NCj4gPiA+ID4gPiA+ID4gPiBydW5uaW5nIGFu ZCBzdG9wcGluZy4gV2hlbiB3b3JrZXIgbGNvcmVzIGxvYWQgIndya19jbWQgPT0NCj4gPiA+ID4g PiBXUktfQ01EX1JVTiIsDQo+ID4gPiA+ID4gPiA+ID4gdGhleQ0KPiA+ID4gPiA+ID4gPiBzdGFy dA0KPiA+ID4gPiA+ID4gPiA+IHJ1bm5pbmcgYW5kIHdoZW4gd29ya2VyIGxjb3JlcyBsb2FkICJ3 cmtfY21kID09DQo+ID4gPiA+ID4gPiA+ID4gV1JLX0NNRF9TVE9QIiwNCj4gPiA+ID4gPiA+ID4g dGhleQ0KPiA+ID4gPiA+ID4gPiA+IHN0b3AuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiBGb3IgdGhlIHdtYiBpbiB0ZXN0X210MSwgbm8gc3RvcmluZyBvcGVyYXRpb25zIG11c3Qg a2VlcCB0aGUNCj4gPiA+ID4gPiA+ID4gPiBvcmRlciBhZnRlciBzdG9yaW5nICJ3cmtfY21kIi4g VGh1cyB0aGUgd21iIGlzIHVubmVjZXNzYXJ5Lg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiBJIHRoaW5rIHRoZXJlIGlzIGEgYnVnIGluIG15IG9yaWdpbmFsIGNvZGUsIHdlIHNob3VsZCBk bw0KPiA+ID4gPiA+ID4gPiBzbXBfd21iKCkNCj4gPiA+ID4gPiA+ID4gKmJlZm9yZSogc2V0dGlu ZyB3cmtfY21kLCBub3QgYWZ0ZXI6DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICAgICAg ICAgLyogbGF1bmNoIG9uIGFsbCB3b3JrZXJzICovDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgUlRF X0xDT1JFX0ZPUkVBQ0hfV09SS0VSKGxjKSB7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAg ICBhcmdbbGNdLnJuZyA9IHI7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBhcmdbbGNd LnN0YXRzID0gaW5pdF9zdGF0Ow0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgcnRlX2Vh bF9yZW1vdGVfbGF1bmNoKHRlc3QsICZhcmdbbGNdLCBsYyk7DQo+ID4gPiA+ID4gPiA+ICAgICAg ICAgfQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgICAgICAgIC8qIHNpZ25hbCB3b3Jr ZXIgdG8gc3RhcnQgdGVzdCAqLw0KPiA+ID4gPiA+ID4gPiArICAgICAgcnRlX3NtcF93bWIoKTsN Cj4gPiA+ID4gPiA+ID4gICAgICAgICB3cmtfY21kID0gV1JLX0NNRF9SVU47DQo+ID4gPiA+ID4g PiA+IC0gICAgICAgcnRlX3NtcF93bWIoKTsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g ICAgICAgICB1c2xlZXAocnVuX3RpbWUgKiBVU19QRVJfUyk7DQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEkgc3RpbGwgdGhpbmsgd2UnZCBiZXR0ZXIgaGF2ZSBz b21lIHN5bmNocm9uaXNhdGlvbiBoZXJlLg0KPiA+ID4gPiA+ID4gPiBPdGhlcndpc2Ugd2hhdCB3 b3VsZCBwcmV2ZW50IGNvbXBpbGVyIGFuZC9vciBjcHUgdG8gdXBkYXRlDQo+ID4gPiA+ID4gPiA+ IHdya19jbWQgb3V0IG9mIG9yZGVyIChiZWZvcmUgX2luaXRfIHBoYXNlIGlzIGNvbXBsZXRlZCk/ DQo+ID4gPiA+ID4gPiA+IFdlIHByb2JhYmx5IGNhbiBzYWZlbHkgYXNzdW1lIG5vIHJlb3JkZXJp bmcgZnJvbSB0aGUgY29tcGlsZXINCj4gPiA+ID4gPiA+ID4gaGVyZSwgYXMgd2UgaGF2ZSBmdW5j dGlvbiBjYWxscyBzdHJhaWdodCBiZWZvcmUgYW5kIGFmdGVyDQo+ID4gPiA+ID4gPiA+ICd3cmtf Y21kID0NCj4gPiA+ID4gPiBXUktfQ01EX1JVTjsnDQo+ID4gPiA+ID4gPiA+IEJ1dCBmb3IgY29u c2lzdGVuY3kgYW5kIGVhc2llciBtYWludGVuYW5jZSwgSSBzdGlsbCB0aGluayBpdA0KPiA+ID4g PiA+ID4gPiBpcyBiZXR0ZXIgdG8gaGF2ZSBzb21ldGhpbmcgaGVyZSwgYWZ0ZXIgYWxsIGl0IGlz IG5vdA0KPiA+ID4gPiA+ID4gPiBwZXJmb3JtYW5jZSBjcml0aWNhbA0KPiA+ID4gcGFzcy4NCj4g PiA+ID4gPiA+IEFncmVlIHRoYXQgdGhpcyBpcyBub3QgcGVyZm9ybWFuY2UgY3JpdGljYWwuDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhpcyBpcyBtb3JlIGFib3V0IGNvcnJlY3RuZXNzIChh cyB1c3VhbGx5IHBlb3BsZSByZWZlciB0byBjb2RlDQo+ID4gPiA+ID4gPiB0byB1bmRlcnN0YW5k IHRoZSBjb25jZXB0cykuIFlvdSBjYW4gcmVmZXIgdG8gdmlkZW8gWzFdLg0KPiA+ID4gPiA+ID4g RXNzZW50aWFsbHksIHRoZSBwdGhyZWFkX2NyZWF0ZSBoYXMgJ2hhcHBlbnMtYmVmb3JlJyBiZWhh dmlvci4NCj4gPiA+ID4gPiA+IGkuZS4gYWxsIHRoZSBtZW1vcnkgb3BlcmF0aW9ucyBiZWZvcmUg dGhlIHB0aHJlYWRfY3JlYXRlIGFyZQ0KPiA+ID4gPiA+ID4gdmlzaWJsZSB0byB0aGUgbmV3DQo+ ID4gPiB0aHJlYWQuDQo+ID4gPiA+ID4gPiBUaGUNCj4gPiA+ID4gPiA+IHJ0ZV9zbXBfcm1iKCkg YmFycmllciBpbiB0aGUgdGhyZWFkIGZ1bmN0aW9uIGlzIG5vdCByZXF1aXJlZCBhcw0KPiA+ID4g PiA+ID4gaXQgcmVhZHMgdGhlDQo+ID4gPiA+ID4gZGF0YSB0aGF0IHdhcyBzZXQgYmVmb3JlIHRo ZSB0aHJlYWQgd2FzIGxhdW5jaGVkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gcnRlX2VhbF9yZW1v dGVfbGF1bmNoKCkgZG9lc24ndCBjYWxsIHB0aHJlYWRfY3JlYXRlKCkuDQo+ID4gPiA+ID4gQWxs IGl0IGRvZXMgLSAgdXBkYXRlcyBnbG9iYWwgdmFyaWFibGUgKGxjb3JlX2NvbmZpZykgYW5kDQo+ ID4gPiA+ID4gd3JpdGVzL3JlYWRzIHRvL2Zyb20gdGhlIHBpcGUuDQo+ID4gPiA+ID4NCj4gPiA+ ID4gVGhhbmtzIGZvciB0aGUgcmVtaW5kZXIg4pi5DQo+ID4gPiA+IEkgdGhpbmsgcnRlX2VhbF9y ZW1vdGVfbGF1bmNoIGFuZCBydGVfZWFsX3dhaXRfbGNvcmUgbmVlZCB0byBwcm92aWRlDQo+ID4g PiBiZWhhdmlvciBzaW1pbGFyIHRvIHB0aHJlYWRfbGF1bmNoIGFuZCBwdGhyZWFkX2pvaW4gcmVz cGVjdGl2ZWx5Lg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVyZSBpcyB1c2Ugb2YgcnRlX3NtcF8qbWIg aW4gdGhvc2UgZnVuY3Rpb25zIGFzIHdlbGwuIFRob3NlIG5lZWQNCj4gPiA+ID4gdG8gYmUgZml4 ZWQNCj4gPiA+IGZpcnN0IGFuZCB0aGVuIGxvb2sgYXQgdGhlc2UuDQo+ID4gPg0KPiA+ID4gTG9v a3MgbGlrZSB5b3Ugd2FudCBfX2F0b21pY190aHJlYWRfZmVuY2UoKSBoZXJlLg0KPiA+ID4NCj4g PiBJbiB0aGUgcnRlX2VhbF9yZW1vdGVfbGF1bmNoIGNhc2UsIGFsbCB0aGUgbWVtb3J5IG9wZXJh dGlvbnMgYmVmb3JlIHRoZQ0KPiA+IEFQSSBjYWxsIG5lZWQgdG8gYmUgdmlzaWJsZSB0byB0aGUg d29ya2VyLiBJZiB0aGlzIGlzIHRoZSBvbmx5IHJlcXVpcmVtZW50LCB3ZQ0KPiA+IGNhbiB1c2Ug dGhlIGZ1bmN0aW9uIHBvaW50ZXIgYXMgdGhlIGd1YXJkIHZhcmlhYmxlIGFuZCB1c2Ugc3RvcmUt cmVsZWFzZS4gSW4NCj4gPiB0aGUgZWFsX3RocmVhZF9sb29wIGZ1bmN0aW9uIHdlIGNvdWxkIGRv IGxvYWQtYWNxdWlyZSBvbiB0aGUgZnVuY3Rpb24NCj4gPiBwb2ludGVyLg0KPiA+DQo+ID4gSSBk byBub3QgdGhpbmsgdGhhdCB0aGVyZSBpcyBhIHJlcXVpcmVtZW50IHRvIGVuc3VyZSB0aGF0IHRo ZSBtZW1vcnkNCj4gPiBvcGVyYXRpb25zIGFmdGVyIHRoZSBBUEkgY2FsbCBkbyBub3QgaGFwcGVu IGJlZm9yZSB0aGUgd29ya2VyIHRocmVhZCBzdGFydHMNCj4gPiBydW5uaW5nIHRoZSBmdW5jdGlv biAoQXMgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIG9uIHdoZW4gdGhlIHdvcmtlciB0aHJlYWQNCj4g PiB3aWxsIHJ1bi4gSWYgdGhlIG1haW4gdGhyZWFkIG5lZWRzIHRvIGtub3cgaWYgdGhlIHdvcmtl ciB0aHJlYWQgaXMgcnVubmluZw0KPiA+IGV4cGxpY2l0IGhhbmQtc2hha2luZyBuZWVkcyB0byBo YXBwZW4pLg0KPiA+DQo+ID4gVGhlIHJ0ZV9lYWxfd2FpdF9sY29yZSBBUEkgbmVlZHMgdG8gZW5z dXJlIHRoYXQgdGhlIG1lbW9yeSBvcGVyYXRpb25zIGluDQo+ID4gdGhlIHdvcmtlciBhcmUgdmlz aWJsZSB0byB0aGUgbWFpbi4gcnRlX2VhbF93YWl0X2xjb3JlIGFuZCBlYWxfdGhyZWFkX2xvb3AN Cj4gPiBhcmUgc3luY2hyb25pemluZyB1c2luZyBsY29yZV9jb25maWdbd29ya2VyX2lkXS5zdGF0 ZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQNCj4gPiB3aGF0IGVsc2UgJ3N0YXRlJyBpcyB1c2VkIGZv ci4gSWYgdGhlcmUgYXJlIG5vIGlzc3Vlcywgd2UgY2FuIGRvIGEgc3RvcmUtcmVsZWFzZQ0KPiA+ IG9uICdzdGF0ZScgaW4gZWFsX3RocmVhZF9sb29wIGFuZCBhIGxvYWQtYWNxdWlyZSBpbiBydGVf ZWFsX3dhaXRfbGNvcmUuDQo+ID4NCj4gPiBTbywgd2UgZG8gbm90IGhhdmUgdG8gdXNlIHRoZSBf X2F0b21pY190aHJlYWRfZmVuY2UuDQo+ID4NCg0K