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 58D0B42A73; Sat, 6 May 2023 03:30:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 32C5E410ED; Sat, 6 May 2023 03:30:23 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 0B69340EDC for ; Sat, 6 May 2023 03:30:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683336621; x=1714872621; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=g4kriYIheHW10nii4F5DDjG3Z10L6LYPODKACHid/zI=; b=DNiUNk3nE1U/cZvtJvM11b1JaHhuwaF26iV/rttVSZuHpKbUVo88ULzC 5884xZTkGqeTw+TcqZQgIee1woAtrTfRgTREpzIl1s6o6yXFJFX07ZQzO 14IdopScpVV9ceQkeLBA41CIWY+eZr+MEGik0DX0PPpbwfx03rEVlSBPt svQZZCKhC9MrjXH83Zp9x4PfzRmjLLxc+dqtpCxdwDfALXauAIA66IXEf t0xFg7eGXQ5Ec/1hjZGslFhBqR/+qnFlRfcTZLyIRSuOjQhCruzM68JoP jL0JA3XIyR02Ms4HVhTY6CTjsf9bbO/uY3Kd8+74igahV4Y311AfYBrgT Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10701"; a="329682102" X-IronPort-AV: E=Sophos;i="5.99,253,1677571200"; d="scan'208";a="329682102" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2023 18:30:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10701"; a="730579897" X-IronPort-AV: E=Sophos;i="5.99,253,1677571200"; d="scan'208";a="730579897" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga001.jf.intel.com with ESMTP; 05 May 2023 18:30:03 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 5 May 2023 18:30:03 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 5 May 2023 18:30:02 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Fri, 5 May 2023 18:30:02 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Fri, 5 May 2023 18:30:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lWbPgs0NAKQSvlZnhXQV4mjrJK1m/yh4JPxEI3K/afQ2qqeeswbb0SXx92YjIE1rk1uDYv3GcLw2ENGWCcmubOOPtOAAPYeZB06yQIM41EXL0wjVrYEwVo7mUDvwQRCvwPzR/8KCaXqEmpCEGMbDEcDJPhMzJj7OGb3jOBhmwZc+XwBtEs1wofF0DmfXYdpIurGL+hLQfxUC4sAdFRGsG2A1ZUPgDjP8e8ykZnWofqluf98C/e0xDfn5WVTlqwg/KjHMBgY6/pQv/7iSqpGQMY30LZQCSJ5T1GLEwO1c945kxNoMgUlvFQOVsGqHn/MrNjYJWmfoe0wbMX/xrSTiJw== 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=g4kriYIheHW10nii4F5DDjG3Z10L6LYPODKACHid/zI=; b=HqTuuRg1MCNUxKN4c45x32gwKOCOQcEDROxg04wElPgdr4nO8yhhnyfwxxt+qaQ8FUSJnIGo6phqCO3IOG2vb5W5rpXNADVUtGPpMMI26xhgSTAoretQg+EOt0a25NorS7A9rTLg6+BoUi+yjzTSnamLFKPQqb+hj/0Dvppwzzzf1qM+mQ/YrXN0kHKFQDWmYrJsOtTVPjZ020wBfJbGgzYLgvV44TaX/QiA3NMPP7dOuN1WQ5oHNMaxpCO4epywbRI0N9sGI+E8yFfDrAp05u0o61xamfUIMsc/OWlh5SXYJuWbaUgfHiaffA3s2vwKWYA4bMffgo19jUJclADlYg== 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 DM4PR11MB5994.namprd11.prod.outlook.com (2603:10b6:8:5d::20) by PH7PR11MB8549.namprd11.prod.outlook.com (2603:10b6:510:308::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Sat, 6 May 2023 01:30:00 +0000 Received: from DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::e570:d9a7:df1b:1589]) by DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::e570:d9a7:df1b:1589%6]) with mapi id 15.20.6363.026; Sat, 6 May 2023 01:30:00 +0000 From: "Zhang, Qi Z" To: zhoumin , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , 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/NsM0CLv5nxkIU7VK9FdLMAgASzdYCAAAFtgIAAANwwgADe4wCAAXyiwA== Date: Sat, 6 May 2023 01:30:00 +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> <35cb2f3a-6590-ca35-12c7-cbc61bbfb506@loongson.cn> In-Reply-To: <35cb2f3a-6590-ca35-12c7-cbc61bbfb506@loongson.cn> 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: DM4PR11MB5994:EE_|PH7PR11MB8549:EE_ x-ms-office365-filtering-correlation-id: aaac9d32-fc1b-4fa4-a28a-08db4dd168a6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +cxbuA5w3iJlQfCcIIF0QHYC4NpK5aaechotPIMJXywCR41L03Sp2zPswBZsW+Bnh5QPoYxLaWTPjPQGVBOTdWOQqPzKJIJT5nl+0FXpnbkhLBsmoaHwuk2W1QVtLHBvzii0zJrj84FFraao+NRpLZty2/icJtjXwI1CxmvDJDmqnMnN7i2VlY3be6CZB5HQ/OcO+Nedm0R8i9pia+EF5+AORvZRIVMZ1uDfgN16HVNrmQJh8/fZ4QwbcUOwXLnzKy7jg8qeMEF8AFLezxKBn726lvES+EB7jH4Dd0OthDDfG+CZZslgkXvx2rwXBVxv37/g+kAa/wzgxGXpj139788JfNF3PqzXnOvfmNGRIb48VNkaGHNJ38LMdOtMrQZK0RXkP79oi3jj+XI6ZMz7942QPsabiE7uJePFn4Xkc+pfiZ5vv+WTVmTHTydgeTQC3Q3cuxNrH1MlEzszy/kf/Q+B88gauO21sE/rJQbz69wiXpZ+nH+V1/TCmVL7GSZy9+Ct8nkUJ4yfqacllJX04yxi7nspvjjXB57reVG2AwsaYW7GMg+j2zk0F4lUz0HRPODxK+lOObIontiqtGfdsDyk+05UrED21MkGld+X06Q= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5994.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(376002)(39860400002)(396003)(136003)(346002)(451199021)(66556008)(7696005)(4326008)(76116006)(66946007)(66476007)(66446008)(64756008)(316002)(54906003)(110136005)(478600001)(33656002)(86362001)(66574015)(83380400001)(6506007)(53546011)(26005)(9686003)(71200400001)(5660300002)(41300700001)(8676002)(8936002)(52536014)(2906002)(55016003)(186003)(122000001)(38100700002)(82960400001)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekxiZUVaUitHdll0eFExYktXdVJrL2JmWTVRZjlsU0h3bDlYOFp5UWlaQjVQ?= =?utf-8?B?S1RHQ25ZS200TjBNL0xpaHMrL1hyMlQ1SzR5ZkVIODdZdXlGNXdDN1ZYMmth?= =?utf-8?B?WU5ITHpGSS9JcS9RVG1rMGl4NDAxWEJCeTdVeGtla1JMcnluaFRzQ3g2dkIv?= =?utf-8?B?bFhCckFPcmxuRndBV1VLMFJ3NnI5VnlERmUxK2h4R1RXN2Y5clZ2LzcyTTB5?= =?utf-8?B?L3VXU1NUNFV6MHFhcmpHQ2wxb3htSC9FY1RJTEZHSWZvdUk4MFZKTE96cTdU?= =?utf-8?B?R3VmVDFxblZ2TDJOWVlEVDE2V0FqbkZRTjNod0JYMWtMUXN3QmdLcTBYbFdU?= =?utf-8?B?ejQ0eUJwdVZWc0FmeUNHc2FLbkhiL2YrTUJjUk1wT2RUck9majc0WnJGV1Nh?= =?utf-8?B?Z0lyUHduLzIvOVVTazRQOVM3RTZPcFhDMUN5Qk1LTVVhV1d6Um8zOW8vdTVn?= =?utf-8?B?Zy9PWEhtM0VYNGh3UlBSbUxkMTFuVE1MTHVrdzFpdUZtcFVwajl3aE1TVEdX?= =?utf-8?B?dm50eWNKSW5Wam1SOFIyeXVjZ0xqakRyN3NZOUxQcTJRclBzNVJXQkFya2N0?= =?utf-8?B?SzBkdUZmWVR5YVB5VzNhSTNmSWNkNlJlcWNZYjhrN3ZVeTRxQjBvb1NuczVR?= =?utf-8?B?M0dncjJRd2lOLzNlVEtGVkpSNlBEbzE4NTFhdXRlckZKSzBySThWTzlVRHl6?= =?utf-8?B?dlhyZVJvemYydzV4b3RNak0xMUdIaldxcmtGZzlvZ29MaFJrVnEzSlh3V21m?= =?utf-8?B?OWVNS2pXcG5iVkcrTzI5VmpoR3c1cDdNVTc4L1dTK1lGa2ZpQ1N6WkVxR0lZ?= =?utf-8?B?eXpHRVRTd0diTzZsUWx0R1pua3VRM2hDMEgrL09BQUtMaDhNV3VQRkhtb1lG?= =?utf-8?B?RnNIaDBkSC9ZTzFNbHN0d2FHWFRMU0hIVyt2VnZQN0JTdWZ2ZzNWak1UVTRR?= =?utf-8?B?KzZDQmp6bUxPdnh2RDZjSnRydW9OMFFpUlcwRmE2SXpxdnptOXlKL0dsK080?= =?utf-8?B?U3lkaW04aXdhOWdJTnFLcmd3ZTJtdWNrSVFya0ZHVGg4SVQzTjRwTTBEUmcw?= =?utf-8?B?WEdsNWN2dHdidXByVzNrRGd1cUtkZ0IvZ2ttSG9tUVN1N3hQdVdOVGpRVTJH?= =?utf-8?B?MEZ6dlFyR1I5all2SjVSWnFPY2pKMmE5R1R0SDVTaGZHWjdrUkVDWTNMbWVJ?= =?utf-8?B?QzZUczJRMTYvZm1WRXhHVFk4L0dLTmRjb3dzZ1MzQ1ZMQUFLTXpIYS8rTUpV?= =?utf-8?B?Lys1bnh3eHBOTEF3TUNZMUdkSHdaam9FaHZ2UUV2RFVhQ3kxRVI5RUYvUHd6?= =?utf-8?B?ZU1iUllqYlpYYWpCNWtWTS95OVU4UFNaN0hodHRrWTBGS3hLZ0Q5R1pHWk1V?= =?utf-8?B?aEMzUUtDajZkVm9WSTlmdzJaenFXVllZcEs3T2FqM0dydFhGKzlxOGxXcy9C?= =?utf-8?B?cEF3M3RRZDNsWnQvTlZmYzhjSTVzTW5QbjRCS1JST3JqNWlCbFZ6RU9jVm83?= =?utf-8?B?SXdQc2NMUHNFcG1LeWhNbzI4K3VMUkdKWHRhem1VQ2pVeW1VbEljYkYwS3Vp?= =?utf-8?B?SFVUeEw0U3dGTjFqN2JtVXNrRzZCaFQ1eVJ1dGM1YmtpTzcwSHNsWDRzZ09q?= =?utf-8?B?UVY1b0lLQVJYUWE2d2hleWh4aDRRdW9uZ3psczhobFNaN1pHbWlSdnMrdndI?= =?utf-8?B?MWN1Y3NudkhudEY4cTQ2MzR4ZzhqWkR2bUU4ZjJCdHVqSm5VR2FWb1ZhSElI?= =?utf-8?B?OStUdkwxaFI1czJkUGdJZldXdmJIdlFxV3pXL3VwN2RWVG5VR00rMmQrdE0x?= =?utf-8?B?c1MwZVpmQm9KUnVDY1ZIaDdEeTNoN3Jqck5EcVZ0V2N6S0NKTUViQ0pKNitx?= =?utf-8?B?L1hJUUxUVVlybXRHVE8rTTQzSXlndGRKS29YSkVXL09kU3JnTXg4Rk4vZlZj?= =?utf-8?B?Y25HUS9wWUh6d2RSZzU2Y04vQ25ESnp5RitzM1NOZmNsNHhOcm56U3UrUUU5?= =?utf-8?B?enNyNkRnOVF4WEYxd08vNXN4eVpoTmFDVEFxK0tJVHBnaWJWRUlvSDlVSHk1?= =?utf-8?B?b1RWMjhJNjNEUjFQOWZ0U2p4MVRxV3hWcUpCSnVEOWNHZlZ6YkQrZUNRWHg5?= =?utf-8?Q?EZ4KmJKpRVtCcKB42c+yfbevh?= 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: DM4PR11MB5994.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aaac9d32-fc1b-4fa4-a28a-08db4dd168a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 May 2023 01:30:00.1994 (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: s71FCLDPoOvcbFGDkRnHtj1N88oC3FAA1an7r3f04t4PRF03wZH8xNHa3SZ3icK1mK3AkJtgdhbG2LsT+4zWIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8549 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogemhvdW1pbiA8emhvdW1p bkBsb29uZ3Nvbi5jbj4NCj4gU2VudDogRnJpZGF5LCBNYXkgNSwgMjAyMyAxMDo0MyBBTQ0KPiBU bzogWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsgTW9ydGVuIEJyw7hydXANCj4g PG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47IEtvbnN0YW50aW4gQW5hbnlldg0KPiA8a29uc3Rh bnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1Pg0KPiBDYzogZGV2QGRwZGsub3JnOyBtYW9iaWJvQGxv b25nc29uLmNuOyBZYW5nLCBRaW1pbmcNCj4gPHFpbWluZy55YW5nQGludGVsLmNvbT47IFd1LCBX ZW5qdW4xIDx3ZW5qdW4xLnd1QGludGVsLmNvbT47DQo+IHJ1aWZlbmcud2FuZ0Bhcm0uY29tOyBk cmNAbGludXgudm5ldC5pYm0uY29tOyBUeWxlciBSZXR6bGFmZg0KPiA8cm9yZXR6bGFAbGludXgu bWljcm9zb2Z0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gbmV0L2l4Z2JlOiBhZGQg cHJvcGVyIG1lbW9yeSBiYXJyaWVycyBmb3Igc29tZSBSeA0KPiBmdW5jdGlvbnMNCj4gDQo+IEhp IFFpLA0KPiANCj4gT24gVGh1ciwgTWF5IDQsIDIwMjMgYXQgOTozM1BNLCBaaGFuZywgUWkgWiB3 cm90ZToNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBN b3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiA+PiBTZW50OiBUaHVy c2RheSwgTWF5IDQsIDIwMjMgOToyMiBQTQ0KPiA+PiBUbzogemhvdW1pbiA8emhvdW1pbkBsb29u Z3Nvbi5jbj47IEtvbnN0YW50aW4gQW5hbnlldg0KPiA+PiA8a29uc3RhbnRpbi52LmFuYW55ZXZA eWFuZGV4LnJ1Pg0KPiA+PiBDYzogZGV2QGRwZGsub3JnOyBtYW9iaWJvQGxvb25nc29uLmNuOyBZ YW5nLCBRaW1pbmcNCj4gPj4gPHFpbWluZy55YW5nQGludGVsLmNvbT47IFd1LCBXZW5qdW4xIDx3 ZW5qdW4xLnd1QGludGVsLmNvbT47DQo+ID4+IHJ1aWZlbmcud2FuZ0Bhcm0uY29tOyBkcmNAbGlu dXgudm5ldC5pYm0uY29tOyBUeWxlciBSZXR6bGFmZg0KPiA+PiA8cm9yZXR6bGFAbGludXgubWlj cm9zb2Z0LmNvbT4NCj4gPj4gU3ViamVjdDogUkU6IFtQQVRDSCB2Ml0gbmV0L2l4Z2JlOiBhZGQg cHJvcGVyIG1lbW9yeSBiYXJyaWVycyBmb3INCj4gPj4gc29tZSBSeCBmdW5jdGlvbnMNCj4gPj4N Cj4gPj4+IEZyb206IHpob3VtaW4gW21haWx0bzp6aG91bWluQGxvb25nc29uLmNuXQ0KPiA+Pj4g U2VudDogVGh1cnNkYXksIDQgTWF5IDIwMjMgMTUuMTcNCj4gPj4+DQo+ID4+PiBIaSBLb25zdGFu dGluLA0KPiA+Pj4NCj4gPj4+IFRoYW5rcyBmb3IgeW91csKgIGNvbW1lbnRzLg0KPiA+Pj4NCj4g Pj4+IE9uIDIwMjMvNS8xIOS4i+WNiDk6MjksIEtvbnN0YW50aW4gQW5hbnlldiB3cm90ZToNCj4g Pj4+Pj4gU2VnbWVudGF0aW9uIGZhdWx0IGhhcyBiZWVuIG9ic2VydmVkIHdoaWxlIHJ1bm5pbmcg dGhlDQo+ID4+Pj4+IGl4Z2JlX3JlY3ZfcGt0c19scm8oKSBmdW5jdGlvbiB0byByZWNlaXZlIHBh Y2tldHMgb24gdGhlIExvb25nc29uDQo+ID4+Pj4+IDNDNTAwMCBwcm9jZXNzb3Igd2hpY2ggaGFz IDY0IGNvcmVzIGFuZCA0IE5VTUEgbm9kZXMuDQo+ID4+Pj4+DQo+ID4+Pj4+ICBGcm9tIHRoZSBp eGdiZV9yZWN2X3BrdHNfbHJvKCkgZnVuY3Rpb24sIHdlIGZvdW5kIHRoYXQgYXMgbG9uZyBhcw0K PiA+Pj4+PiB0aGUgZmlyc3QgcGFja2V0IGhhcyB0aGUgRU9QIGJpdCBzZXQsIGFuZCB0aGUgbGVu Z3RoIG9mIHRoaXMNCj4gPj4+Pj4gcGFja2V0IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byByeHEt PmNyY19sZW4sIHRoZSBzZWdtZW50YXRpb24NCj4gPj4+Pj4gZmF1bHQgd2lsbCBkZWZpbml0ZWx5 IGhhcHBlbiBldmVuIHRob3VnaCBvbiB0aGUgb3RoZXIgcGxhdGZvcm1zLCBzdWNoDQo+IGFzIFg4 Ni4NCj4gPiBTb3JyeSB0byBpbnRlcnJ1cHQsIGJ1dCBJIGFtIGN1cmlvdXMgd2h5IHRoaXMgaXNz dWUgc3RpbGwgZXhpc3RzIG9uIHg4Ng0KPiBhcmNoaXRlY3R1cmUuIENhbiB2b2xhdGlsZSBiZSB1 c2VkIHRvIGluc3RydWN0IHRoZSBjb21waWxlciB0byBnZW5lcmF0ZSByZWFkDQo+IGluc3RydWN0 aW9ucyBpbiBhIHNwZWNpZmljIG9yZGVyLCBhbmQgZG9lcyB4ODYgZ3VhcmFudGVlIG5vdCB0byBy ZW9yZGVyIGxvYWQNCj4gb3BlcmF0aW9ucz8NCj4gQWN0dWFsbHksIEkgZGlkIG5vdCBzZWUgdGhl IHNlZ21lbnRhdGlvbiBmYXVsdCBvbiBYODYuIEkganVzdCBtYWRlIHRoZSBmaXJzdA0KPiBwYWNr ZXQgd2hpY2ggaGFkIHRoZSBFT1AgYml0IHNldCBoYWQgYSB6ZXJvIGxlbmd0aCwgdGhlbiB0aGUg c2VnbWVudGF0aW9uDQo+IGZhdWx0IHdvdWxkIGhhcHBlbiBvbiBYODYuIFNvLCBJIHRob3VnaHQg dGhhdCB0aGUgb3V0LW9mLW9yZGVyIGFjY2VzcyB0byB0aGUNCj4gZGVzY3JpcHRvciBtaWdodCBi ZSBwb3NzaWJsZSB0byBtYWtlIHRoZSByZWFkeSBwYWNrZXQgemVybyBsZW5ndGgsIGFuZCB0aGlz DQo+IGNhc2Ugd2FzIG1vcmUgbGlrZWx5IHRvIGNhdXNlIHRoZSBzZWdtZW50YXRpb24gZmF1bHQu DQoNCkkgc2VlLCB0aGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbi4NCg0KPiA+Pj4+PiBCZWNhdXNl IHdoZW4gcHJvY2Vzc2QgdGhlIGZpcnN0IHBhY2tldCB0aGUgZmlyc3Rfc2VnLT5uZXh0IHdpbGwg YmUNCj4gPj4+Pj4gTlVMTCwgaWYgYXQgdGhlIHNhbWUgdGltZSB0aGlzIHBhY2tldCBoYXMgdGhl IEVPUCBiaXQgc2V0IGFuZCBpdHMNCj4gPj4+Pj4gbGVuZ3RoIGlzIGxlc3MgdGhhbiBvciBlcXVh bCB0byByeHEtPmNyY19sZW4sIHRoZSBmb2xsb3dpbmcgbG9vcA0KPiA+Pj4+PiB3aWxsIGJlIGV4 Y2VjdXRlZDoNCj4gPj4+Pj4NCj4gPj4+Pj4gIMKgwqDCoCBmb3IgKGxwID0gZmlyc3Rfc2VnOyBs cC0+bmV4dCAhPSByeG07IGxwID0gbHAtPm5leHQpDQo+ID4+Pj4+ICDCoMKgwqDCoMKgwqDCoCA7 DQo+ID4+Pj4+DQo+ID4+Pj4+IFdlIGtub3cgdGhhdCB0aGUgZmlyc3Rfc2VnLT5uZXh0IHdpbGwg YmUgTlVMTCB1bmRlciB0aGlzIGNvbmRpdGlvbi4NCj4gPj4+Pj4gU28gdGhlDQo+ID4+Pj4+IGV4 cHJlc3Npb24gb2YgbHAtPm5leHQtPm5leHQgd2lsbCBjYXVzZSB0aGUgc2VnbWVudGF0aW9uIGZh dWx0Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBOb3JtYWxseSwgdGhlIGxlbmd0aCBvZiB0aGUgZmlyc3Qg cGFja2V0IHdpdGggRU9QIGJpdCBzZXQgd2lsbCBiZQ0KPiA+Pj4+PiBncmVhdGVyIHRoYW4gcnhx LT5jcmNfbGVuLiBIb3dldmVyLCB0aGUgb3V0LW9mLW9yZGVyIGV4ZWN1dGlvbiBvZg0KPiA+Pj4+ PiBDUFUgbWF5IG1ha2UgdGhlIHJlYWQgb3JkZXJpbmcgb2YgdGhlIHN0YXR1cyBhbmQgdGhlIHJl c3Qgb2YgdGhlDQo+ID4+Pj4+IGRlc2NyaXB0b3IgZmllbGRzIGluIHRoaXMgZnVuY3Rpb24gbm90 IGJlIGNvcnJlY3QuIFRoZSByZWxhdGVkDQo+ID4+Pj4+IGNvZGVzIGFyZSBhcyBmb2xsb3dpbmc6 DQo+ID4+Pj4+DQo+ID4+Pj4+ICDCoMKgwqDCoMKgwqDCoCByeGRwID0gJnJ4X3JpbmdbcnhfaWRd Ow0KPiA+Pj4+PiAgwqAjMcKgwqDCoMKgIHN0YXRlcnIgPSBydGVfbGVfdG9fY3B1XzMyKHJ4ZHAt PndiLnVwcGVyLnN0YXR1c19lcnJvcik7DQo+ID4+Pj4+DQo+ID4+Pj4+ICDCoMKgwqDCoMKgwqDC oCBpZiAoIShzdGF0ZXJyICYgSVhHQkVfUlhEQURWX1NUQVRfREQpKQ0KPiA+Pj4+PiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4gPj4+Pj4NCj4gPj4+Pj4gIMKgIzLCoMKgwqDCoCBy eGQgPSAqcnhkcDsNCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIHNlbnRlbmNlICMyIG1heSBiZSBleGVj dXRlZCBiZWZvcmUgc2VudGVuY2UgIzEuIFRoaXMgYWN0aW9uIGlzDQo+ID4+Pj4+IGxpa2VseSB0 byBtYWtlIHRoZSByZWFkeSBwYWNrZXQgemVybyBsZW5ndGguIElmIHRoZSBwYWNrZXQgaXMgdGhl DQo+ID4+Pj4+IGZpcnN0IHBhY2tldCBhbmQgaGFzIHRoZSBFT1AgYml0IHNldCwgdGhlIGFib3Zl IHNlZ21lbnRhdGlvbiBmYXVsdA0KPiA+Pj4+PiB3aWxsIGhhcHBlbi4NCj4gPj4+Pj4NCj4gPj4+ Pj4gU28sIHdlIHNob3VsZCBhZGQgcnRlX3JtYigpIHRvIGVuc3VyZSB0aGUgcmVhZCBvcmRlcmlu ZyBiZSBjb3JyZWN0Lg0KPiA+Pj4+PiBXZSBhbHNvDQo+ID4+Pj4+IGRpZCB0aGUgc2FtZSB0aGlu ZyBpbiB0aGUgaXhnYmVfcmVjdl9wa3RzKCkgZnVuY3Rpb24gdG8gbWFrZSB0aGUNCj4gPj4+Pj4g cnhkIGRhdGEgYmUgdmFsaWQgZXZlbiB0aG91Z3RoIHdlIGRpZCBub3QgZmluZCBzZWdtZW50YXRp b24gZmF1bHQNCj4gPj4+Pj4gaW4gdGhpcyBmdW5jdGlvbi4NCj4gPj4+Pj4NCj4gPj4+Pj4gU2ln bmVkLW9mZi1ieTogTWluIFpob3UgPHpob3VtaW5AbG9vbmdzb24uY24+DQo+ID4+Pj4+IC0tLQ0K PiA+Pj4+PiB2MjoNCj4gPj4+Pj4gLSBNYWtlIHRoZSBjYWxsaW5nIG9mIHJ0ZV9ybWIoKSBmb3Ig YWxsIHBsYXRmb3Jtcw0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4gIMKgZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfcnh0eC5jIHwgMyArKysNCj4gPj4+Pj4gIMKgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfcnh0eC5jDQo+ID4+Pj4+IGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jIGlu ZGV4IGM5ZDZjYTllZmUuLjMwMmE1YWI3ZmYNCj4gPj4+Pj4gMTAwNjQ0DQo+ID4+Pj4+IC0tLSBh L2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+Pj4+PiArKysgYi9kcml2ZXJzL25l dC9peGdiZS9peGdiZV9yeHR4LmMNCj4gPj4+Pj4gQEAgLTE4MjMsNiArMTgyMyw4IEBAIGl4Z2Jl X3JlY3ZfcGt0cyh2b2lkICpyeF9xdWV1ZSwgc3RydWN0DQo+ID4+Pj4+IHJ0ZV9tYnVmICoqcnhf cGt0cywNCj4gPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgc3RhdGVyciA9IHJ4ZHAtPndiLnVwcGVy LnN0YXR1c19lcnJvcjsNCj4gPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqAgaWYgKCEoc3RhdGVyciAm IHJ0ZV9jcHVfdG9fbGVfMzIoSVhHQkVfUlhEQURWX1NUQVRfREQpKSkNCj4gPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArwqDCoMKgwqDC oMKgwqAgcnRlX3JtYigpOw0KPiA+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCByeGQgPSAqcnhkcDsN Cj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gSW5kZWVkLCBsb29rcyBsaWtlIGEgcHJvYmxlbSB0byBt ZSBvbiBzeXN0ZW1zIHdpdGggcmVsYXhlZCBNTy4NCj4gPj4+PiBTdHJhbmdlIHRoYXQgaXQgd2Fz IG5ldmVyIGhpdCBvbiBhcm0gb3IgcHBjIC0gY2MtaW5nIEFSTS9QUEMNCj4gbWFpbnRhaW5lcnMu DQo+ID4+PiBUaGUgTG9vbmdBcmNoIGFyY2hpdGVjdHVyZSB1c2VzIHRoZSBXZWFrIENvbnNpc3Rl bmN5IG1vZGVsIHdoaWNoIGNhbg0KPiA+Pj4gY2F1c2UgdGhlIHByb2JsZW0sIGVzcGVjaWFsbHkg aW4gc2NlbmFyaW8gd2l0aCBtYW55IGNvcmVzLCBzdWNoIGFzDQo+ID4+PiBMb29uZ3NvbiAzQzUw MDAgd2l0aCBmb3VyIE5VTUEgbm9kZSwgd2hpY2ggaGFzIDY0IGNvcmVzLiBJIGNhbm5vdA0KPiA+ Pj4gcmVwcm9kdWNlIGl0IG9uIExvb25nc29uIDNDNTAwMCB3aXRoIG9uZSBOVU1BIG5vZGUsIHdo aWNoIGp1c3QgaGFzDQo+ID4+PiAxNg0KPiA+PiBjb3Jlcy4NCj4gPj4+PiBBYm91dCBhIGZpeCAt IGxvb2tzIHJpZ2h0LCBidXQgYSBiaXQgZXhjZXNzaXZlIHRvIG1lIC0gYXMgSQ0KPiA+Pj4+IHVu ZGVyc3RhbmQgYWxsIHdlIG5lZWQgaGVyZSBpcyB0byBwcmV2ZW50IHJlLW9yZGVyaW5nIGJ5IENQ VSBpdHNlbGYuDQo+ID4+PiBZZXMsIHRoYW5rcyBmb3IgY2MtaW5nLg0KPiA+Pj4+IFNvIHJ0ZV9z bXBfcm1iKCkgc2VlbXMgZW5vdWdoIGhlcmUuDQo+ID4+Pj4gT3IgbWlnaHQgYmUganVzdDoNCj4g Pj4+PiBzdGF0ZXJyID0gX19hdG9taWNfbG9hZF9uKCZyeGRwLT53Yi51cHBlci5zdGF0dXNfZXJy b3IsDQo+ID4+Pj4gX19BVE9NSUNfQUNRVUlSRSk7DQo+ID4+Pj4NCj4gPj4+IERvZXMgX19hdG9t aWNfbG9hZF9uKCkgd29yayBvbiBXaW5kb3dzIGlmIHdlIHVzZSBpdCB0byBzb2x2ZSB0aGlzDQo+ ID4+IHByb2JsZW0gPw0KPiA+Pg0KPiA+PiBZZXMsIF9fYXRvbWljX2xvYWRfbigpIHdvcmtzIG9u IFdpbmRvd3MgdG9vLg0KPiA+Pg0KPiBCZXN0IHJlZ2FyZHMsDQo+IA0KPiBNaW4NCj4gDQoNCg==