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 377FEA0A02; Thu, 25 Mar 2021 03:30:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBAF14067B; Thu, 25 Mar 2021 03:30:30 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 9D0E740147 for ; Thu, 25 Mar 2021 03:30:28 +0100 (CET) IronPort-SDR: yn9QhYGM93OzraJnKi0pHGTcS03cIb4+cMtWyXQtb3HIR67UvXL8XMkSly91gNgpWcwMwYpTpm BmvyXb6uabMw== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="188536046" X-IronPort-AV: E=Sophos;i="5.81,276,1610438400"; d="scan'208";a="188536046" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2021 19:30:27 -0700 IronPort-SDR: hmP0OFCAShva9XdUqeHtJXUxe2mKqcwIfjAEBaPMeGL3df3e3IaXqPgTESzteVlZTmwSCDzVF1 Ft8bnOQ0+gNA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,276,1610438400"; d="scan'208";a="413993145" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga007.jf.intel.com with ESMTP; 24 Mar 2021 19:30:27 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 24 Mar 2021 19:30:26 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 24 Mar 2021 19:30:26 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) 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.2106.2; Wed, 24 Mar 2021 19:30:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f8b1IDD0y6w2Zf0gPObWXUpFGT+4KWNSGFeTvtcTgT0eEDinMD3pj16NkFkh809ad0YWgyGKurVJK2fNzWexm1vlqMFMsnDl2Y+xD1in/2wxmdctqlTRxh7HZXkGlx3r+wKkzb3EO+sPzKRZAb70ftBit1817YHqa0L4NaLHYqwS7Hmr0UbUzbu3BMzgQOWTdUaKYwNTYfSNQ6AFw4DaPiVIEZ3NvXnekIO45dB9CUuu6WnOr3HtiwhTIRmTPlVONxK06VxSpeZEz1Rsewwp4SF58Y/6a/nwjBR4K2fbLpsaus0XjohH4tiysyQyv65e98btbxwEqxWlQnE0t4DLdQ== 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=AMh57q+aKoK+3V0Ab8JTac+9z2Y/LyLlAxfZY+FLXa0=; b=l2dWEdIQHEgFBMQIhSHc8lW0QIFmrrVJ7JxXC13CVfeBKrn/l85P3W2xHxN1RePPdrYtz7Leja/xLmmJywY660r29MIWbEY1lautI9qHcKTvsenHafTh4HQc8iJe4zitasze4mZbfRHcT9zgos6ObP2kgNW25Wp8/tCVsjRvLjO02iHl++XvNzUbv05j6/YJHNT8UDkdy3LcBdxB54G1KzmHteuKEGhcZCBcMCXCvnXJY0pW3Xdwg/uk8F4NhcKcOqK8UBXdXBNh+/SbS+y0FwI2uS7LCkfHR/IOienba1TjDj7hjinyS+SJPchMc3Az0Ne8zoUoZpYjidRVHBkOVg== 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=AMh57q+aKoK+3V0Ab8JTac+9z2Y/LyLlAxfZY+FLXa0=; b=aWJf26cBRxM5RJWP0lxXl2TD62Swjp/Te5fzr1ao6FzfbzZbfrxv4TOCCygmW7x9BbkL6oh+PPOY0BK7YX1H7XK0KFBVP5sM3VjUO5hFoSkL6gErG1Tvsx9AdV6MMugtqKp1fPecfoZJRtW9CekLwoJo2+GX3h7uyX1AUYSpl2c= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4128.namprd11.prod.outlook.com (2603:10b6:208:139::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Thu, 25 Mar 2021 02:30:21 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4949:e7d9:9632:6fc7]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4949:e7d9:9632:6fc7%6]) with mapi id 15.20.3977.025; Thu, 25 Mar 2021 02:30:21 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "amorenoz@redhat.com" , "david.marchand@redhat.com" , "olivier.matz@6wind.com" , "bnemeth@redhat.com" Thread-Topic: [PATCH v4 3/3] vhost: optimize vhost virtqueue struct Thread-Index: AQHXH8NVu5boIJxEbUiSr7Gb8Et+vKqT/e1A Date: Thu, 25 Mar 2021 02:30:21 +0000 Message-ID: References: <20210323090219.126712-1-maxime.coquelin@redhat.com> <20210323090219.126712-4-maxime.coquelin@redhat.com> In-Reply-To: <20210323090219.126712-4-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.56] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7ab9f7e5-096c-4b39-9320-08d8ef35f057 x-ms-traffictypediagnostic: MN2PR11MB4128: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2803; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: T1lAeS5mIg3kydTBQuqbmgsEkhYVOsuyaZepKBlGpLqv0a0crY98zSJA1JTKpwBZpkaVs/Vf5XdVfNMQYL6Jh41ct4qr6vamkmHbf7ZfhHYExxY73EzvodGyZ5Yyi0DjKczrbf/2FC1g66bw7lTOdYUK4exIeVEnNPmISIeG3Neg2G9NpnCE4v9RvsXfF5TOgKSz0UDHfxLekRDHKab+Lee/XHgoqTThg6B6H0bJpgd3OTd0AJ7QWzM+DdCWekk6PKYbqo//jAxjsoPNBztvvXL5liaYIW3cM/FzrBrlGzHwTANHMExYKu4Rk7WUjQYN4QRfxtxAh58bUY5yRdlbe+z+iiXXWFMp7Tfc/47JmzBVjB4DGV//cyXxtAWqhLWUpBlEBYG47BdkXo5zOwHf+sb1ljU5PzIAQbEjB7heXsw+9bS/6HMUryXD6RPuRzPQ3TmRIbjWVB35fVRFJymUrggzSQPLSiJyF36IiI+hPTIqU5y5tV9IBEf7o4IOGBMRsAZ4kIqxFwMNKH3k0lOo6SyYTqSq9NlYWvOHL6aIAJJgSwAQkWKufb/14QQKw3BSdvKopXMoqvMVQfcHfFxdSumifpO4/EBksSCoN5UqeUKTIM8HtIT4jnFl/mTyzm732gtM6bY+2hhTvkkI4j42sT648tOGDkrszxAylryDvLtsYP1RkWjyo8NFJrxmmF2h x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(346002)(376002)(366004)(396003)(39860400002)(9686003)(2906002)(5660300002)(8676002)(8936002)(55016002)(6506007)(83380400001)(7696005)(33656002)(38100700001)(53546011)(52536014)(478600001)(110136005)(71200400001)(66446008)(86362001)(316002)(66476007)(26005)(76116006)(64756008)(186003)(66556008)(66946007)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?NURscDIrL2ViV0hvU2VLREpqRFRNOHhzcWxlY2tnOHB5VUFUTEp4VUlXb1Zr?= =?utf-8?B?N3NCV1ZDMDRGanBFLzRTeG5hNHVGY0wzSmJrN0NDSnJ1YW9jNURQeFM5VGRF?= =?utf-8?B?eUsyU3BnZHQzWlZkY1dsbFFwNEtuRlNkUC9lNkg2S3Y0YlJIR3J2ck8xOUQx?= =?utf-8?B?cjVEWnhicjNKNUJnNE5XS2pKY3kxTEROeFN6bE92SENGV0pQQTlHL0o2Z2Uv?= =?utf-8?B?M3pQeVRCOGUvSDdOMzR5ZThFcmVDMytSRmRwWEcxOXNaOGdkcVFTdW51VWVs?= =?utf-8?B?b0VmbnQ1cVY5aXhzNUtJbHI4UDlGcUFHL2pSa2FubDJJa3puYktpbTFSMXI5?= =?utf-8?B?Zjg2QkV6enBpTnQ1WXpNNDZwOWFuLzlITVFEcmt1aGVYWkRFblVzbEczV3pE?= =?utf-8?B?WkEyaVc5UDBFUTNTUkRRUk55TmxaakFFRHc1VkNqZk5MTGxqcHpmejBhRjJN?= =?utf-8?B?YVV1ZHJvMHFZc1BVNklvdnJyTXV5YWhoa1hKTHRwRk9LWjJZcjVlY2ExQ3No?= =?utf-8?B?cTZndTNTMndoQUdPYm1kc1VCeW5iSGpobHVvc0QwWnRCdjlndjBYVndhbWM1?= =?utf-8?B?bjZYVXRBUVhLOUhDN0g4c2J3TGwrNWRodWI2RzBYektvdlpkOGJuYU9sWUlz?= =?utf-8?B?QWhuWTVWZjk0bXBEQ1Q2dXg3bWtQZW9EVUJIeExwQXJNRGxqRVdqZzRneUli?= =?utf-8?B?T2xsNDVkMHlreVBIaXQ2Y2NiTjJJRnczVjdoSDkxdC9ZbVdhVzVoWmV0YXNt?= =?utf-8?B?a20xNDJQSE5odVh5cGpXblBRMVBmN2ZxTkFBZEdnc3dqczBubk1VUXgyK1Fn?= =?utf-8?B?WWVmSmJyVXNyTDJXZUR5WDJybFR1c0FaMTNYSkt6T09ybGR0NHN3RU1lTk50?= =?utf-8?B?TTF5SXJBa0ExTnJhTy91MWs1K2tTeWMrRlZKT0ZxRGZWazBtMFpKb2t6dXR6?= =?utf-8?B?NlZQVlU0NzVVMXdQN2hhRTdzMUF0L1dNN2l3NldUamNRN1FLdVBBMTFqN0xz?= =?utf-8?B?bU90cjgyeUZlMDRqRnpaeUllOXl3K0xwejFQRWV6NE1xc2ZMTStRMnEyY3Yv?= =?utf-8?B?Q1lGRzBqVU9QeTlsVmZDa0h0MW9TUzhCOGdkWlM3cFkyamErWHZZakJsWjlu?= =?utf-8?B?a05ka0pnQ2hZeFo5cXk5WWxaTzhRelJJZmNHMm5xOEhPMC9OQUcwZXFyVWpT?= =?utf-8?B?ZzRFS05ITGFjYStMYmdBT2dtWUtCRytTM3dqTzBqS2FYQUd6b2x5WDJlWUQ3?= =?utf-8?B?aDVsSDdaRGpyVlJZbmRlOU94alFGcUtHK3dKMUlyVWFwdkhLMXc0bkczUWZt?= =?utf-8?B?NUltZ2Q0VXJjVzI0THA5eXFaaFBlcElSWGptTTEwSDh6SVN5SC9hYmpNMi9m?= =?utf-8?B?dlFsMmtuQVllRjNTejl4bTVJSEl0TkJ1YytpRzY5MURrbjB5TDgwcjZ0bjMw?= =?utf-8?B?Ynh6OG0vYnVlL2UwVTB3Q1drcWVaZEFSV2xoUm1vY2hwb3NqVmdmaFlCM1pQ?= =?utf-8?B?UnJ1OG50dTIyTzVTc29pdyt2QU5TeWp2OGFCVm5ybnF0V29ZMmVjR212UWFH?= =?utf-8?B?c05CNDNTdFNLYytHVWZwWmdqWmJyTkdwa3ZRSDFqdnd3T1cyeDZ2d0Y1ZWJO?= =?utf-8?B?bGp1SmZMaHVzR3oxMXRXRE9lRFp6eUFkOFdkMTFyYTZUVGVaeUJhRHo2R1d6?= =?utf-8?B?eUZPWFM0cXZQNCtVdWxHWDNqa3ZTN0NrOVR4Tkd0Slk2NU4wN21NQW05b1Bw?= =?utf-8?Q?PF8vYdzQqa+T7gQmEY=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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ab9f7e5-096c-4b39-9320-08d8ef35f057 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2021 02:30:21.6102 (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: G4D2YIcqBgEazDzlni3Fw9R/MUbkz2lm3nK8kt7FZ4Zsylg35FDaqgw2KXcchbFTUyIG5e6Ks3+S62D8kSGqAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4128 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 3/3] vhost: optimize vhost virtqueue struct 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAyMywgMjAy MSA1OjAyIFBNDQo+IFRvOiBkZXZAZHBkay5vcmc7IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGlu dGVsLmNvbT47IGFtb3Jlbm96QHJlZGhhdC5jb207DQo+IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5j b207IG9saXZpZXIubWF0ekA2d2luZC5jb207IGJuZW1ldGhAcmVkaGF0LmNvbQ0KPiBDYzogTWF4 aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BB VENIIHY0IDMvM10gdmhvc3Q6IG9wdGltaXplIHZob3N0IHZpcnRxdWV1ZSBzdHJ1Y3QNCj4gDQo+ IFRoaXMgcGF0Y2ggbW92ZXMgdmhvc3RfdmlydHF1ZXVlIHN0cnVjdCBmaWVsZHMgaW4gb3JkZXIN Cj4gdG8gYm90aCBvcHRpbWl6ZSBwYWNraW5nIGFuZCBtb3ZlIGhvdCBmaWVsZHMgb24gdGhlIGZp cnN0DQo+IGNhY2hlbGluZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4g PG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0NCj4gIGxpYi9saWJydGVfdmhvc3Qv dmhvc3QuYyAgICAgIHwgIDYgKystLQ0KPiAgbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oICAgICAg fCA1NCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQ0KPiAgbGliL2xpYnJ0ZV92 aG9zdC92aG9zdF91c2VyLmMgfCAyMyArKysrKysrLS0tLS0tLS0NCj4gIGxpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jIHwgMTIgKysrKy0tLS0NCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0 ZV92aG9zdC92aG9zdC5jIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5jDQo+IGluZGV4IGE4MDMy ZTNiYTEuLjA0ZDYzYjJmMDIgMTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3Qu Yw0KPiArKysgYi9saWIvbGlicnRlX3Zob3N0L3Zob3N0LmMNCj4gQEAgLTUyNCw3ICs1MjQsNyBA QCB2cmluZ190cmFuc2xhdGUoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0DQo+IHZob3N0 X3ZpcnRxdWV1ZSAqdnEpDQo+ICAJaWYgKGxvZ190cmFuc2xhdGUoZGV2LCB2cSkgPCAwKQ0KPiAg CQlyZXR1cm4gLTE7DQo+IA0KPiAtCXZxLT5hY2Nlc3Nfb2sgPSAxOw0KPiArCXZxLT5hY2Nlc3Nf b2sgPSB0cnVlOw0KPiANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gQEAgLTUzNSw3ICs1MzUsNyBA QCB2cmluZ19pbnZhbGlkYXRlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdA0KPiB2aG9z dF92aXJ0cXVldWUgKnZxKQ0KPiAgCWlmIChkZXYtPmZlYXR1cmVzICYgKDFVTEwgPDwgVklSVElP X0ZfSU9NTVVfUExBVEZPUk0pKQ0KPiAgCQl2aG9zdF91c2VyX2lvdGxiX3dyX2xvY2sodnEpOw0K PiANCj4gLQl2cS0+YWNjZXNzX29rID0gMDsNCj4gKwl2cS0+YWNjZXNzX29rID0gZmFsc2U7DQo+ ICAJdnEtPmRlc2MgPSBOVUxMOw0KPiAgCXZxLT5hdmFpbCA9IE5VTEw7DQo+ICAJdnEtPnVzZWQg PSBOVUxMOw0KPiBAQCAtMTQ1MSw3ICsxNDUxLDcgQEAgcnRlX3Zob3N0X3J4X3F1ZXVlX2NvdW50 KGludCB2aWQsIHVpbnQxNl90IHFpZCkNCj4gDQo+ICAJcnRlX3NwaW5sb2NrX2xvY2soJnZxLT5h Y2Nlc3NfbG9jayk7DQo+IA0KPiAtCWlmICh1bmxpa2VseSh2cS0+ZW5hYmxlZCA9PSAwIHx8IHZx LT5hdmFpbCA9PSBOVUxMKSkNCj4gKwlpZiAodW5saWtlbHkoIXZxLT5lbmFibGVkIHx8IHZxLT5h dmFpbCA9PSBOVUxMKSkNCj4gIAkJZ290byBvdXQ7DQo+IA0KPiAgCXJldCA9ICooKHZvbGF0aWxl IHVpbnQxNl90ICopJnZxLT5hdmFpbC0+aWR4KSAtIHZxLT5sYXN0X2F2YWlsX2lkeDsNCj4gZGlm ZiAtLWdpdCBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaCBiL2xpYi9saWJydGVfdmhvc3Qvdmhv c3QuaA0KPiBpbmRleCAzYTcxZGZlZWQ5Li5mNjI4NzE0YzI0IDEwMDY0NA0KPiAtLS0gYS9saWIv bGlicnRlX3Zob3N0L3Zob3N0LmgNCj4gKysrIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oDQo+ IEBAIC0xMzMsNyArMTMzLDcgQEAgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSB7DQo+ICAJCXN0cnVj dCB2cmluZ191c2VkCSp1c2VkOw0KPiAgCQlzdHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2NfZXZlbnQg KmRldmljZV9ldmVudDsNCj4gIAl9Ow0KPiAtCXVpbnQzMl90CQlzaXplOw0KPiArCXVpbnQxNl90 CQlzaXplOw0KPiANCj4gIAl1aW50MTZfdAkJbGFzdF9hdmFpbF9pZHg7DQo+ICAJdWludDE2X3QJ CWxhc3RfdXNlZF9pZHg7DQo+IEBAIC0xNDMsMjkgKzE0MywxMiBAQCBzdHJ1Y3Qgdmhvc3Rfdmly dHF1ZXVlIHsNCj4gICNkZWZpbmUgVklSVElPX0lOVkFMSURfRVZFTlRGRAkJKC0xKQ0KPiAgI2Rl ZmluZSBWSVJUSU9fVU5JTklUSUFMSVpFRF9FVkVOVEZECSgtMikNCj4gDQo+IC0JaW50CQkJZW5h YmxlZDsNCj4gLQlpbnQJCQlhY2Nlc3Nfb2s7DQo+IC0JaW50CQkJcmVhZHk7DQo+IC0JaW50CQkJ bm90aWZfZW5hYmxlOw0KPiAtI2RlZmluZSBWSVJUSU9fVU5JTklUSUFMSVpFRF9OT1RJRgkoLTEp DQo+ICsJYm9vbAkJCWVuYWJsZWQ7DQo+ICsJYm9vbAkJCWFjY2Vzc19vazsNCj4gKwlib29sCQkJ cmVhZHk7DQo+IA0KPiAgCXJ0ZV9zcGlubG9ja190CQlhY2Nlc3NfbG9jazsNCj4gDQo+IC0JLyog VXNlZCB0byBub3RpZnkgdGhlIGd1ZXN0ICh0cmlnZ2VyIGludGVycnVwdCkgKi8NCj4gLQlpbnQJ CQljYWxsZmQ7DQo+IC0JLyogQ3VycmVudGx5IHVudXNlZCBhcyBwb2xsaW5nIG1vZGUgaXMgZW5h YmxlZCAqLw0KPiAtCWludAkJCWtpY2tmZDsNCj4gLQ0KPiAtCS8qIFBoeXNpY2FsIGFkZHJlc3Mg b2YgdXNlZCByaW5nLCBmb3IgbG9nZ2luZyAqLw0KPiAtCXVpbnQ2NF90CQlsb2dfZ3Vlc3RfYWRk cjsNCj4gLQ0KPiAtCS8qIGluZmxpZ2h0IHNoYXJlIG1lbW9yeSBpbmZvICovDQo+IC0JdW5pb24g ew0KPiAtCQlzdHJ1Y3QgcnRlX3Zob3N0X2luZmxpZ2h0X2luZm9fc3BsaXQgKmluZmxpZ2h0X3Nw bGl0Ow0KPiAtCQlzdHJ1Y3QgcnRlX3Zob3N0X2luZmxpZ2h0X2luZm9fcGFja2VkICppbmZsaWdo dF9wYWNrZWQ7DQo+IC0JfTsNCj4gLQlzdHJ1Y3QgcnRlX3Zob3N0X3Jlc3VibWl0X2luZm8gKnJl c3VibWl0X2luZmxpZ2h0Ow0KPiAtCXVpbnQ2NF90CQlnbG9iYWxfY291bnRlcjsNCj4gDQo+ICAJ dW5pb24gew0KPiAgCQlzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtICAqc2hhZG93X3VzZWRfc3BsaXQ7 DQo+IEBAIC0xNzYsMjIgKzE1OSwzNiBAQCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlIHsNCj4gIAl1 aW50MTZfdAkJc2hhZG93X2FsaWduZWRfaWR4Ow0KPiAgCS8qIFJlY29yZCBwYWNrZWQgcmluZyBm aXJzdCBkZXF1ZXVlIGRlc2MgaW5kZXggKi8NCj4gIAl1aW50MTZfdAkJc2hhZG93X2xhc3RfdXNl ZF9pZHg7DQo+IC0Jc3RydWN0IHZob3N0X3ZyaW5nX2FkZHIgcmluZ19hZGRyczsNCj4gDQo+IC0J c3RydWN0IGJhdGNoX2NvcHlfZWxlbQkqYmF0Y2hfY29weV9lbGVtczsNCj4gIAl1aW50MTZfdAkJ YmF0Y2hfY29weV9uYl9lbGVtczsNCj4gKwlzdHJ1Y3QgYmF0Y2hfY29weV9lbGVtCSpiYXRjaF9j b3B5X2VsZW1zOw0KPiAgCWJvb2wJCQl1c2VkX3dyYXBfY291bnRlcjsNCj4gIAlib29sCQkJYXZh aWxfd3JhcF9jb3VudGVyOw0KPiANCj4gLQlzdHJ1Y3QgbG9nX2NhY2hlX2VudHJ5ICpsb2dfY2Fj aGU7DQo+IC0JdWludDE2X3QgbG9nX2NhY2hlX25iX2VsZW07DQo+ICsJLyogUGh5c2ljYWwgYWRk cmVzcyBvZiB1c2VkIHJpbmcsIGZvciBsb2dnaW5nICovDQo+ICsJdWludDE2X3QJCWxvZ19jYWNo ZV9uYl9lbGVtOw0KPiArCXVpbnQ2NF90CQlsb2dfZ3Vlc3RfYWRkcjsNCj4gKwlzdHJ1Y3QgbG9n X2NhY2hlX2VudHJ5CSpsb2dfY2FjaGU7DQo+IA0KPiAgCXJ0ZV9yd2xvY2tfdAlpb3RsYl9sb2Nr Ow0KPiAgCXJ0ZV9yd2xvY2tfdAlpb3RsYl9wZW5kaW5nX2xvY2s7DQo+ICAJc3RydWN0IHJ0ZV9t ZW1wb29sICppb3RsYl9wb29sOw0KPiAgCVRBSUxRX0hFQUQoLCB2aG9zdF9pb3RsYl9lbnRyeSkg aW90bGJfbGlzdDsNCj4gLQlpbnQJCQkJaW90bGJfY2FjaGVfbnI7DQo+ICAJVEFJTFFfSEVBRCgs IHZob3N0X2lvdGxiX2VudHJ5KSBpb3RsYl9wZW5kaW5nX2xpc3Q7DQo+ICsJaW50CQkJCWlvdGxi X2NhY2hlX25yOw0KPiArDQo+ICsJLyogVXNlZCB0byBub3RpZnkgdGhlIGd1ZXN0ICh0cmlnZ2Vy IGludGVycnVwdCkgKi8NCj4gKwlpbnQJCQljYWxsZmQ7DQo+ICsJLyogQ3VycmVudGx5IHVudXNl ZCBhcyBwb2xsaW5nIG1vZGUgaXMgZW5hYmxlZCAqLw0KPiArCWludAkJCWtpY2tmZDsNCj4gKw0K PiArCS8qIGluZmxpZ2h0IHNoYXJlIG1lbW9yeSBpbmZvICovDQo+ICsJdW5pb24gew0KPiArCQlz dHJ1Y3QgcnRlX3Zob3N0X2luZmxpZ2h0X2luZm9fc3BsaXQgKmluZmxpZ2h0X3NwbGl0Ow0KPiAr CQlzdHJ1Y3QgcnRlX3Zob3N0X2luZmxpZ2h0X2luZm9fcGFja2VkICppbmZsaWdodF9wYWNrZWQ7 DQo+ICsJfTsNCj4gKwlzdHJ1Y3QgcnRlX3Zob3N0X3Jlc3VibWl0X2luZm8gKnJlc3VibWl0X2lu ZmxpZ2h0Ow0KPiArCXVpbnQ2NF90CQlnbG9iYWxfY291bnRlcjsNCj4gDQo+ICAJLyogb3BlcmF0 aW9uIGNhbGxiYWNrcyBmb3IgYXN5bmMgZG1hICovDQo+ICAJc3RydWN0IHJ0ZV92aG9zdF9hc3lu Y19jaGFubmVsX29wcwlhc3luY19vcHM7DQo+IEBAIC0yMTIsNiArMjA5LDExIEBAIHN0cnVjdCB2 aG9zdF92aXJ0cXVldWUgew0KPiAgCWJvb2wJCWFzeW5jX2lub3JkZXI7DQo+ICAJYm9vbAkJYXN5 bmNfcmVnaXN0ZXJlZDsNCj4gIAl1aW50MTZfdAlhc3luY190aHJlc2hvbGQ7DQo+ICsNCj4gKwlp bnQJCQlub3RpZl9lbmFibGU7DQo+ICsjZGVmaW5lIFZJUlRJT19VTklOSVRJQUxJWkVEX05PVElG CSgtMSkNCj4gKw0KPiArCXN0cnVjdCB2aG9zdF92cmluZ19hZGRyIHJpbmdfYWRkcnM7DQo+ICB9 IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+IA0KPiAgLyogVmlydGlvIGRldmljZSBzdGF0dXMgYXMg cGVyIFZpcnRpbyBzcGVjaWZpY2F0aW9uICovDQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Zo b3N0L3Zob3N0X3VzZXIuYyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jDQo+IGluZGV4 IDRkOWU3NmU0OWUuLjJmNGY4OWFlYWMgMTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJydGVfdmhvc3Qv dmhvc3RfdXNlci5jDQo+ICsrKyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jDQo+IEBA IC00MDYsNiArNDA2LDExIEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5nX251bShzdHJ1Y3QgdmlydGlv X25ldCAqKnBkZXYsDQo+ICAJaWYgKHZhbGlkYXRlX21zZ19mZHMobXNnLCAwKSAhPSAwKQ0KPiAg CQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0KPiANCj4gKwlpZiAobXNnLT5wYXls b2FkLnN0YXRlLm51bSA+IDMyNzY4KSB7DQo+ICsJCVZIT1NUX0xPR19DT05GSUcoRVJSLCAiaW52 YWxpZCB2aXJ0cXVldWUgc2l6ZSAldVxuIiwgbXNnLQ0KPiA+cGF5bG9hZC5zdGF0ZS5udW0pOw0K PiArCQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0KPiArCX0NCj4gKw0KPiAgCXZx LT5zaXplID0gbXNnLT5wYXlsb2FkLnN0YXRlLm51bTsNCj4gDQo+ICAJLyogVklSVElPIDEuMCwg Mi40IFZpcnRxdWV1ZXMgc2F5czoNCj4gQEAgLTQyNSwxMiArNDMwLDYgQEAgdmhvc3RfdXNlcl9z ZXRfdnJpbmdfbnVtKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gIAkJfQ0KPiAgCX0NCj4g DQo+IC0JaWYgKHZxLT5zaXplID4gMzI3NjgpIHsNCj4gLQkJVkhPU1RfTE9HX0NPTkZJRyhFUlIs DQo+IC0JCQkiaW52YWxpZCB2aXJ0cXVldWUgc2l6ZSAldVxuIiwgdnEtPnNpemUpOw0KPiAtCQly ZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0KPiAtCX0NCj4gLQ0KPiAgCWlmICh2cV9p c19wYWNrZWQoZGV2KSkgew0KPiAgCQlpZiAodnEtPnNoYWRvd191c2VkX3BhY2tlZCkNCj4gIAkJ CXJ0ZV9mcmVlKHZxLT5zaGFkb3dfdXNlZF9wYWNrZWQpOw0KPiBAQCAtNzEzLDcgKzcxMiw3IEBA IHRyYW5zbGF0ZV9yaW5nX2FkZHJlc3NlcyhzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBpbnQNCj4g dnFfaW5kZXgpDQo+ICAJCQlyZXR1cm4gZGV2Ow0KPiAgCQl9DQo+IA0KPiAtCQl2cS0+YWNjZXNz X29rID0gMTsNCj4gKwkJdnEtPmFjY2Vzc19vayA9IHRydWU7DQo+ICAJCXJldHVybiBkZXY7DQo+ ICAJfQ0KPiANCj4gQEAgLTc3MSw3ICs3NzAsNyBAQCB0cmFuc2xhdGVfcmluZ19hZGRyZXNzZXMo c3RydWN0IHZpcnRpb19uZXQgKmRldiwgaW50DQo+IHZxX2luZGV4KQ0KPiAgCQl2cS0+bGFzdF9h dmFpbF9pZHggPSB2cS0+dXNlZC0+aWR4Ow0KPiAgCX0NCj4gDQo+IC0JdnEtPmFjY2Vzc19vayA9 IDE7DQo+ICsJdnEtPmFjY2Vzc19vayA9IHRydWU7DQo+IA0KPiAgCVZIT1NUX0xPR19DT05GSUco REVCVUcsICIoJWQpIG1hcHBlZCBhZGRyZXNzIGRlc2M6ICVwXG4iLA0KPiAgCQkJZGV2LT52aWQs IHZxLT5kZXNjKTsNCj4gQEAgLTE2NTgsNyArMTY1Nyw3IEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5n X2NhbGwoc3RydWN0IHZpcnRpb19uZXQgKipwZGV2LA0KPiBzdHJ1Y3QgVmhvc3RVc2VyTXNnICpt c2csDQo+ICAJdnEgPSBkZXYtPnZpcnRxdWV1ZVtmaWxlLmluZGV4XTsNCj4gDQo+ICAJaWYgKHZx LT5yZWFkeSkgew0KPiAtCQl2cS0+cmVhZHkgPSAwOw0KPiArCQl2cS0+cmVhZHkgPSBmYWxzZTsN Cj4gIAkJdmhvc3RfdXNlcl9ub3RpZnlfcXVldWVfc3RhdGUoZGV2LCBmaWxlLmluZGV4LCAwKTsN Cj4gIAl9DQo+IA0KPiBAQCAtMTkxOCwxNCArMTkxNywxNCBAQCB2aG9zdF91c2VyX3NldF92cmlu Z19raWNrKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gc3RydWN0IFZob3N0VXNlck1zZyAq bXNnLA0KPiAgCSAqIHRoZSBTRVRfVlJJTkdfRU5BQkxFIG1lc3NhZ2UuDQo+ICAJICovDQo+ICAJ aWYgKCEoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfRl9QUk9UT0NPTF9GRUFU VVJFUykpKSB7DQo+IC0JCXZxLT5lbmFibGVkID0gMTsNCj4gKwkJdnEtPmVuYWJsZWQgPSB0cnVl Ow0KPiAgCQlpZiAoZGV2LT5ub3RpZnlfb3BzLT52cmluZ19zdGF0ZV9jaGFuZ2VkKQ0KPiAgCQkJ ZGV2LT5ub3RpZnlfb3BzLT52cmluZ19zdGF0ZV9jaGFuZ2VkKA0KPiAgCQkJCWRldi0+dmlkLCBm aWxlLmluZGV4LCAxKTsNCj4gIAl9DQo+IA0KPiAgCWlmICh2cS0+cmVhZHkpIHsNCj4gLQkJdnEt PnJlYWR5ID0gMDsNCj4gKwkJdnEtPnJlYWR5ID0gZmFsc2U7DQo+ICAJCXZob3N0X3VzZXJfbm90 aWZ5X3F1ZXVlX3N0YXRlKGRldiwgZmlsZS5pbmRleCwgMCk7DQo+ICAJfQ0KPiANCj4gQEAgLTIw NDMsNyArMjA0Miw3IEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2VuYWJsZShzdHJ1Y3QgdmlydGlv X25ldCAqKnBkZXYsDQo+ICAJCQlpbnQgbWFpbl9mZCBfX3J0ZV91bnVzZWQpDQo+ICB7DQo+ICAJ c3RydWN0IHZpcnRpb19uZXQgKmRldiA9ICpwZGV2Ow0KPiAtCWludCBlbmFibGUgPSAoaW50KW1z Zy0+cGF5bG9hZC5zdGF0ZS5udW07DQo+ICsJYm9vbCBlbmFibGUgPSAhIW1zZy0+cGF5bG9hZC5z dGF0ZS5udW07DQo+ICAJaW50IGluZGV4ID0gKGludCltc2ctPnBheWxvYWQuc3RhdGUuaW5kZXg7 DQo+IA0KPiAgCWlmICh2YWxpZGF0ZV9tc2dfZmRzKG1zZywgMCkgIT0gMCkNCj4gZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jIGIvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmMNCj4gaW5kZXggNTgzYmYzNzljNi4uM2Q4ZTI5ZGYwOSAxMDA2NDQNCj4gLS0tIGEv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmMNCj4gKysrIGIvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmMNCj4gQEAgLTEzOTYsMTMgKzEzOTYsMTMgQEAgdmlydGlvX2Rldl9yeChzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2LCB1aW50MTZfdA0KPiBxdWV1ZV9pZCwNCj4gDQo+ICAJcnRlX3Nw aW5sb2NrX2xvY2soJnZxLT5hY2Nlc3NfbG9jayk7DQo+IA0KPiAtCWlmICh1bmxpa2VseSh2cS0+ ZW5hYmxlZCA9PSAwKSkNCj4gKwlpZiAodW5saWtlbHkoIXZxLT5lbmFibGVkKSkNCj4gIAkJZ290 byBvdXRfYWNjZXNzX3VubG9jazsNCj4gDQo+ICAJaWYgKGRldi0+ZmVhdHVyZXMgJiAoMVVMTCA8 PCBWSVJUSU9fRl9JT01NVV9QTEFURk9STSkpDQo+ICAJCXZob3N0X3VzZXJfaW90bGJfcmRfbG9j ayh2cSk7DQo+IA0KPiAtCWlmICh1bmxpa2VseSh2cS0+YWNjZXNzX29rID09IDApKQ0KPiArCWlm ICh1bmxpa2VseSghdnEtPmFjY2Vzc19vaykpDQo+ICAJCWlmICh1bmxpa2VseSh2cmluZ190cmFu c2xhdGUoZGV2LCB2cSkgPCAwKSkNCj4gIAkJCWdvdG8gb3V0Ow0KPiANCj4gQEAgLTE3NTMsMTMg KzE3NTMsMTMgQEAgdmlydGlvX2Rldl9yeF9hc3luY19zdWJtaXQoc3RydWN0IHZpcnRpb19uZXQg KmRldiwNCj4gdWludDE2X3QgcXVldWVfaWQsDQo+IA0KPiAgCXJ0ZV9zcGlubG9ja19sb2NrKCZ2 cS0+YWNjZXNzX2xvY2spOw0KPiANCj4gLQlpZiAodW5saWtlbHkodnEtPmVuYWJsZWQgPT0gMCB8 fCAhdnEtPmFzeW5jX3JlZ2lzdGVyZWQpKQ0KPiArCWlmICh1bmxpa2VseSghdnEtPmVuYWJsZWQg fHwgIXZxLT5hc3luY19yZWdpc3RlcmVkKSkNCj4gIAkJZ290byBvdXRfYWNjZXNzX3VubG9jazsN Cj4gDQo+ICAJaWYgKGRldi0+ZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJUSU9fRl9JT01NVV9QTEFU Rk9STSkpDQo+ICAJCXZob3N0X3VzZXJfaW90bGJfcmRfbG9jayh2cSk7DQo+IA0KPiAtCWlmICh1 bmxpa2VseSh2cS0+YWNjZXNzX29rID09IDApKQ0KPiArCWlmICh1bmxpa2VseSghdnEtPmFjY2Vz c19vaykpDQo+ICAJCWlmICh1bmxpa2VseSh2cmluZ190cmFuc2xhdGUoZGV2LCB2cSkgPCAwKSkN Cj4gIAkJCWdvdG8gb3V0Ow0KPiANCj4gQEAgLTI1MTgsNyArMjUxOCw3IEBAIHJ0ZV92aG9zdF9k ZXF1ZXVlX2J1cnN0KGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0KPiAgCWlmICh1bmxpa2Vs eShydGVfc3BpbmxvY2tfdHJ5bG9jaygmdnEtPmFjY2Vzc19sb2NrKSA9PSAwKSkNCj4gIAkJcmV0 dXJuIDA7DQo+IA0KPiAtCWlmICh1bmxpa2VseSh2cS0+ZW5hYmxlZCA9PSAwKSkgew0KPiArCWlm ICh1bmxpa2VseSghdnEtPmVuYWJsZWQpKSB7DQo+ICAJCWNvdW50ID0gMDsNCj4gIAkJZ290byBv dXRfYWNjZXNzX3VubG9jazsNCj4gIAl9DQo+IEBAIC0yNTI2LDcgKzI1MjYsNyBAQCBydGVfdmhv c3RfZGVxdWV1ZV9idXJzdChpbnQgdmlkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gIAlpZiAoZGV2 LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNKSkNCj4gIAkJdmhv c3RfdXNlcl9pb3RsYl9yZF9sb2NrKHZxKTsNCj4gDQo+IC0JaWYgKHVubGlrZWx5KHZxLT5hY2Nl c3Nfb2sgPT0gMCkpDQo+ICsJaWYgKHVubGlrZWx5KCF2cS0+YWNjZXNzX29rKSkNCj4gIAkJaWYg KHVubGlrZWx5KHZyaW5nX3RyYW5zbGF0ZShkZXYsIHZxKSA8IDApKSB7DQo+ICAJCQljb3VudCA9 IDA7DQo+ICAJCQlnb3RvIG91dDsNCj4gLS0NCj4gMi4zMC4yDQoNClJldmlld2VkLWJ5OiBDaGVu Ym8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCg==