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 EF366A034C for ; Tue, 20 Dec 2022 07:52:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E21CE41143; Tue, 20 Dec 2022 07:52:25 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 8503A40395; Tue, 20 Dec 2022 07:52:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1671519142; x=1703055142; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=e0rc4bdVjSxPnmQqVFyIDxHEsN5dV7ZtyabtrJ1oBsw=; b=nJWDksWb6gyFTvEO2N+9XmS+C9Io7b+K3ZTJc7SSGiEF79xGWWW1kj/U vURXcBNP0vcNiu5TK9UTlTPXme54W0YyP62gSQ1t5o7VD/SKfu39yjeW6 0hn7F4yYXjx2lq9OKW07YvItYMCMFKVlpyhA1STxB3vGo7OehW5mYmBEs vmBrwve+ZctLBR0CcPgtIL8bQNs5UNTYwKmpFTtomp4gv+jNuJ7nADjp+ BHnzR6ILfQHivQ1x4XHphoY661iFM6KFMMFo0C/y+5WH5Haiyi+A6XS0D BElkAaqOfRoAhugHfUwUua4W82B4iDBuE2pWKCWFPnGyPXn9WMGq79oyW w==; X-IronPort-AV: E=McAfee;i="6500,9779,10566"; a="318238481" X-IronPort-AV: E=Sophos;i="5.96,258,1665471600"; d="scan'208";a="318238481" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Dec 2022 22:52:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10566"; a="600976097" X-IronPort-AV: E=Sophos;i="5.96,258,1665471600"; d="scan'208";a="600976097" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 19 Dec 2022 22:52:16 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 19 Dec 2022 22:52:15 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.16 via Frontend Transport; Mon, 19 Dec 2022 22:52:15 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 19 Dec 2022 22:52:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OIpskgWKK4E+xdxTzl4DXDu2WGcjkbs1w+d+AKd5vgrwe+WHagFbrhen5ugLdBn6uBOiFgK37E8hEC+vc1cbagQJcdhFxG3JXbQYrezOFlqyiEsVtLI+9P5YLfuLDeLC4Vw8xxT5HGQeezT5fmqzlhJihtPrqWW5hqe0uh4SaT8/KZz284m26FTu6mI4VuvuLZ0lS/wh6XPQ5SgTDkiO0kJ+SEcHRBgxN2WyU7ZZ3iHabOBbptwRSPeiKyl2guVn3bzw/YRcGsp8jNMJ+ONlOzy73inB6DHhDr+L3Q2+TunxozXlswfDo8fCO/zXe0Hu745boomeFBecFfe99Nme4A== 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=e0rc4bdVjSxPnmQqVFyIDxHEsN5dV7ZtyabtrJ1oBsw=; b=UGRdTpaWkSmDhsWieQS8KqNEogjHcNxWOHVeZ4sQmtUJhMK+FNXd3a4JbV0TgVamcAfmCctQ55C0fr5U4HAznBUr0rAJ97owDUnY4W7PomH5f50Tj6j22TQFTJa0XmaC8oRaeFXeM2x+MFHGoVvAzCs2Gsb5DqhX0ZKiPNNGfLmd3cv0aPNRjxcaOKkt+evhArsGvXBNkt4rXqgW7OLVmVsR+kuLMfKzHFDt3LvRTd/6ATRr5szxXoofo4EouYclDytbhRTzLJS7oxBDK9/tmoeHCs1cm9EC3SP+/0IthIpO5jC3j2PZMquTViPFApfYvxG9qTHGl43wSBJN6OsiOQ== 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 SJ0PR11MB6765.namprd11.prod.outlook.com (2603:10b6:a03:47b::10) by SJ0PR11MB6742.namprd11.prod.outlook.com (2603:10b6:a03:47b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec 2022 06:52:14 +0000 Received: from SJ0PR11MB6765.namprd11.prod.outlook.com ([fe80::1193:2129:4750:3da0]) by SJ0PR11MB6765.namprd11.prod.outlook.com ([fe80::1193:2129:4750:3da0%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022 06:52:14 +0000 From: "You, KaisenX" To: Ferruh Yigit , "dev@dpdk.org" , "Burakov, Anatoly" , David Marchand CC: "stable@dpdk.org" , "Yang, Qiming" , "Zhou, YidingX" , "Wu, Jingjing" , "Xing, Beilei" , "Zhang, Qi Z" , Luca Boccassi , "Mcnamara, John" , Kevin Traynor Subject: RE: [PATCH] net/iavf:fix slow memory allocation Thread-Topic: [PATCH] net/iavf:fix slow memory allocation Thread-Index: AQHY+loFeMqmz4GLVk6MziI+2SKeuq5kN+YAgAdiwzCAABz/gIAAQP4AgAqCgmA= Date: Tue, 20 Dec 2022 06:52:13 +0000 Message-ID: References: <20221117065726.277672-1-kaisenx.you@intel.com> <3ad04278-59c0-0c60-5c8c-9e57f33bb0de@amd.com> In-Reply-To: <3ad04278-59c0-0c60-5c8c-9e57f33bb0de@amd.com> Accept-Language: zh-CN, 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: SJ0PR11MB6765:EE_|SJ0PR11MB6742:EE_ x-ms-office365-filtering-correlation-id: ae7518ae-7113-4796-5646-08dae256b9e9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: d0VwvG+RHg++JA1P3cMZLZ0SdKgvhmi+upQb6R2KKlhVIy0duv+JigkjcuSwskISazPN0vbwE6dq2PvuXIUZ3l9iyBDgvk4Htx6F1JyKXUz/9jF7qNx1+aHHSvq9TFljuqWreMIvuonszSaDdY6c4Mw6issyJ0vpLzVcanH+X9uyX+nUFhx4PdRseLO8b5KTXJEVrEOq0RO2ObJ9Slt8y/6EnIYwcuSvtZ5gXKByjNBT1BV+5GXFE/umLfw/H8FOmthoviKoydP4qQBOyJudgxZzgvukDkvsXZlPDKpKGixPe8r7ZatihuT4RBwbh/g/4Tx472CkAVUbGzFDPwT6f+DOrJXSaBG+c2Os92uIKEkKAS8/3QMeEMQxVFe9xoMmgHhfqT2TM22I0Xw2lm+Yh0vKOTOh/QJIyh3PuVTn4SXmyDHLOku8t3uRpctS3lJFJ38R4xKTGLKS3/5tWnHP4c/b7Eab3gV5WQJjHYkdjF2Hag9C3/mQXH4AA3QFv+QVh0Bgtx8Gcs4D+Mwy2vzOs7IrO64R37K92Mx0qS9flabTZSLchsqn02cmRAgO/ir2yDGW9YsRHFuR2lP+GgZohR1m/BjReQ4WBBmjVzSi29AYvvyNiGCoky5khqP4jLmv5uGeFrwT+uZRQpR/fYOQvZKOihM4cyykFyeuUP5kiZ2sNrHZNh97HY4PghpjpNvcJHE/FL1mwicC7umfm6K6Ng== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB6765.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(39860400002)(396003)(376002)(366004)(136003)(346002)(451199015)(4326008)(41300700001)(33656002)(76116006)(8676002)(66946007)(66476007)(55016003)(122000001)(64756008)(66446008)(66556008)(2906002)(8936002)(38100700002)(82960400001)(52536014)(5660300002)(110136005)(54906003)(83380400001)(38070700005)(71200400001)(9686003)(478600001)(186003)(53546011)(86362001)(26005)(316002)(6506007)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z1JudldYYndqQzRmSGVISE9pK2tkSGJjekxaUloxaU9reVYxazUrQ2M1RURT?= =?utf-8?B?Q2pnT0MrS3Avcm1rUEdMNTQwa2t4QytVaThrWkU2amhMejlkZ2l6UitHTWhO?= =?utf-8?B?bHpETFBtbURpSkE3SGtQYTE4dzJTam5iRmRNTFR2ZUZMVUdhSE1ERDhPOGtz?= =?utf-8?B?eUxhRXZZWm1ONlRGQkR1TTJLcWZTSnBUc2ZCcUZaakF4ZFlxRm1la3oxdjdV?= =?utf-8?B?dlJ0bGRUbENhWXA3RHFoZGtvb09UUUc2NHBoMnBTcS9EUkNhS2dlTmNjbksr?= =?utf-8?B?UE1GS0VsMXBCVU5Td3FVK1BBdUNwVTZyWDFQNCtFUjJFZVgrVm0wYVAwVHpG?= =?utf-8?B?V3Bxd1ZxbXNWdmpIamNzUkdYQUtGRFA2aWJkd2ZoQmZENVFqc2ZkcmV2RzV1?= =?utf-8?B?Wm16c0dpWllOK2FJTGVwMDRCZURqd09MajBReUJNb0dFZWdNR3hEdnNtUW9E?= =?utf-8?B?TlB1cGxBcjFMR0hyRkl1ODdhZVZ5T2c4UytpMXZtbWJITzl5NzNYdG14WkFW?= =?utf-8?B?UzdXYmlPQVN2ZmNaM3RxNTdPeGkyNmRrMEMxVng1MERQVUh3dnZkOHcrSlRQ?= =?utf-8?B?c1dxNEdyS2hqelNEbXExcHpmYU1GRThNUXdqakRYZVlvSXpsOWpESnNVR1NT?= =?utf-8?B?VWxMQURQcjBnWnlRQVJqTXRsN3NTT013cDRDcmdFYVRnUjBJVWRNelNXc25G?= =?utf-8?B?WUJKdk44aVFoWDEwYlBrNnFwbks5ZElqTjdMMlYyZFhQdmE4alBWd0owc3g0?= =?utf-8?B?cVlJT2pydnZjK1dsNVc4NFZ5d1pQUkpYYnlhM0hjMWh4Yy9DOWY0NGUwMDBL?= =?utf-8?B?aUV4cC9TMXljeVh3b25TWmVzWWE3YWFOUno2bytSbndObDJYRUFGVVprOTRl?= =?utf-8?B?WjY1eFRaL1ZBS21CMlI1dElFckNkY2RhUnIvdk1JLzVsNC9pSEFsSVlEZVJr?= =?utf-8?B?aEJjVXovb2lHTVNVWENma3hJTWk1OFlZbG5aSk5uRUVmWWpLTHBlVGZ3dHVl?= =?utf-8?B?VnFnODYvNFFrT2ZFdXpyQnpCbXJOQVErcWc3dnRtWGtpckd6eC9DUmE1U3V2?= =?utf-8?B?bkxPcEoyTzdBR1Z1NFFzQUVvWHJVeVNXREQ1MTdwQURqdTlhVFplcmVBbjhS?= =?utf-8?B?Qlk1MTNlNitjemRLYTdyQ25uSmpqZlo0RWd5UWk4K1ZFbjQ0RlRoY2VwSVFC?= =?utf-8?B?eE9icTEzZGJodTdYbUhGdkhEekRyYmRIcVJZdVFheDB0WnZPMGNYbGdUNHln?= =?utf-8?B?YnpIakpocGIyMWw5NEgrZDdydkxHTUtEcUtJV1I4VnA1ZjVYS1JrNllYMWEy?= =?utf-8?B?b3JLTURFZktrRTZjUzVtRS9vOU9CT05zVWJQdjBPK3NnZWRGcHYvdVRCL242?= =?utf-8?B?L29nWHd0Rjc3V01lc3BVNVFRcm1rem9JWDRFOUxSS093VkFLM0kzYjVjWEYw?= =?utf-8?B?dU1qZ3prTkJ0MDRlMmV6VmkrWFVNNHkzZlhvVm9IY0R5UGlxYW91Q0VPMGtK?= =?utf-8?B?NnBabnFZWFVMZVJaVGFaaTJDdzI2bEZmVTVnZmJhK0ozSnZ5WE96b3ZWM2c0?= =?utf-8?B?akxmWVRLTnhxVlFMbExjMmdwSVE5SEpZcUxycFhzMlFSVUJCYlR2bC9DOWpX?= =?utf-8?B?SU40a1RHdEFxWEJobVJnYVRaMTFDQ3VmVHJGbjh3d3MzK05ZakZIMEZMVFZJ?= =?utf-8?B?a2N3Z1o0eVFidEtVTzROa1lmMlNRRnRBYzQ4YmZmblNIaUZYUkdNTEo1Qjhh?= =?utf-8?B?cnVWR0xadVFjdEROb0VhV3BzRWJEZjhkRnhuWWlreUNqWHdpUVpST0N5VVda?= =?utf-8?B?U1NpeVA3ejBBOTJsK1htUUphT09xbENnSDExdndDYm12TFd6RWxuMm9YVVJY?= =?utf-8?B?cXRKQk40TUxXUU9wcGRIM3RTa1FpUE5BazdkcjBwRTJsSzRrZEtRSmxrcWls?= =?utf-8?B?OVBtbVRVMVRCTm1SUjBtMjhHOWhnSUxESHRyTjRtbStNK1hVU0xwVkJJOWRL?= =?utf-8?B?QTBVbFlOQ1oybVdqcjF1VXB4Z0I5NVdvMDg3bVN3azVSczQwSU9wSi9YWnRu?= =?utf-8?B?eTVsdmRJQXlpeHdiYytJQWpOQUZKY25uNmZZYThGRkM5YVpSTnFiTzUxVjFU?= =?utf-8?Q?Mobq72ZAyhmBJaFPKTijzxLq4?= 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: SJ0PR11MB6765.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae7518ae-7113-4796-5646-08dae256b9e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 06:52:14.0020 (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: YZZxYg94vQ7F/cEbQ/iwkEBVaPHQas1N2qIzkawai1egwgWyFu9yg2kEqSveKli551Vq8Q4Cd6DtZ0hkce0H7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6742 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogMjAyMuW5tDEy5pyIMTPml6UgMjE6MjgNCj4g VG86IFlvdSwgS2Fpc2VuWCA8a2Fpc2VueC55b3VAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOyBC dXJha292LA0KPiBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPjsgRGF2aWQgTWFy Y2hhbmQNCj4gPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IENjOiBzdGFibGVAZHBkay5v cmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPjsgWmhvdSwgWWlkaW5nWA0K PiA8eWlkaW5neC56aG91QGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50 ZWwuY29tPjsgWGluZywNCj4gQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBaaGFuZywg UWkgWiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBMdWNhDQo+IEJvY2Nhc3NpIDxibHVjYUBkZWJp YW4ub3JnPjsgTWNuYW1hcmEsIEpvaG4NCj4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgS2V2 aW4gVHJheW5vciA8a3RyYXlub3JAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0g bmV0L2lhdmY6Zml4IHNsb3cgbWVtb3J5IGFsbG9jYXRpb24NCj4gDQo+IE9uIDEyLzEzLzIwMjIg OTozNSBBTSwgRmVycnVoIFlpZ2l0IHdyb3RlOg0KPiA+IE9uIDEyLzEzLzIwMjIgNzo1MiBBTSwg WW91LCBLYWlzZW5YIHdyb3RlOg0KPiA+Pg0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gPj4+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFtZC5jb20+ DQo+ID4+PiBTZW50OiAyMDIy5bm0MTLmnIg45pelIDIzOjA0DQo+ID4+PiBUbzogWW91LCBLYWlz ZW5YIDxrYWlzZW54LnlvdUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7IEJ1cmFrb3YsDQo+ID4+ PiBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4g Pj4+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiA+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9y ZzsgWWFuZywgUWltaW5nIDxxaW1pbmcueWFuZ0BpbnRlbC5jb20+OyBaaG91LA0KPiA+Pj4gWWlk aW5nWCA8eWlkaW5neC56aG91QGludGVsLmNvbT47IFd1LCBKaW5namluZw0KPiA+Pj4gPGppbmdq aW5nLnd1QGludGVsLmNvbT47IFhpbmcsIEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsN Cj4gPj4+IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IEx1Y2EgQm9jY2Fzc2kN Cj4gPj4+IDxibHVjYUBkZWJpYW4ub3JnPjsgTWNuYW1hcmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFA aW50ZWwuY29tPjsNCj4gS2V2aW4NCj4gPj4+IFRyYXlub3IgPGt0cmF5bm9yQHJlZGhhdC5jb20+ DQo+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBuZXQvaWF2ZjpmaXggc2xvdyBtZW1vcnkgYWxs b2NhdGlvbg0KPiA+Pj4NCj4gPj4+IE9uIDExLzE3LzIwMjIgNjo1NyBBTSwgS2Fpc2VuIFlvdSB3 cm90ZToNCj4gPj4+PiBJbiBzb21lIGNhc2VzLCB0aGUgRFBESyBkb2VzIG5vdCBhbGxvY2F0ZSBo dWdlcGFnZSBoZWFwIG1lbW9yeSB0bw0KPiA+Pj4gc29tZQ0KPiA+Pj4+IHNvY2tldHMgZHVlIHRv IHRoZSB1c2VyIHNldHRpbmcgcGFyYW1ldGVycyAoZS5nLiAtbCA0MC03OSwgU09DS0VUIDANCj4g Pj4+PiBoYXMgbm8gbWVtb3J5KS4NCj4gPj4+PiBXaGVuIHRoZSBpbnRlcnJ1cHQgdGhyZWFkIHJ1 bnMgb24gdGhlIGNvcnJlc3BvbmRpbmcgY29yZSBvZiB0aGlzDQo+ID4+Pj4gc29ja2V0LCBlYWNo IGFsbG9jYXRpb24vcmVsZWFzZSB3aWxsIGV4ZWN1dGUgYSB3aG9sZSBzZXQgb2YgaGVhcA0KPiA+ Pj4+IGFsbG9jYXRpb24vcmVsZWFzZSBvcGVyYXRpb25zLHJlc3VsdGluZyBpbiBwb29yIHBlcmZv cm1hbmNlLg0KPiA+Pj4+IEluc3RlYWQgd2UgY2FsbCBtYWxsb2MoKSB0byBnZXQgbWVtb3J5IGZy b20gdGhlIHN5c3RlbSdzIGhlYXAgc3BhY2UNCj4gPj4+PiB0byBmaXggdGhpcyBwcm9ibGVtLg0K PiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gSGkgS2Fpc2VuLA0KPiA+Pj4NCj4gPj4+IFVzaW5nIGxpYmMg bWFsbG9jIGNhbiBpbXByb3ZlIHBlcmZvcm1hbmNlIGZvciB0aGlzIGNhc2UsIGJ1dCBJIHdvdWxk DQo+ID4+PiBsaWtlIHRvIHVuZGVyc3RhbmQgcm9vdCBjYXVzZSBvZiB0aGUgcHJvYmxlbS4NCj4g Pj4+DQo+ID4+Pg0KPiA+Pj4gQXMgZmFyIGFzIEkgY2FuIHNlZSwgaW50ZXJydXB0IGNhbGxiYWNr cyBhcmUgcnVuIGJ5IGludGVycnVwdCB0aHJlYWQNCj4gPj4+ICgiZWFsLWludHItIHRocmVhZCIp LCBhbmQgaW50ZXJydXB0IHRocmVhZCBjcmVhdGVkIGJ5DQo+ICdydGVfY3RybF90aHJlYWRfY3Jl YXRlKCknIEFQSS4NCj4gPj4+DQo+ID4+PiAncnRlX2N0cmxfdGhyZWFkX2NyZWF0ZSgpJyBjb21t ZW50IG1lbnRpb25zIHRoYXQgIkNQVSBhZmZpbml0eQ0KPiA+Pj4gcmV0cmlldmVkIGF0IHRoZSB0 aW1lICdydGVfZWFsX2luaXQoKScgd2FzIGNhbGxlZCwiDQo+ID4+Pg0KPiA+Pj4gQW5kICdydGVf ZWFsX2luaXQoKScgaXMgcnVuIG9uIG1haW4gbGNvcmUsIHdoaWNoIGlzIHRoZSBmaXJzdCBsY29y ZQ0KPiA+Pj4gaW4gdGhlIGNvcmUgbGlzdCAodW5sZXNzIG90aGVyd2lzZSBkZWZpbmVkIHdpdGgg LS1tYWluLWxjb3JlKS4NCj4gPj4+DQo+ID4+PiBTbywgdGhlIGludGVycnVwdHMgc2hvdWxkIGJl IHJ1bm5pbmcgb24gYSBjb3JlIHRoYXQgaGFzIGh1Z2VwYWdlcw0KPiA+Pj4gYWxsb2NhdGVkIGZv ciBpdCwgYW0gSSBtaXNzaW5nIHNvbWV0aGluZyBoZXJlPw0KPiA+Pj4NCj4gPj4+DQo+ID4+IFRo YW5rIGZvciB5b3VyIGNvbW1lbnRzLiAgTGV0IG1lIHRyeSB0byBleHBsYWluIHRoZSByb290IGNh dXNlIGhlcmU6DQo+ID4+IGVhbF9pbnRyX3RocmVhZCB0aGUgQ1BVIGluIHRoZSBjb3JyZXNwb25k aW5nIHNsb3QgZG9lcyBub3QgY3JlYXRlDQo+IG1lbW9yeSBwb29sLg0KPiA+PiBUaGF0IHJlc3Vs dHMgaW4gZnJlcXVlbnQgbWVtb3J5IHN1YnNlcXVlbnRseSBjcmVhdGluZy9kZXN0cnVjdGluZy4N Cj4gPj4NCj4gPj4gV2hlbiB0ZXN0cG1kIHN0YXJ0ZWQsIHRoZSBwYXJhbWV0ZXIgKGUuZy4gLWwg NDAtNzkpIGlzIHNldC4NCj4gPj4gRGlmZmVyZW50IE9TIGhhcyBkaWZmZXJlbnQgdG9wb2xvZ3ku IFNvbWUgT1MgbGlrZSBTVVNFIG9ubHkgY3JlYXRlcw0KPiA+PiBtZW1vcnkgcG9vbCBmb3Igb25l IENQVSBzbG90LCB3aGlsZSBvdGhlciBzeXN0ZW0gY3JlYXRlcyBmb3IgdHdvLg0KPiA+PiBUaGF0 IGlzIHdoeSB0aGUgcHJvYmxlbSBvY2N1cnMgd2hlbiB1c2luZyBtZW1vcmllcyBpbiBkaWZmZXJl bnQgT1MuDQo+ID4NCj4gPg0KPiA+IEl0IGlzIHRlc3RwbWQgYXBwbGljYXRpb24gdGhhdCBkZWNp ZGVzIGZyb20gd2hpY2ggc29ja2V0IHRvIGFsbG9jYXRlDQo+ID4gbWVtb3J5IGZyb20sIHJpZ2h0 LiBUaGlzIGlzIG5vdGhpbmcgc3BlY2lmaWMgdG8gT1MuDQo+ID4NCj4gPiBBcyBmYXIgYXMgSSBy ZW1lbWJlciwgdGVzdHBtZCBsb2dpYyBpcyB0b28gYWxsb2NhdGUgZnJvbSBzb2NrZXQgdGhhdA0K PiA+IGl0cyBjb3JlcyBhcmUgdXNlZCAocHJvdmlkZWQgd2l0aCAtbCBwYXJhbWV0ZXIpLCBhbmQg YWxsb2NhdGUgZnJvbQ0KPiA+IHNvY2tldCB0aGF0IGRldmljZSBpcyBhdHRhY2hlZCB0by4NCj4g Pg0KPiA+IFNvLCBpbiBhIGR1YWwgc29ja2V0IHN5c3RlbSwgaWYgYWxsIHVzZWQgY29yZXMgYXJl IGluIHNvY2tldCAxIGFuZCB0aGUNCj4gPiBOSUMgaXMgaW4gc29ja2V0IDEsIG5vIG1lbW9yeSBp cyBhbGxvY2F0ZWQgZm9yIHNvY2tldCAwLiBUaGlzIGlzIHRvDQo+ID4gb3B0aW1pemUgbWVtb3J5 IGNvbnN1bXB0aW9uLg0KPiA+DQo+ID4NCj4gPiBDYW4geW91IHBsZWFzZSBjb25maXJtIHRoYXQg dGhlIHByb2JsZW0geW91IGFyZSBvYnNlcnZpbmcgaXMgYmVjYXVzZQ0KPiA+IGludGVycnVwdCBo YW5kbGVyIGlzIHJ1bm5pbmcgb24gYSBDUFUsIHdoaWNoIGRvZXNuJ3QgaGF2ZSBtZW1vcnkNCj4g PiBhbGxvY2F0ZWQgZm9yIGl0cyBzb2NrZXQ/DQo+ID4NCj4gPiBJbiB0aGlzIGNhc2Ugd2hhdCBJ IGRvbid0IHVuZGVyc3RhbmQgaXMgd2h5IGludGVycnVwdHMgaXMgbm90IHJ1bm5pbmcNCj4gPiBv biBtYWluIGxjb3JlLCB3aGljaCBzaG91bGQgYmUgZmlyc3QgY29yZSBpbiB0aGUgbGlzdCwgZm9y ICItbCA0MC03OSINCj4gPiBzYW1wbGUgaXQgc2hvdWxkIGJlIGxjb3JlIDQwLg0KPiA+IEZvciB5 b3VyIGNhc2UsIGlzIGludGVycnVwdCBoYW5kbGVyIHJ1biBvbiBjb3JlIDA/IE9yIGFueSBhcmJp dHJhcnkgY29yZT8NCj4gPiBJZiBzbywgY2FuIHlvdSBwbGVhc2UgY29uZmlybSB3aGVuIHlvdSBw cm92aWRlIGNvcmUgbGlzdCBhcyAiLWwgMCw0MC03OSINCj4gPiBmaXhlcyB0aGUgaXNzdWU/DQo+ ID4NCkZpcnN0IG9mIGFsbCwgc29ycnkgdG8gcmVwbHkgdG8geW91IHNvIGxhdGUuDQpJIGNhbiBj b25maXJtIHRoYXQgdGhlIHByb2JsZW0gSSBvYnNlcnZlZCBpcyBiZWNhdXNlICBpbnRlcnJ1cHQg aGFuZGxlciBpcyANCnJ1bm5pbmcgb24gYSBDUFUsIHdoaWNoIGRvZXNuJ3QgaGF2ZSBtZW1vcnkg YWxsb2NhdGVkIGZvciBpdHMgc29ja2V0Lg0KDQpJbiBteSBjYXNlLCBpbnRlcnJ1cHQgaGFuZGxl ciBpcyBydW5uaW5nIG9uIGNvcmUgMC4NCkkgdHJpZWQgcHJvdmlkaW5nICItbCAwLDQwLTc5IiBh cyBhIHN0YXJ0dXAgcGFyYW1ldGVyLCB0aGlzIGlzc3VlIGNhbiBiZSByZXNvbHZlZC4NCg0KSSBj b3JyZWN0ZWQgdGhlIHByZXZpb3VzIHN0YXRlbWVudCB0aGF0IHRoaXMgcHJvYmxlbSBkb2VzICBv bmx5IG9jY3VyIG9uIA0KdGhlIFNVU0Ugc3lzdGVtLiBJbiBhbnkgT1MsIHRoaXMgcHJvYmxlbSBv Y2N1cnMgYXMgbG9uZyBhcyB0aGUgcmFuZ2Ugb2YgDQpzdGFydHVwIHBhcmFtZXRlcnMgaXMgb25s eSBvbiBub2RlMS4NCg0KPiA+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IEFuZCB3aGF0IGFib3V0IHVz aW5nICdydGVfbWFsbG9jX3NvY2tldCgpJyBBUEkgKGluc3RlYWQgb2YNCj4gPj4+IHJ0ZV9tYWxs b2MpLCB3aGljaCBnZXRzICdzb2NrZXQnIGFzIHBhcmFtZXRlciwgYW5kIHByb3ZpZGUgdGhlDQo+ ID4+PiBzb2NrZXQgdGhhdCBkZXZpY2VzIGlzIG9uIGFzIHBhcmFtZXRlciB0byB0aGlzIEFQST8g SXMgaXQgcG9zc2libGUgdG8gdGVzdA0KPiB0aGlzPw0KPiA+Pj4NCj4gPj4+DQo+ID4+IEFzIHRv IHRoZSByZWFzb24gZm9yIG5vdCB1c2luZyBydGVfbWFsbG9jX3NvY2tldC4gSSB0aG91Z2h0DQo+ ID4+IHJ0ZV9tYWxsb2Nfc29ja2V0KCkgY291bGQgc29sdmUgdGhlIHByb2JsZW0gdG9vLiBBbmQg dGhlIGFwcHJvcHJpYXRlDQo+ID4+IHBhcmFtZXRlciBzaG91bGQgYmUgdGhlIHNvY2tldF9pZCB0 aGF0IGNyZWF0ZWQgdGhlIG1lbW9yeSBwb29sIGZvcg0KPiA+PiBEUERLIGluaXRpYWxpemF0aW9u LiBBc3N1bWluZyB0aGF0PiB0aGUgc29ja2V0X2lkIG9mIHRoZSBpbml0aWFsbHkNCj4gPj4gYWxs b2NhdGVkIG1lbW9yeSA9IDEsIGZpcnN0IGxldCB0aGUNCj4gPiBlYWxfaW50cl90aHJlYWQNCj4g Pj4gZGV0ZXJtaW5lIGlmIGl0IGlzIG9uIHRoZSBzb2NrZXRfaWQsIHRoZW4gcmVjb3JkIHRoaXMg c29ja2V0X2lkIGluDQo+ID4+IHRoZSBlYWxfaW50cl90aHJlYWQgYW5kIHBhc3MgaXQgdG8gdGhl IGlhdmZfZXZlbnRfdGhyZWFkLiAgQnV0IHRoZXJlDQo+ID4+IHNlZW1zIG5vIHdheSB0byBsaW5r IHRoaXMgcGFyYW1ldGVyIHRvIHRoZSBpYXZmX2Rldl9ldmVudF9wb3N0KCkNCj4gZnVuY3Rpb24u IFRoYXQgaXMgd2h5IHJ0ZV9tYWxsb2Nfc29ja2V0IGlzIG5vdCB1c2VkLg0KPiA+Pg0KPiA+DQo+ ID4gSSB3YXMgdGhpbmtpbmcgc29ja2V0IGlkIG9mIGRldmljZSBjYW4gYmUgdXNlZCwgYnV0IHRo YXQgd29uJ3QgaGVscCBpZg0KPiA+IHRoZSBjb3JlIHRoYXQgaW50ZXJydXB0IGhhbmRsZXIgcnVu cyBpcyBpbiBkaWZmZXJlbnQgc29ja2V0Lg0KPiA+IEFuZCBJIGFsc28gZG9uJ3Qga25vdyBpZiB0 aGVyZSBpcyBhIHdheSB0byBnZXQgc29ja2V0IHRoYXQgaW50ZXJydXB0DQo+ID4gdGhyZWFkIGlz IG9uLiBARGF2aWQgbWF5IGhlbHAgcGVyaGFwcy4NCj4gPg0KPiA+IFNvIHF1ZXN0aW9uIGlzIHdo eSBpbnRlcnJ1cHQgdGhyZWFkIGlzIG5vdCBydW5uaW5nIG9uIG1haW4gbGNvcmUuDQo+ID4NCj4g DQo+IE9LIGFmdGVyIHNvbWUgdGFsayB3aXRoIERhdmlkLCB3aGF0IEkgYW0gbWlzc2luZyBpcyAn cnRlX2N0cmxfdGhyZWFkX2NyZWF0ZSgpJw0KPiBkb2VzIE5PVCBydW4gb24gbWFpbiBsY29yZSwg aXQgY2FuIHJ1biBvbiBhbnkgY29yZSBleGNlcHQgZGF0YSBwbGFuZSBjb3Jlcy4NCj4gDQo+IERy aXZlciAiaWF2Zi1ldmVudC10aHJlYWQiIHRocmVhZCAoaWF2Zl9kZXZfZXZlbnRfaGFuZGxlKCkp IGFuZCBpbnRlcnJ1cHQNCj4gdGhyZWFkIChzbyBkcml2ZXIgaW50ZXJydXB0IGNhbGxiYWNrIGlh dmZfZGV2X2V2ZW50X3Bvc3QoKSkgY2FuIHJ1biBvbiBhbnkNCj4gY29yZSwgbWFraW5nIGl0IGhh cmQgdG8gbWFuYWdlLg0KPiBBbmQgaXQgc2VlbXMgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRy b2wgd2hlcmUgaW50ZXJydXB0IHRocmVhZCB0byBydW4uDQo+IA0KPiBPbmUgb3B0aW9uIGNhbiBi ZSBhbGxvY2F0aW5nIGh1Z2VwYWdlcyBmb3IgYWxsIHNvY2tldHMsIGJ1dCB0aGlzIHJlcXVpcmVz IHVzZXINCj4gaW52b2x2ZW1lbnQsIGFuZCBjYW4ndCBoYXBwZW4gdHJhbnNwYXJlbnRseS4NCj4g DQo+IE90aGVyIG9wdGlvbiBjYW4gYmUgdG8gY29udHJvbCB3aGVyZSAiaWF2Zi1ldmVudC10aHJl YWQiIHJ1biwgbGlrZSB1c2luZw0KPiAncnRlX3RocmVhZF9jcmVhdGUoKScgdG8gY3JlYXRlIHRo cmVhZCBhbmQgcHJvdmlkZSBhdHRyaWJ1dGUgdG8gcnVuIGl0IG9uIG1haW4NCj4gbGNvcmUgKHJ0 ZV9sY29yZV9jcHVzZXQocnRlX2dldF9tYWluX2xjb3JlKCkpKT8NCj4gDQo+IENhbiB5b3UgcGxl YXNlIHRlc3QgYWJvdmUgb3B0aW9uPw0KPiANCj4gDQpUaGUgZmlyc3Qgb3B0aW9uIGNhbiBzb2x2 ZSB0aGlzIGlzc3VlLiBidXQgdG8gYm9ycm93IGZyb20geW91ciBwcmV2aW91cyBzYXlpbmcsIA0K ImluIGEgZHVhbCBzb2NrZXQgc3lzdGVtLCBpZiBhbGwgdXNlZCBjb3JlcyBhcmUgaW4gc29ja2V0 IDEgYW5kIHRoZSBOSUMgaXMgaW4gc29ja2V0IDEsDQogbm8gbWVtb3J5IGlzIGFsbG9jYXRlZCBm b3Igc29ja2V0IDAuICBUaGlzIGlzIHRvIG9wdGltaXplIG1lbW9yeSBjb25zdW1wdGlvbi4iDQpJ IHRoaW5rIGl0J3MgdW5yZWFzb25hYmxlIHRvIGRvIHNvLg0KDQpBYm91dCBvdGhlciBvcHRpb24u IEluICIgcnRlX2VhbF9pbnRyX2luaXQiIGZ1bmN0aW9uLCBBZnRlciB0aGUgdGhyZWFkIGlzIGNy ZWF0ZWQsIA0KSSBzZXQgdGhlIHRocmVhZCBhZmZpbml0eSBmb3IgZWFsLWludHItdGhyZWFkLCBi dXQgaXQgZG9lcyBub3Qgc29sdmUgdGhpcyBpc3N1ZS4NCj4gDQo+ID4+IExldCBtZSBrbm93IGlm IHRoZXJlIGlzIGFueXRoaW5nIGVsc2UgdW5jbGVhci4NCj4gPj4+DQo+ID4+Pj4gRml4ZXM6IGNi NWMxYjkxZjc2ZiAoIm5ldC9pYXZmOiBhZGQgdGhyZWFkIGZvciBldmVudCBjYWxsYmFja3MiKQ0K PiA+Pj4+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPj4+Pg0KPiA+Pj4+IFNpZ25lZC1vZmYtYnk6 IEthaXNlbiBZb3UgPGthaXNlbngueW91QGludGVsLmNvbT4NCj4gPj4+PiAtLS0NCj4gPj4+PiAg ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMgfCA4ICsrKy0tLS0tDQo+ID4+Pj4gIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ID4+Pj4NCj4gPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMNCj4gPj4+PiBiL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jIGluZGV4IGY5MmRhZjk3ZjIuLmEwNTc5MWZlNDgg MTAwNjQ0DQo+ID4+Pj4gLS0tIGEvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMNCj4gPj4+ PiArKysgYi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYw0KPiA+Pj4+IEBAIC0zNiw3ICsz Niw2IEBAIHN0cnVjdCBpYXZmX2V2ZW50X2VsZW1lbnQgew0KPiA+Pj4+ICAJc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXY7DQo+ID4+Pj4gIAllbnVtIHJ0ZV9ldGhfZXZlbnRfdHlwZSBldmVudDsNCj4g Pj4+PiAgCXZvaWQgKnBhcmFtOw0KPiA+Pj4+IC0Jc2l6ZV90IHBhcmFtX2FsbG9jX3NpemU7DQo+ ID4+Pj4gIAl1aW50OF90IHBhcmFtX2FsbG9jX2RhdGFbMF07DQo+ID4+Pj4gIH07DQo+ID4+Pj4N Cj4gPj4+PiBAQCAtODAsNyArNzksNyBAQCBpYXZmX2Rldl9ldmVudF9oYW5kbGUodm9pZCAqcGFy YW0NCj4gX19ydGVfdW51c2VkKQ0KPiA+Pj4+ICAJCVRBSUxRX0ZPUkVBQ0hfU0FGRShwb3MsICZw ZW5kaW5nLCBuZXh0LCBzYXZlX25leHQpIHsNCj4gPj4+PiAgCQkJVEFJTFFfUkVNT1ZFKCZwZW5k aW5nLCBwb3MsIG5leHQpOw0KPiA+Pj4+ICAJCQlydGVfZXRoX2Rldl9jYWxsYmFja19wcm9jZXNz KHBvcy0+ZGV2LCBwb3MtIGV2ZW50LA0KPiBwb3MtPnBhcmFtKTsNCj4gPj4+PiAtCQkJcnRlX2Zy ZWUocG9zKTsNCj4gPj4+PiArCQkJZnJlZShwb3MpOw0KPiA+Pj4+ICAJCX0NCj4gPj4+PiAgCX0N Cj4gPj4+Pg0KPiA+Pj4+IEBAIC05NCwxNCArOTMsMTMgQEAgaWF2Zl9kZXZfZXZlbnRfcG9zdChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gew0KPiA+Pj4+ICAJc3RydWN0IGlhdmZfZXZlbnRf aGFuZGxlciAqaGFuZGxlciA9ICZldmVudF9oYW5kbGVyOw0KPiA+Pj4+ICAJY2hhciBub3RpZnlf Ynl0ZTsNCj4gPj4+PiAtCXN0cnVjdCBpYXZmX2V2ZW50X2VsZW1lbnQgKmVsZW0gPSBydGVfbWFs bG9jKE5VTEwsIHNpemVvZigqZWxlbSkNCj4gPj4+ICsgcGFyYW1fYWxsb2Nfc2l6ZSwgMCk7DQo+ ID4+Pj4gKwlzdHJ1Y3QgaWF2Zl9ldmVudF9lbGVtZW50ICplbGVtID0gbWFsbG9jKHNpemVvZigq ZWxlbSkgKw0KPiA+Pj4+ICtwYXJhbV9hbGxvY19zaXplKTsNCj4gPj4+PiAgCWlmICghZWxlbSkN Cj4gPj4+PiAgCQlyZXR1cm47DQo+ID4+Pj4NCj4gPj4+PiAgCWVsZW0tPmRldiA9IGRldjsNCj4g Pj4+PiAgCWVsZW0tPmV2ZW50ID0gZXZlbnQ7DQo+ID4+Pj4gIAllbGVtLT5wYXJhbSA9IHBhcmFt Ow0KPiA+Pj4+IC0JZWxlbS0+cGFyYW1fYWxsb2Nfc2l6ZSA9IHBhcmFtX2FsbG9jX3NpemU7DQo+ ID4+Pj4gIAlpZiAocGFyYW0gJiYgcGFyYW1fYWxsb2Nfc2l6ZSkgew0KPiA+Pj4+ICAJCXJ0ZV9t ZW1jcHkoZWxlbS0+cGFyYW1fYWxsb2NfZGF0YSwgcGFyYW0sDQo+ID4+PiBwYXJhbV9hbGxvY19z aXplKTsNCj4gPj4+PiAgCQllbGVtLT5wYXJhbSA9IGVsZW0tPnBhcmFtX2FsbG9jX2RhdGE7IEBA IC0xNjUsNyArMTYzLDcNCj4gPj4+IEBADQo+ID4+Pj4gaWF2Zl9kZXZfZXZlbnRfaGFuZGxlcl9m aW5pKHZvaWQpDQo+ID4+Pj4gIAlzdHJ1Y3QgaWF2Zl9ldmVudF9lbGVtZW50ICpwb3MsICpzYXZl X25leHQ7DQo+ID4+Pj4gIAlUQUlMUV9GT1JFQUNIX1NBRkUocG9zLCAmaGFuZGxlci0+cGVuZGlu ZywgbmV4dCwgc2F2ZV9uZXh0KSB7DQo+ID4+Pj4gIAkJVEFJTFFfUkVNT1ZFKCZoYW5kbGVyLT5w ZW5kaW5nLCBwb3MsIG5leHQpOw0KPiA+Pj4+IC0JCXJ0ZV9mcmVlKHBvcyk7DQo+ID4+Pj4gKwkJ ZnJlZShwb3MpOw0KPiA+Pj4+ICAJfQ0KPiA+Pj4+ICB9DQo+ID4+Pj4NCj4gPj4NCj4gPg0KDQo=