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 78D0745748; Tue, 6 Aug 2024 10:24:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 625DB40685; Tue, 6 Aug 2024 10:24:04 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2049.outbound.protection.outlook.com [40.107.244.49]) by mails.dpdk.org (Postfix) with ESMTP id C9238402CF for ; Tue, 6 Aug 2024 10:24:02 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pffC8B8l4FVT7BJ9t04BKGHpHY/DXAkAiwmyr9h60nqjy5yWEzm61AD8rQmFwRM1miLjqp/FnKycq5K5JhmmOPMKGtGE8wy4vMVdbnSb6iKLY09LcnEFRVOCta17YUEqH3gsu8TK/520DSovBqtmhHUFMl2a/xsR3XlDIUtg8LCtepVkOAWPWVWhEeKAh/TK+xLIFL2mUM57X+hsXi4ZO7Y89ghYN7u4Y/jN26foiDLNkep0wapdADsKcJQs0q/j7HAPou2wsiSdjmDTzjpJTL7belwiyu8RuqTBvoYrJpHSVmM5z4TvGX1y/fpSSrMQTFg/CHzBX9kqkui0c1c+yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=fXChgMwYfcsxn04N83MVg4gf4fd+OGB02MlaE715ucM=; b=xQDftaxv72MyFo8bHiCrC1PO0qdskX54/16GsRuzP8jeNBOkdYznwIZtxlKWggkOxRiyPZDb4ysWCMB1oCE/ECITnZh3mgD5PNKgTaIt7dO5eb/gt8MVKyLABver0/D1CBZr6ACzVgi67iPjEkAFUn3B5a381FFDagvpiU7C+zDJmlfI8P9oxPqbSFGV+zJIXgGdGwa3QlkwtWOXBR6cGok6OOhK8+EgLdkw0DxLASLdqToWVj8T1/v+A1oCaJ7iROidkebvn4tY/821Zl5hkGtx1ECLOq22W/1XtS1V8CXxU4VMA6RbW4fpC2wbD2edHtUNmXaBqWtypWO9CsCD6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fXChgMwYfcsxn04N83MVg4gf4fd+OGB02MlaE715ucM=; b=U+2acOiHZzBnJ9GtxtxMNzD3e5Lp7vqxi3LkIiwwEfj7BKxWIy0BwXBwpmsEarzTiCOMtjaSqmfiCsYgFkk7o2rSyE/0LiHajIC15+MvUcBswscNcE5dpIJ2+gwzCmlO6ohrZWnryIXGsfjblnpuSffc3a0xcHfM0z2W++JyekdxIRqYg2Yyao9SgUsVwkw6dNQ5T3joia95p43Kn+Nwykwc0S1QgnLCn/z+z5Od5dTI79JVC2B9zAw+Ifzn5aBrI4Vh65dFfD62rigvz+IceS/21K1KNxBoMtqPXlZxnMz2gw7HHAPoo7/5ZiErd6aCotOvX6deIIeiYTjhvQAPEw== Received: from IA0PR12MB8983.namprd12.prod.outlook.com (2603:10b6:208:490::17) by SJ0PR12MB6943.namprd12.prod.outlook.com (2603:10b6:a03:44b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.25; Tue, 6 Aug 2024 08:23:58 +0000 Received: from IA0PR12MB8983.namprd12.prod.outlook.com ([fe80::68e7:8370:b169:fa0e]) by IA0PR12MB8983.namprd12.prod.outlook.com ([fe80::68e7:8370:b169:fa0e%6]) with mapi id 15.20.7807.026; Tue, 6 Aug 2024 08:23:57 +0000 From: Chenbo Xia To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= CC: Maxime Coquelin , "stephen@networkplumber.org" , "dev@dpdk.org" Subject: Re: [PATCH v5] virtio: optimize stats counters performance Thread-Topic: [PATCH v5] virtio: optimize stats counters performance Thread-Index: AQHa5CxXJof1sgInYE6kY3ADvUstEbIZ65GA Date: Tue, 6 Aug 2024 08:23:57 +0000 Message-ID: References: <20240731131744.36448-1-mb@smartsharesystems.com> <20240801160312.205281-1-mb@smartsharesystems.com> In-Reply-To: <20240801160312.205281-1-mb@smartsharesystems.com> 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA0PR12MB8983:EE_|SJ0PR12MB6943:EE_ x-ms-office365-filtering-correlation-id: aca4a847-120d-4c97-0f3c-08dcb5f11e2d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?QUpiMVlkUWZ4anAvUDlJajNFai9XMmFObHkydmJlY0MySndxNm1lSElRendT?= =?utf-8?B?NldjVm9aejVEaE5TVFJzNjNRSnVrbWtsQklxMlBoQVIxV2lCS0V2byswMXM4?= =?utf-8?B?Q1IyZE1ROWhmL21KNmpQdjlrOXRaSU5kMGNpMjBYR1hYNVJaR0pLM3FoeDI5?= =?utf-8?B?cDIyT2JNQzB3dGozSmRIMWVXVkZZK3lmQk0reTNLSjdTNy9UOFVJZFRUdXlx?= =?utf-8?B?a28yRHZKRG1zUm12WnRrL2twcFRQbHRKWSsvN2NaeHdJeStNYVE2SmpneVJU?= =?utf-8?B?Z050eTRuTUxGZkI0eXZ3TlZoby9lRVA0SWM5QXNtaDhoU2xsMW5EQVRmSTNF?= =?utf-8?B?TFNHaHBTdk95dUkyMDNkcVFHSUl1d2FHS3lxc0xybERZVGNuQmxvVGVNY0ZW?= =?utf-8?B?MTQwQkZIOHRnVm9GWFpDc2RyRjI2citKYzBiV2hFdlBXNm9yYVlYNWVPMVRT?= =?utf-8?B?TzlINENWbEdWUTluWXZsME53MDdJTkxQSFBtelJtTWM1N1REY0UzN0xubXRq?= =?utf-8?B?dFhjZmhka1RhYWRpWGhYdzFtR1o3MWNwN1lJeU8yRWVXR1N5OWhPOUN0NkxF?= =?utf-8?B?a3JUa2F0ckJSS1Axb1A4YUxFdkoyNU5SUmhrZHJiL1IxVUs5bEVkdGZma2Y5?= =?utf-8?B?NHptK3pBR1NLcW5Ndm4zMjZQWUt5T25uT3ZoR1l6NHBlYzBlelZuYUFLRDE1?= =?utf-8?B?a1NNaUxvVm9yK0h2QzFOdUNvWEtiQk91VnN2OFR1MWZQdlB3S0p5OUt6emRj?= =?utf-8?B?SGp0emMrK1ZGMEk1dUhWaTNLQXdCNS81Z21ralBkcmZvSG9UTjNWSjdPdWdK?= =?utf-8?B?SHB4WDN2ZnVIZHJsL0xWZUhJajBUVnZPQnJzOERQUzg1azlUZUx4ajM5NUFI?= =?utf-8?B?dkpvRlJNdDVFYlR6aFdxcmF5aWh6VWNYWTFZYXVONWlBK2RLeFJhdERtb1Qy?= =?utf-8?B?MGRRVWlJMXNrc0JHcnlQSlk1K0YxQ0FUYkcwczZMcVdjSkFwRlVjdVJyUThX?= =?utf-8?B?NnlzL3JEUFVEOEdhQzVXUzVuMzE4K0o3aThROUZXS1VLMGRnRTFOblpwMTd4?= =?utf-8?B?N0dDQnpHeGZ1NzBpc3BTblFvMTNxekZtcnNWZWFHK0xJWmxqL2thTndqcEZn?= =?utf-8?B?MmZZS082NEpPSGdyMHhpdVhSbk1FbW1wWU9mZjhsNHo2R0VVaHJld0hhVHB6?= =?utf-8?B?bW9UNTNpNGJxeFU2dkhsdUxUUVYzclBFTll1eWkvbHJIZWxrY3J0VWlLaWhs?= =?utf-8?B?QTFuMEFSdXpEQ0p5aHlEaXJoUTlBMWE0Yy9oT1lMTnFXMWt0dmZuYlUyV295?= =?utf-8?B?bklHZldkZklrcjgvV0NVNHFSZkxORm1uUzhzdUlEcm9uYmhoUU9VV0ZKdmUw?= =?utf-8?B?ODF5Q0tRaHhPZUVmaXZtVTlpS1lSdjRnVDVpN2NrNnNNTjkyc2xFeG44WGs2?= =?utf-8?B?R3MydjNEL24rZWlIV1dWWEhPRWhLTEJaUG1WaWpLU1d4UlM2UUtoUDZxbTRN?= =?utf-8?B?VVlkRzZyK0pCNlVhNS90S1IwLytzQmtDQ3B5eDBZOENvdU8zZGpadFY2UDQ0?= =?utf-8?B?NVBOQTR6cDdXZUxOSENxalNieDlDMEhQTURHbm5zaGcrV2hoR0Mra0tmRlpE?= =?utf-8?B?djg3SXd5eFlVaDdCRmJrQjA5a08zK0tiaVFHVG9KWHI0dFpCSHdtem85WmlB?= =?utf-8?B?aUJOdUxoZFhrM2U4SE1iL25wTENZU1h2UTJGckYxcnRsOWUrN242U2lLc3hL?= =?utf-8?B?SmhMamVZK1U5K3lMVnRSNm9ocWNZY1daakRaV1A2VXhVY0NNM0RjQ0ZqZWNv?= =?utf-8?B?WFZBaUVxdjZVYkxSeE9lOVEwQ2Q5RmpQL3hxUjZzRWFOdmpVdEhNRTlhQy9a?= =?utf-8?B?NmdyY1ZzM0RYMzBPVHE2SkpKWmFmSGNkbjZzYkN2UEV1YWc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA0PR12MB8983.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eUxKNzdyRnZlUUhKSlBVT3hVd2pQM3V4dzdiYmFIcVZjNkkrMkFsci9wcUJn?= =?utf-8?B?M2JLNmE2UHlpa2NNZ2puT3AzM3FzangwanRCaVgwVWpJMnU2bHY4TzYyZC9J?= =?utf-8?B?RUFhVHZqemNDY0RvT3IvWFJ1RHVwdnlYaVhHcG5Eamx6WVBGMDYwTXg2SEtX?= =?utf-8?B?SHhkSVFMV25HbC9Xdm9RM2Q1MmFwMGl1UWViOEVoSUdEUEFtRHVMNkxQcFMz?= =?utf-8?B?VVZnc3AwTjhVaUhXRUpkUlVmeXdoV1d4S09VVy9PMVVQY01CWllRREV4dDdj?= =?utf-8?B?Smh3QzRZa3dwMW9YZkhYN01CenNLN21qby9BaERJbjZiZ1lTOGZCOG9XMVhO?= =?utf-8?B?cTVWR01KR0pkT2VOS3JWMTRWNFp4MXBJKzBZanAvTHgvSC83Z3JuZHVNRUdt?= =?utf-8?B?OVhqbHVteiswUUF0T2FJNnM5V1l6cVpOSUxMRlVqMVA0Mm5CVzV5UVJnV2hK?= =?utf-8?B?UDkxRVlLbk8xbTlYTnltdzBKVGIvOFcrV0Rrd1E3bGdmV0JGakZHcWVmZE9z?= =?utf-8?B?WFNFbExIVXhyQnNuZC8zQlMyWlllQ2lxcC9qeFhsU284MSszd1R1Y2FuRC9G?= =?utf-8?B?SGlBRGtwaCs3SUtqVkZHVXRrM2Q0RGoxMkkzTFgzZ25WdllDa1A1bUZqUzhW?= =?utf-8?B?Z3dTbEZJck1sc1dmMkplYWdscGxaQlRWcEl2OGlDc3NRd09DRnZnQ2xqbWpX?= =?utf-8?B?QUNtbWQ1dDVQbkpreVpOTm1PMjZLSUJxaXdVSzZNREdOblBTSFV6RjVwS3BM?= =?utf-8?B?U0d5T3lDb1BCYU8wZ1VkcDhnanBuTm9hdTk0eEN2RUs3bFFwaU1HcVE3aGsr?= =?utf-8?B?NlZOMTcxdytVQVhDcnUrVTZqd21SQWQ4VGJZUFI1RDJmVEVVa0hobHI5NDRQ?= =?utf-8?B?bnRhUXJmR3lJaXR0RDdHaGJ1VEhWNTQ1cWZWTkJVTlljcmNzOFo4Tmxad09y?= =?utf-8?B?US9HTXBaMmR5NEFTSCttMmlOaWE5N2hNRUpmNDFDeTFDQ0kzUFBNQ21PTnBT?= =?utf-8?B?WlEvNmplbXVheXU0TS9INjRGbFBxclg3UXcwdXVoREV0K25UZ1JEQXMvY2li?= =?utf-8?B?R0tjVmp5MXY3ejFUY3o3NW4rY25uU3ZhbkZwUmVCa004RVpCbG1DcnRXZ0o5?= =?utf-8?B?ZGlOeG5OVjFuTE9WcmhRZGZJUFFJejdyY3FtdDJlaXIxVzJCNTYzNGgxSVFk?= =?utf-8?B?LzdaQ3pGS2JYUEUyRlVDVTJGemFhQ04weFJpYzVBbTZXVCtYNlNhNmg0SGlP?= =?utf-8?B?eFVBNFdndTIzbjNyYWVHMm1jZktPU01vWURpandsUmpVMzdXcUQrOVN0RVdN?= =?utf-8?B?V1hveUlGYWFFYVBWN3Z6a0liSllidDhkM2tLY0Z0R1Q4cmVHMEhEcHo0aTRY?= =?utf-8?B?VzBobC8rbmN4R3dScDNSRXRXdnkxcnlpVVgrUWluRU9GOUVZN240SW9OV2pL?= =?utf-8?B?UlV4L0ZldEh1Rmt1eHVTanE0cjZzeWY2N0xzTEUyNEJZQ3h5SVhPNERCMXda?= =?utf-8?B?Rjh0RTg5V2pSbWVVd0tvS0FNN1FKTEJzbTNEZDdsS3RjTnE5WkZCTXZKSG5m?= =?utf-8?B?b21YZ25xUHpNZEV3RmZIUE5WeFg3NWVNL0p4dkJzL0EydGdRK29Zc2dkZXEw?= =?utf-8?B?UVB5Y1dwKzc4T3gzdC92d2VIZnlPZjF4WmRuSEMxTWs4YUJRSVhpZkxwUTVU?= =?utf-8?B?TlMwcWplZ1FyRjVCZ3VWejR2NFRPaFk2eUQxMXo5RGFpZHhkS3hJMzR0UEdS?= =?utf-8?B?azVPYmU0ZWhZSkRkV2h6YktZcFZTcHNjZzR6NmJnbTRaZHhCYUE0bEhIVUYy?= =?utf-8?B?V1h4ajFzaUJEM2dYZVRKME1FWnA2dUEvYlhjWXYyOHV4REFBRHEvc1BnOGRF?= =?utf-8?B?dHVpNm9GSUIxajY4aE1ubExMMVRaUkszaGxBOEFCOElSTW1zS1YyVVdScENw?= =?utf-8?B?Y2w5NEdpYjdwVDAxeU1idzUvakFmSmFudGs4MjRnOGt5b0o4clJ2S3F0VGNN?= =?utf-8?B?UjZPQ2hoSTU4NXZraTd5c1pBTm1IclM3OE83bUxhSmVHTkZvVXdHRGxQbkM5?= =?utf-8?B?YXZuOHlMcTZCY01mbW5icGViSERGQmQ0S203UDQ0TEhXNlA3VDhOc1B4V0cy?= =?utf-8?Q?AcjDwz8fonm0WozCW0kUvughb?= Content-Type: text/plain; charset="utf-8" Content-ID: <1B14B6548EAB6A459ACF82030D492A3D@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8983.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aca4a847-120d-4c97-0f3c-08dcb5f11e2d X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2024 08:23:57.7248 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jxHLgpfXo3lVt1LvCEV6jbmCQOIlVxgP85j9zPogeOhQLEIJ3o0fVhSxqPb2vhaxUGbS5MNRnMCPzvVxI6lYig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6943 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 DQoNCj4gT24gQXVnIDIsIDIwMjQsIGF0IDAwOjAzLCBNb3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRz aGFyZXN5c3RlbXMuY29tPiB3cm90ZToNCj4gDQo+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlv biBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQo+IA0KPiANCj4gT3B0aW1pemVkIHRoZSBw ZXJmb3JtYW5jZSBvZiB1cGRhdGluZyB0aGUgdmlydGlvIHN0YXRpc3RpY3MgY291bnRlcnMgYnkN Cj4gcmVkdWNpbmcgdGhlIG51bWJlciBvZiBicmFuY2hlcy4NCj4gDQo+IE9yZGVyZWQgdGhlIHBh Y2tldCBzaXplIGNvbXBhcmlzb25zIGFjY29yZGluZyB0byB0aGUgcHJvYmFiaWxpdHkgd2l0aA0K PiB0eXBpY2FsIGludGVybmV0IHRyYWZmaWMgbWl4Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTW9y dGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gLS0tDQo+IHY1Og0KPiAq IERvIG5vdCBpbmxpbmUgdGhlIGZ1bmN0aW9uLiAoU3RlcGhlbikNCj4gdjQ6DQo+ICogQ29uc2lk ZXIgbXVsdGljYXN0L2Jyb2FkY2FzdCBwYWNrZXRzIHVubGlrZWx5Lg0KPiB2MzoNCj4gKiBFbGlt aW5hdGVkIGEgbG9jYWwgdmFyaWFibGUuDQo+ICogTm90ZTogU3Vic3RpdHV0ZWQgc2l6ZW9mKHVp bnQzMl90KSo0IGJ5IDMyVUwsIHVzaW5nIHVuc2lnbmVkIGxvbmcgdHlwZQ0KPiAgdG8ga2VlcCBv cHRpbWFsIG9mZnNldHRpbmcgaW4gZ2VuZXJhdGVkIGFzc2VtYmxlciBvdXRwdXQuDQo+ICogUmVt b3ZlZCB1bm5lY2Vzc2FyeSBjdXJseSBicmFjZXMuDQo+IHYyOg0KPiAqIEZpeGVkIGNoZWNrcGF0 Y2ggd2FybmluZyBhYm91dCBsaW5lIGxlbmd0aC4NCj4gLS0tDQo+IGRyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fcnh0eC5jIHwgMzkgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19yeHR4LmggfCAgNCArKy0tDQo+IDIgZmlsZXMgY2hh bmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19yeHR4LmMgYi9kcml2ZXJzL25ldC92aXJ0aW8v dmlydGlvX3J4dHguYw0KPiBpbmRleCBmNjliOTQ1M2EyLi5iNjdmMDYzYjMxIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHguYw0KPiArKysgYi9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3J4dHguYw0KPiBAQCAtODIsMzcgKzgyLDI2IEBAIHZxX3JpbmdfZnJl ZV9jaGFpbihzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdWludDE2X3QgZGVzY19pZHgpDQo+IH0NCj4g DQo+IHZvaWQNCj4gLXZpcnRpb191cGRhdGVfcGFja2V0X3N0YXRzKHN0cnVjdCB2aXJ0bmV0X3N0 YXRzICpzdGF0cywgc3RydWN0IHJ0ZV9tYnVmICptYnVmKQ0KPiArdmlydGlvX3VwZGF0ZV9wYWNr ZXRfc3RhdHMoc3RydWN0IHZpcnRuZXRfc3RhdHMgKmNvbnN0IHN0YXRzLA0KPiArICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9tYnVmICpjb25zdCBtYnVmKQ0KPiB7DQo+ICAgICAgICB1 aW50MzJfdCBzID0gbWJ1Zi0+cGt0X2xlbjsNCj4gLSAgICAgICBzdHJ1Y3QgcnRlX2V0aGVyX2Fk ZHIgKmVhOw0KPiArICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXRoZXJfYWRkciAqY29uc3QgZWEg PQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBydGVfcGt0bWJ1Zl9tdG9kKG1idWYsIGNvbnN0 IHN0cnVjdCBydGVfZXRoZXJfYWRkciAqKTsNCj4gDQo+ICAgICAgICBzdGF0cy0+Ynl0ZXMgKz0g czsNCj4gDQo+IC0gICAgICAgaWYgKHMgPT0gNjQpIHsNCj4gLSAgICAgICAgICAgICAgIHN0YXRz LT5zaXplX2JpbnNbMV0rKzsNCj4gLSAgICAgICB9IGVsc2UgaWYgKHMgPiA2NCAmJiBzIDwgMTAy NCkgew0KPiAtICAgICAgICAgICAgICAgdWludDMyX3QgYmluOw0KPiAtDQo+IC0gICAgICAgICAg ICAgICAvKiBjb3VudCB6ZXJvcywgYW5kIG9mZnNldCBpbnRvIGNvcnJlY3QgYmluICovDQo+IC0g ICAgICAgICAgICAgICBiaW4gPSAoc2l6ZW9mKHMpICogOCkgLSBydGVfY2x6MzIocykgLSA1Ow0K PiAtICAgICAgICAgICAgICAgc3RhdHMtPnNpemVfYmluc1tiaW5dKys7DQo+IC0gICAgICAgfSBl bHNlIHsNCj4gLSAgICAgICAgICAgICAgIGlmIChzIDwgNjQpDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgIHN0YXRzLT5zaXplX2JpbnNbMF0rKzsNCj4gLSAgICAgICAgICAgICAgIGVsc2UgaWYg KHMgPCAxNTE5KQ0KPiAtICAgICAgICAgICAgICAgICAgICAgICBzdGF0cy0+c2l6ZV9iaW5zWzZd Kys7DQo+IC0gICAgICAgICAgICAgICBlbHNlDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0 YXRzLT5zaXplX2JpbnNbN10rKzsNCj4gLSAgICAgICB9DQo+ICsgICAgICAgaWYgKHMgPj0gMTAy NCkNCj4gKyAgICAgICAgICAgICAgIHN0YXRzLT5zaXplX2JpbnNbNiArIChzID4gMTUxOCldKys7 DQo+ICsgICAgICAgZWxzZSBpZiAocyA8PSA2NCkNCj4gKyAgICAgICAgICAgICAgIHN0YXRzLT5z aXplX2JpbnNbcyA+PiA2XSsrOw0KPiArICAgICAgIGVsc2UNCj4gKyAgICAgICAgICAgICAgIHN0 YXRzLT5zaXplX2JpbnNbMzJVTCAtIHJ0ZV9jbHozMihzKSAtIDVdKys7DQo+IA0KPiAtICAgICAg IGVhID0gcnRlX3BrdG1idWZfbXRvZChtYnVmLCBzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKik7DQo+ IC0gICAgICAgaWYgKHJ0ZV9pc19tdWx0aWNhc3RfZXRoZXJfYWRkcihlYSkpIHsNCj4gLSAgICAg ICAgICAgICAgIGlmIChydGVfaXNfYnJvYWRjYXN0X2V0aGVyX2FkZHIoZWEpKQ0KPiAtICAgICAg ICAgICAgICAgICAgICAgICBzdGF0cy0+YnJvYWRjYXN0Kys7DQo+IC0gICAgICAgICAgICAgICBl bHNlDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0YXRzLT5tdWx0aWNhc3QrKzsNCj4gLSAg ICAgICB9DQo+ICsgICAgICAgUlRFX0JVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgdmlydG5l dF9zdGF0cywgYnJvYWRjYXN0KSAhPQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRv ZihzdHJ1Y3QgdmlydG5ldF9zdGF0cywgbXVsdGljYXN0KSArIHNpemVvZih1aW50NjRfdCkpOw0K PiArICAgICAgIGlmICh1bmxpa2VseShydGVfaXNfbXVsdGljYXN0X2V0aGVyX2FkZHIoZWEpKSkN Cj4gKyAgICAgICAgICAgICAgICgmc3RhdHMtPm11bHRpY2FzdClbcnRlX2lzX2Jyb2FkY2FzdF9l dGhlcl9hZGRyKGVhKV0rKzsNCj4gfQ0KPiANCj4gc3RhdGljIGlubGluZSB2b2lkDQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHguaCBiL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fcnh0eC5oDQo+IGluZGV4IGFmYzRiNzQ1MzQuLjY4MDM0YzkxNGIgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcnh0eC5oDQo+ICsrKyBiL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fcnh0eC5oDQo+IEBAIC0zNSw3ICszNSw3IEBAIHN0cnVjdCB2 aXJ0bmV0X3R4IHsNCj4gfTsNCj4gDQo+IGludCB2aXJ0aW9fcnhxX3ZlY19zZXR1cChzdHJ1Y3Qg dmlydG5ldF9yeCAqcnh2cSk7DQo+IC12b2lkIHZpcnRpb191cGRhdGVfcGFja2V0X3N0YXRzKHN0 cnVjdCB2aXJ0bmV0X3N0YXRzICpzdGF0cywNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX21idWYgKm1idWYpOw0KPiArdm9pZCB2aXJ0aW9fdXBkYXRlX3BhY2tl dF9zdGF0cyhzdHJ1Y3QgdmlydG5ldF9zdGF0cyAqY29uc3Qgc3RhdHMsDQo+ICsgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgcnRlX21idWYgKmNvbnN0IG1idWYpOw0KPiANCj4gI2VuZGlmIC8q IF9WSVJUSU9fUlhUWF9IXyAqLw0KPiDigJQNCj4gMi40My4wDQo+IA0KDQpSZXZpZXdlZC1ieTog Q2hlbmJvIFhpYSA8Y2hlbmJveEBudmlkaWEuY29tPg==