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 C442242A5E; Thu, 4 May 2023 16:12:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5603441144; Thu, 4 May 2023 16:12:29 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id BB369410DC for ; Thu, 4 May 2023 16:12:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683209546; x=1714745546; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=YA+hVWlWL7pjCVYntrBaMbL42kkLCHNhZXNaFTolXlo=; b=QatvSMM66qKrLG3KXuRI+V3gRNr6+1UDeDmiT8GKsj7WEDrEXkGxYPfr uo0kFvY5SpLG/PBKD5buOAii/n7HlXSKSl6JtGdqByt0tZU0rI3RwpCRi prNRV4y++y0Z65Lec3+dyvFWA446Enw2j5CNK/MXadYCacjmnQ4KtV537 q3sZhZA79d+ndOWr5WZUADzd89WiBZq/BY+BVP6G6W/mvFGZsLW1B8IVt gCRIbIbixF38MYgKGByIJ7Liv6GJsXKp2k2G6/jCQYhu+0GMTa+byTwhs xFNjZTMwXnG6InOSpyhvq5VKB/ZvJdEpVZHgkTeUqO6NUiw0GCdLus69m Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="338103289" X-IronPort-AV: E=Sophos;i="5.99,249,1677571200"; d="scan'208";a="338103289" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2023 06:33:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="808726486" X-IronPort-AV: E=Sophos;i="5.99,249,1677571200"; d="scan'208";a="808726486" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga002.fm.intel.com with ESMTP; 04 May 2023 06:33:26 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 06:33:26 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 4 May 2023 06:33:26 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 4 May 2023 06:33:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=da1C24eAgRH18wwtlbwrdmKYANZfy7amulsth3Mvhugji1gMwKcnc1uutmQKi1KGcDgmNEh1+xs33a80Gh+hkheOK5Bl7bFjTw4W9aJi5EOXnp6rlJTyykD4AKW8/2Ygmka0SH9ZrBP9Z3Y8RlZXyjy2m8hTcwyCwvM9d0U2vnD0w6FNYEgbPl/jzC+KEFIoqWVhv62VMyI+ukiHSw+QigHOweQlSWZPVDBKkvQRwQ54ZcICwZqoy3kDDvhpZV6m9CbuRZQJILf87O/uJcw98w7V0PYdGIAVBV59rg66HrxGKYUBsOMq3TVuTzcZYtZVbYwDQdvxg5IVDLIbsrJt2Q== 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=YA+hVWlWL7pjCVYntrBaMbL42kkLCHNhZXNaFTolXlo=; b=H1jqr+fOTaHj50Fw+4n1M+OfNu3MljWsUd5I7S2tk7oxaUI7TRexexg+EiEaxN7614t27WbNZHB0MG8WS6/qiYtvhCbI16nWNF8ZlzGLlUBran6x/jDiuHgI0cUWVFQEOh3VX4B/S7dVQyIrcKBSE5YFagMbcgAO43O4Jx3E7k4qF4YZG8lTXaqliy+tOluskxCw+fw+hV1uINee6SfPUhozcF9jYG4T5SYy/1xh7yiJWJXh3dsR+U0rdbNd6cC+LcBu6xw9q9DjwRezhL1RPI2hCKDVo6khCC31Tl6FfwX1Cxqe1w8NlZaB7bqjR4hBqgKIau1HLAe21aYXifcjUA== 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 Received: from PH7PR11MB5982.namprd11.prod.outlook.com (2603:10b6:510:1e1::20) by PH7PR11MB8252.namprd11.prod.outlook.com (2603:10b6:510:1aa::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22; Thu, 4 May 2023 13:33:23 +0000 Received: from PH7PR11MB5982.namprd11.prod.outlook.com ([fe80::385:196f:787e:822f]) by PH7PR11MB5982.namprd11.prod.outlook.com ([fe80::385:196f:787e:822f%6]) with mapi id 15.20.6363.026; Thu, 4 May 2023 13:33:23 +0000 From: "Zhang, Qi Z" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , zhoumin , Konstantin Ananyev CC: "dev@dpdk.org" , "maobibo@loongson.cn" , "Yang, Qiming" , "Wu, Wenjun1" , "ruifeng.wang@arm.com" , "drc@linux.vnet.ibm.com" , Tyler Retzlaff Subject: RE: [PATCH v2] net/ixgbe: add proper memory barriers for some Rx functions Thread-Topic: [PATCH v2] net/ixgbe: add proper memory barriers for some Rx functions Thread-Index: AQHZdpSOGh/lb/NsM0CLv5nxkIU7VK9FdLMAgASzdYCAAAFtgIAAANww Date: Thu, 4 May 2023 13:33:23 +0000 Message-ID: References: <20230424090532.367194-1-zhoumin@loongson.cn> <20671e5e-8e86-4bc3-2d95-4cec014b0539@yandex.ru> <43fb4e62-63b5-7076-327e-dc30cd561fff@loongson.cn> <98CBD80474FA8B44BF855DF32C47DC35D878E4@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D878E4@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR11MB5982:EE_|PH7PR11MB8252:EE_ x-ms-office365-filtering-correlation-id: 1d8a8f82-8303-448d-5b22-08db4ca42260 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: os6XgY8VJGI6kKnt9hquSCqv8faa+OvgiJ9xr8iuirRKmlNRKk9VTEMyoDX8kAWREPbbCEz79eLFFXrZjFLRkMq9VxHBd1qtscjFrceg9Ka4JNKB4K4XGjxBd8fmpGEIlG7qg6558c3zkWC4nrGs6zCJF0O+TR3VjZld8u4T5CbrCHI17imMHpBulxhDJJNfMU0iVjcQDwgRInVAxNGLG9qYzvTBY05pSOMyVq9sBaDOOmgQA+iIruWvQeWURFD+KN2Eg5RstF0KJlDR4VACLZH3OpQxXkm2iL4EfFTWzFmvoBjdbxnHZMWAXTKkNaHwoEMzAIuNjM2iZ/LMoBup3R12wemMRanuuIpHn46b37eCx0F9FXa7zYUo2tivIyDs7o+QbF0pMkhCDMpN9Lv00IjZFrDcruW6RhT0tEpUlXk0V8Nkogk+em+jlN5HtNbrVPWj2sqJVd0vcqnb4+RWS9MZ+uh/L93Chfu2x7v8aMf/r3/QXUtos3scv/+dJAzNS8d0PJ+D5kOem9K5HfZOMOM26UKOYJIw0pHsYEaPWxVWH/ZyjEqS3eRioLzCEM0XSFkUWsYpBxkmHAEwRW2ct+oSTUa//YBo1rH1WI3OaVA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR11MB5982.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(376002)(346002)(39860400002)(136003)(366004)(451199021)(41300700001)(76116006)(64756008)(66476007)(66556008)(66446008)(4326008)(316002)(66946007)(8676002)(8936002)(110136005)(54906003)(2906002)(52536014)(5660300002)(55016003)(122000001)(38100700002)(38070700005)(9686003)(82960400001)(33656002)(86362001)(26005)(6506007)(53546011)(71200400001)(7696005)(83380400001)(66574015)(186003)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MXZGSlIydkJqbUFUT0dUV2QyMzJ5dkloaGkwVTRvYTVCNDEzdUptQXd6Mkpj?= =?utf-8?B?RGUrUFVPTDN6WlIrdGJ2MUYrSXdVblVlU0RsN0UyZk1yMDh5a05nQ2oxRXlD?= =?utf-8?B?K1EwdUl6TE1jVi9wTks3a3Z3dENpM1VaSVRxVVUwS0JDSjFIdGJObGNoL2Jk?= =?utf-8?B?U3R3Z3AxQWJmYXQ0QkdUZVhBbXF3d0FaQW9UQklmTCszN28yMk56M2p3aUZG?= =?utf-8?B?VXptSHFaSVYySzNGV0hDUDN6aUZxa1FreDd4Q29sOTZDUDJ1dVFreXJxQ3hx?= =?utf-8?B?SURZVFRyRGVvdkxzejZvK3FXczdpdGJhZmdhb1dXbk5ZSHZRdmpKMnpkdCtG?= =?utf-8?B?RXBZeG53YzFCM0JXTUlEcmVyYURsMVR0ejhBMnFEd2VQeVJsV2xSUEg1cEtw?= =?utf-8?B?THYzWUFWSHBseWsvV3J5dUdzSE9WVlM5STliTStVZExhK2hqbW84S3d4aVJw?= =?utf-8?B?UitUelpRbHdrenRiM1BuS2FnQUlBb211alpEVEJWRkVmem8yNHFoWXZ4OWpn?= =?utf-8?B?VFNNMk1ITTc0SG9raHdCdDRrSGxaR3lPRE0wQXYyZGtrMmVueUcwcDNqYjNJ?= =?utf-8?B?eVJDa1JoZktXQnp5elo2dUZnMHloVmNLajI1d29XME5XampBM0p6dm82WTRV?= =?utf-8?B?YkkvbE9KaHBlYzQ2dCtIN0hXaFkvU3l5a0ZTa2puUFVVSHFCSjNoNVhCSmpY?= =?utf-8?B?NW8rcCtDM2hiaUJZaVpvZTJmR256QnhvSStVRzBhdlhMM3JIMzFpOVlGT1hC?= =?utf-8?B?UlBXZzhQR1pjZ2EzdmtDMHZpcThiSTJaaXRFQng0SVc2cFV4dWRNc2ZlOHBj?= =?utf-8?B?ckw2UTVkRjNtaFV3NTZuaHJqb2xtRCtPTjk2TklHYzQ3N3l1cHRTK0J6bDI4?= =?utf-8?B?RXRZM0RYczZ5NkE2NkM5WTZOMG5JRDJURTVoQ1JtZVh6bmFleThOb2lIVS8v?= =?utf-8?B?czNyTnBaUDY5eXdYeE5nM1cxU0JUT2s3SXQ0dC9ETmtTbmFYQzhOOEM3Z3Zm?= =?utf-8?B?OE9mYjh1Zzk4UUs0clRtSU9LS3lUd2psUUxOeEE4cnlOYUYvY21TRlA3SGVH?= =?utf-8?B?WHpVZTlyYm96cElpaWlLMmhKWjN5SWlETWtDNVdxbVF4Nlo3R0dKU2E5enZK?= =?utf-8?B?dUR6V3d1YmErOTNyQVdMRExIcnJTY0dGTU1nUlNyQnlnMk11TXp0b0hIb2U4?= =?utf-8?B?UDFjdUdHNFRoa0lUWDkrU1JraGNLRWE5SmdsNmthOUZKOGVtTkFxY21BemVG?= =?utf-8?B?YndFL1FXaFRpdXpzaGlkNVpFR3h3bmR2YnJFKzVEeTcxOTU0clJHaElsclFQ?= =?utf-8?B?akhFOVhrekVZeVJDUHgydXNSYVgrRVMxOElzRXljNWhQOVB6VTVpMnl5YnNx?= =?utf-8?B?eDFVMWFyc21kWll3OWlBajgzR2dlTXBrNGR1aHdYam1GTWtyL05iZ1JrdVRx?= =?utf-8?B?Rko4S1hzVkxrZmd4NmZTbjB5RzBlWDBPQ1gwN1B3K2M4aHhHYjJsT1BHb2t2?= =?utf-8?B?ZUE5S0lJVUNZMDlLYVZBdklqRjF3TzZwSE1COVRWM09yTmV3WHVXQjJnSEhu?= =?utf-8?B?K2ZRT0ZnSGhhcjlBWUFkY0tnWFNTU1d5RzBLSUhvc0NsWlJPZFdvellmcGZG?= =?utf-8?B?dU9ITzBlOGRDS29mQU9DM3ltMlpEYkYxSHRXZy9IYUJkZ0dLSHJDV3hyWXo2?= =?utf-8?B?WFpFazhLKyt1NjMxaFFkVnVBS0YvT2c4NjNsQ0lpNThDMmh2ZFR1bUU3L3VB?= =?utf-8?B?YmxvWnV4WjNtSnZsaE5YNFVaVndyUm5NVGg0SHNkNTVadXdkTTlZRXFLeUNw?= =?utf-8?B?QUFXa0NlMGhlMUhMcm4vUFk2MjlDeHByUStGeTYrV1pBTVAwWmFYOXZGT05G?= =?utf-8?B?M21uSWFHandUZnlOeDhuVWg0eCszS2N6TmMvbVpuTGhYaUR0S1h5dXpGemlV?= =?utf-8?B?Z3JralZKanM1K0Y0OElJM1JjWVpoR2JFaXI3VkMxbkI0U0l6YVpVVys4TEMx?= =?utf-8?B?aTZVcXVsWTljMU9QWkRlWWFmdWRYT3hRUFFpQUJVZS9aVDdoZzlzVk1IQXhs?= =?utf-8?B?MmNockp3b2F5M2ZsZnVJLzRaSWFGS1d2OHdJSDdiQ1pvV3hxakpuM1F4Yzgx?= =?utf-8?Q?rH0VxDEEouTGtGiAmyTiaxrB0?= 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: PH7PR11MB5982.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d8a8f82-8303-448d-5b22-08db4ca42260 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2023 13:33:23.7685 (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: xRCZKdz3KBveuPJwt2rUd08HcNiq/aycNkivgTvdIbLG9C7iaQ1a9dGSAjdJwmhIv+0p1ABoTqWvKjkVYAJ03A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8252 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTW9ydGVuIEJyw7hydXAg PG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE1heSA0LCAyMDIz IDk6MjIgUE0NCj4gVG86IHpob3VtaW4gPHpob3VtaW5AbG9vbmdzb24uY24+OyBLb25zdGFudGlu IEFuYW55ZXYNCj4gPGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydT4NCj4gQ2M6IGRldkBk cGRrLm9yZzsgbWFvYmlib0Bsb29uZ3Nvbi5jbjsgWWFuZywgUWltaW5nDQo+IDxxaW1pbmcueWFu Z0BpbnRlbC5jb20+OyBXdSwgV2VuanVuMSA8d2VuanVuMS53dUBpbnRlbC5jb20+Ow0KPiBydWlm ZW5nLndhbmdAYXJtLmNvbTsgZHJjQGxpbnV4LnZuZXQuaWJtLmNvbTsgVHlsZXIgUmV0emxhZmYN Cj4gPHJvcmV0emxhQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0gg djJdIG5ldC9peGdiZTogYWRkIHByb3BlciBtZW1vcnkgYmFycmllcnMgZm9yIHNvbWUgUngNCj4g ZnVuY3Rpb25zDQo+IA0KPiA+IEZyb206IHpob3VtaW4gW21haWx0bzp6aG91bWluQGxvb25nc29u LmNuXQ0KPiA+IFNlbnQ6IFRodXJzZGF5LCA0IE1heSAyMDIzIDE1LjE3DQo+ID4NCj4gPiBIaSBL b25zdGFudGluLA0KPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VywqAgY29tbWVudHMuDQo+ID4NCj4g PiBPbiAyMDIzLzUvMSDkuIvljYg5OjI5LCBLb25zdGFudGluIEFuYW55ZXYgd3JvdGU6DQo+ID4g Pj4gU2VnbWVudGF0aW9uIGZhdWx0IGhhcyBiZWVuIG9ic2VydmVkIHdoaWxlIHJ1bm5pbmcgdGhl DQo+ID4gPj4gaXhnYmVfcmVjdl9wa3RzX2xybygpIGZ1bmN0aW9uIHRvIHJlY2VpdmUgcGFja2V0 cyBvbiB0aGUgTG9vbmdzb24NCj4gPiA+PiAzQzUwMDAgcHJvY2Vzc29yIHdoaWNoIGhhcyA2NCBj b3JlcyBhbmQgNCBOVU1BIG5vZGVzLg0KPiA+ID4+DQo+ID4gPj4gRnJvbSB0aGUgaXhnYmVfcmVj dl9wa3RzX2xybygpIGZ1bmN0aW9uLCB3ZSBmb3VuZCB0aGF0IGFzIGxvbmcgYXMNCj4gPiA+PiB0 aGUgZmlyc3QgcGFja2V0IGhhcyB0aGUgRU9QIGJpdCBzZXQsIGFuZCB0aGUgbGVuZ3RoIG9mIHRo aXMgcGFja2V0DQo+ID4gPj4gaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHJ4cS0+Y3JjX2xlbiwg dGhlIHNlZ21lbnRhdGlvbiBmYXVsdCB3aWxsDQo+ID4gPj4gZGVmaW5pdGVseSBoYXBwZW4gZXZl biB0aG91Z2ggb24gdGhlIG90aGVyIHBsYXRmb3Jtcywgc3VjaCBhcyBYODYuDQoNClNvcnJ5IHRv IGludGVycnVwdCwgYnV0IEkgYW0gY3VyaW91cyB3aHkgdGhpcyBpc3N1ZSBzdGlsbCBleGlzdHMg b24geDg2IGFyY2hpdGVjdHVyZS4gQ2FuIHZvbGF0aWxlIGJlIHVzZWQgdG8gaW5zdHJ1Y3QgdGhl IGNvbXBpbGVyIHRvIGdlbmVyYXRlIHJlYWQgaW5zdHJ1Y3Rpb25zIGluIGEgc3BlY2lmaWMgb3Jk ZXIsIGFuZCBkb2VzIHg4NiBndWFyYW50ZWUgbm90IHRvIHJlb3JkZXIgbG9hZCBvcGVyYXRpb25z Pw0KDQo+ID4gPj4NCj4gPiA+PiBCZWNhdXNlIHdoZW4gcHJvY2Vzc2QgdGhlIGZpcnN0IHBhY2tl dCB0aGUgZmlyc3Rfc2VnLT5uZXh0IHdpbGwgYmUNCj4gPiA+PiBOVUxMLCBpZiBhdCB0aGUgc2Ft ZSB0aW1lIHRoaXMgcGFja2V0IGhhcyB0aGUgRU9QIGJpdCBzZXQgYW5kIGl0cw0KPiA+ID4+IGxl bmd0aCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcnhxLT5jcmNfbGVuLCB0aGUgZm9sbG93aW5n IGxvb3ANCj4gPiA+PiB3aWxsIGJlIGV4Y2VjdXRlZDoNCj4gPiA+Pg0KPiA+ID4+IMKgwqDCoCBm b3IgKGxwID0gZmlyc3Rfc2VnOyBscC0+bmV4dCAhPSByeG07IGxwID0gbHAtPm5leHQpDQo+ID4g Pj4gwqDCoMKgwqDCoMKgwqAgOw0KPiA+ID4+DQo+ID4gPj4gV2Uga25vdyB0aGF0IHRoZSBmaXJz dF9zZWctPm5leHQgd2lsbCBiZSBOVUxMIHVuZGVyIHRoaXMgY29uZGl0aW9uLg0KPiA+ID4+IFNv IHRoZQ0KPiA+ID4+IGV4cHJlc3Npb24gb2YgbHAtPm5leHQtPm5leHQgd2lsbCBjYXVzZSB0aGUg c2VnbWVudGF0aW9uIGZhdWx0Lg0KPiA+ID4+DQo+ID4gPj4gTm9ybWFsbHksIHRoZSBsZW5ndGgg b2YgdGhlIGZpcnN0IHBhY2tldCB3aXRoIEVPUCBiaXQgc2V0IHdpbGwgYmUNCj4gPiA+PiBncmVh dGVyIHRoYW4gcnhxLT5jcmNfbGVuLiBIb3dldmVyLCB0aGUgb3V0LW9mLW9yZGVyIGV4ZWN1dGlv biBvZg0KPiA+ID4+IENQVSBtYXkgbWFrZSB0aGUgcmVhZCBvcmRlcmluZyBvZiB0aGUgc3RhdHVz IGFuZCB0aGUgcmVzdCBvZiB0aGUNCj4gPiA+PiBkZXNjcmlwdG9yIGZpZWxkcyBpbiB0aGlzIGZ1 bmN0aW9uIG5vdCBiZSBjb3JyZWN0LiBUaGUgcmVsYXRlZA0KPiA+ID4+IGNvZGVzIGFyZSBhcyBm b2xsb3dpbmc6DQo+ID4gPj4NCj4gPiA+PiDCoMKgwqDCoMKgwqDCoCByeGRwID0gJnJ4X3Jpbmdb cnhfaWRdOw0KPiA+ID4+IMKgIzHCoMKgwqDCoCBzdGF0ZXJyID0gcnRlX2xlX3RvX2NwdV8zMihy eGRwLT53Yi51cHBlci5zdGF0dXNfZXJyb3IpOw0KPiA+ID4+DQo+ID4gPj4gwqDCoMKgwqDCoMKg wqAgaWYgKCEoc3RhdGVyciAmIElYR0JFX1JYREFEVl9TVEFUX0REKSkNCj4gPiA+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGJyZWFrOw0KPiA+ID4+DQo+ID4gPj4gwqAjMsKgwqDCoMKgIHJ4ZCA9 ICpyeGRwOw0KPiA+ID4+DQo+ID4gPj4gVGhlIHNlbnRlbmNlICMyIG1heSBiZSBleGVjdXRlZCBi ZWZvcmUgc2VudGVuY2UgIzEuIFRoaXMgYWN0aW9uIGlzDQo+ID4gPj4gbGlrZWx5IHRvIG1ha2Ug dGhlIHJlYWR5IHBhY2tldCB6ZXJvIGxlbmd0aC4gSWYgdGhlIHBhY2tldCBpcyB0aGUNCj4gPiA+ PiBmaXJzdCBwYWNrZXQgYW5kIGhhcyB0aGUgRU9QIGJpdCBzZXQsIHRoZSBhYm92ZSBzZWdtZW50 YXRpb24gZmF1bHQNCj4gPiA+PiB3aWxsIGhhcHBlbi4NCj4gPiA+Pg0KPiA+ID4+IFNvLCB3ZSBz aG91bGQgYWRkIHJ0ZV9ybWIoKSB0byBlbnN1cmUgdGhlIHJlYWQgb3JkZXJpbmcgYmUgY29ycmVj dC4NCj4gPiA+PiBXZSBhbHNvDQo+ID4gPj4gZGlkIHRoZSBzYW1lIHRoaW5nIGluIHRoZSBpeGdi ZV9yZWN2X3BrdHMoKSBmdW5jdGlvbiB0byBtYWtlIHRoZQ0KPiA+ID4+IHJ4ZCBkYXRhIGJlIHZh bGlkIGV2ZW4gdGhvdWd0aCB3ZSBkaWQgbm90IGZpbmQgc2VnbWVudGF0aW9uIGZhdWx0DQo+ID4g Pj4gaW4gdGhpcyBmdW5jdGlvbi4NCj4gPiA+Pg0KPiA+ID4+IFNpZ25lZC1vZmYtYnk6IE1pbiBa aG91IDx6aG91bWluQGxvb25nc29uLmNuPg0KPiA+ID4+IC0tLQ0KPiA+ID4+IHYyOg0KPiA+ID4+ IC0gTWFrZSB0aGUgY2FsbGluZyBvZiBydGVfcm1iKCkgZm9yIGFsbCBwbGF0Zm9ybXMNCj4gPiA+ PiAtLS0NCj4gPiA+PiDCoGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYyB8IDMgKysrDQo+ ID4gPj4gwqAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspDQo+ID4gPj4NCj4gPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4gPj4gYi9kcml2 ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMgaW5kZXggYzlkNmNhOWVmZS4uMzAyYTVhYjdmZg0K PiA+ID4+IDEwMDY0NA0KPiA+ID4+IC0tLSBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHgu Yw0KPiA+ID4+ICsrKyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+ID4+IEBA IC0xODIzLDYgKzE4MjMsOCBAQCBpeGdiZV9yZWN2X3BrdHModm9pZCAqcnhfcXVldWUsIHN0cnVj dA0KPiA+ID4+IHJ0ZV9tYnVmICoqcnhfcGt0cywNCj4gPiA+PiDCoMKgwqDCoMKgwqDCoMKgIHN0 YXRlcnIgPSByeGRwLT53Yi51cHBlci5zdGF0dXNfZXJyb3I7DQo+ID4gPj4gwqDCoMKgwqDCoMKg wqDCoCBpZiAoIShzdGF0ZXJyICYgcnRlX2NwdV90b19sZV8zMihJWEdCRV9SWERBRFZfU1RBVF9E RCkpKQ0KPiA+ID4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4gPiA+PiArDQo+ ID4gPj4gK8KgwqDCoMKgwqDCoMKgIHJ0ZV9ybWIoKTsNCj4gPiA+PiDCoMKgwqDCoMKgwqDCoMKg IHJ4ZCA9ICpyeGRwOw0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gSW5kZWVkLCBsb29rcyBs aWtlIGEgcHJvYmxlbSB0byBtZSBvbiBzeXN0ZW1zIHdpdGggcmVsYXhlZCBNTy4NCj4gPiA+IFN0 cmFuZ2UgdGhhdCBpdCB3YXMgbmV2ZXIgaGl0IG9uIGFybSBvciBwcGMgLSBjYy1pbmcgQVJNL1BQ QyBtYWludGFpbmVycy4NCj4gPiBUaGUgTG9vbmdBcmNoIGFyY2hpdGVjdHVyZSB1c2VzIHRoZSBX ZWFrIENvbnNpc3RlbmN5IG1vZGVsIHdoaWNoIGNhbg0KPiA+IGNhdXNlIHRoZSBwcm9ibGVtLCBl c3BlY2lhbGx5IGluIHNjZW5hcmlvIHdpdGggbWFueSBjb3Jlcywgc3VjaCBhcw0KPiA+IExvb25n c29uIDNDNTAwMCB3aXRoIGZvdXIgTlVNQSBub2RlLCB3aGljaCBoYXMgNjQgY29yZXMuIEkgY2Fu bm90DQo+ID4gcmVwcm9kdWNlIGl0IG9uIExvb25nc29uIDNDNTAwMCB3aXRoIG9uZSBOVU1BIG5v ZGUsIHdoaWNoIGp1c3QgaGFzIDE2DQo+IGNvcmVzLg0KPiA+ID4gQWJvdXQgYSBmaXggLSBsb29r cyByaWdodCwgYnV0IGEgYml0IGV4Y2Vzc2l2ZSB0byBtZSAtIGFzIEkNCj4gPiA+IHVuZGVyc3Rh bmQgYWxsIHdlIG5lZWQgaGVyZSBpcyB0byBwcmV2ZW50IHJlLW9yZGVyaW5nIGJ5IENQVSBpdHNl bGYuDQo+ID4gWWVzLCB0aGFua3MgZm9yIGNjLWluZy4NCj4gPiA+IFNvIHJ0ZV9zbXBfcm1iKCkg c2VlbXMgZW5vdWdoIGhlcmUuDQo+ID4gPiBPciBtaWdodCBiZSBqdXN0Og0KPiA+ID4gc3RhdGVy ciA9IF9fYXRvbWljX2xvYWRfbigmcnhkcC0+d2IudXBwZXIuc3RhdHVzX2Vycm9yLA0KPiA+ID4g X19BVE9NSUNfQUNRVUlSRSk7DQo+ID4gPg0KPiA+IERvZXMgX19hdG9taWNfbG9hZF9uKCkgd29y ayBvbiBXaW5kb3dzIGlmIHdlIHVzZSBpdCB0byBzb2x2ZSB0aGlzDQo+IHByb2JsZW0gPw0KPiAN Cj4gWWVzLCBfX2F0b21pY19sb2FkX24oKSB3b3JrcyBvbiBXaW5kb3dzIHRvby4NCj4gDQoNCg==