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 2B8BDA0C51; Fri, 16 Jul 2021 10:56:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DD13E4134A; Fri, 16 Jul 2021 10:56:17 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 8806B40151 for ; Fri, 16 Jul 2021 10:56:15 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10046"; a="197887150" X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="197887150" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2021 01:56:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="656157868" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga005.fm.intel.com with ESMTP; 16 Jul 2021 01:56:11 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 16 Jul 2021 01:56:11 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Fri, 16 Jul 2021 01:56:11 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Fri, 16 Jul 2021 01:56:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cdinBixOHfR2ziVwdPYtB0jYXuat6fSVab4Qj9bEb2+hw7f5+hlIrcxR6T5RvcaeA7ldznSRDJVx6yAU9f1sjc4EWDIKs3FlyGGN39/OwhDyjXkXNIVjs0S81QdV5ozr6MZFsjVNXmpK+S7b1nJ3pP8pw6WNDW78Uo7tU8o5uTK9yricj87glnlDW2rzlHrChAdDCFbAkmyxkFsF7/2B0pALdPJrTrOJFZKtMxLk3nOPgtBy5VMqrJ85eYmQLAbKIWFSY0IElLyJDlTlEhHBzNW04klmVvogns+vEja+fLkDRQvvrF7K+M9rRU7t8nq3a9z1qytfJJ/eHPnTeE33mQ== 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=8QysWAzmo531ClvhrSP/HgCoteX2tMs7SU9qAVemU+A=; b=WTy38sWh/LWXkisubhpzfGATwlZtxwwlD6Y9/ZulluqfMy7fTGPtgkrGzAHD2qX3eNTN6iUbmXwIUHko1obSrUgZ2Sh+iAJLbiXOFZIfl6KnFjwVU9LNaA/sQJpiqEBF3o8PBnuV7AAPVpQjHhE6LB93E8XfCJHPJZevP60KHoes1JAH78siyuIfaIPAy+/tKQuWQ3yatYSQnR3eLHaoANN5rQQWc0yQIA0cyC7UpqNBVxUd5D6U5fuImAydcxTX8LqzX9RdM+t7pbS95EYhzn2cKxp2XzJt2gnvIl/+TiB12Y8oq8zmp5779AiukVqi845cua+TkSV3rFJ4Ng5/0Q== 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=8QysWAzmo531ClvhrSP/HgCoteX2tMs7SU9qAVemU+A=; b=pG3cNw2SrCxZqJRURAdj7/iKzOVqeQycPu8I3doU88O2vC7JObhWnPnR1yUCTs5OwPnsBU9dwpTQ3gjbZ+ZJUxCNeUcuQU63G+UvYNcr/Yy6JSrvUFby/cxnkzIyuI+XcckcnPFxFiNxXPILZq8hSO/WRoKu7ies9fnCusizLFg= 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.4331.21; Fri, 16 Jul 2021 08:56:03 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32%7]) with mapi id 15.20.4308.028; Fri, 16 Jul 2021 08:56:03 +0000 From: "Xia, Chenbo" To: "Jiang, Cheng1" , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Yang, YvonneX" Thread-Topic: [PATCH v4 2/5] vhost: add unsafe API to drain pkts in async vhost Thread-Index: AQHXefD7YPo1T2p950a0PYTlUu1Dy6tFLEkw Date: Fri, 16 Jul 2021 08:56:03 +0000 Message-ID: References: <20210602042802.31943-1-cheng1.jiang@intel.com> <20210716025923.27164-1-cheng1.jiang@intel.com> <20210716025923.27164-3-cheng1.jiang@intel.com> In-Reply-To: <20210716025923.27164-3-cheng1.jiang@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5dda293e-749d-4753-452c-08d948378a9e x-ms-traffictypediagnostic: MN2PR11MB4128: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:862; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wWO46P977t2tEDdRDFj9qIWzlzkH0p3K3Xl2at9i8xpCQy6TVmgVI4hGAzLV75Zi/CA6HLCiVBdjcglCktKvgBj1TISYkBrFI6CzNfsn4KaEEHFh2MW9Mee2fqEpICMS/CP7oIg+NScYqn8ZXrONqhLsTTnBMWBrj26v/17+YFsYhJJV/fIsS6ti4LhRnP+XAmwGcmebwXls0Gb5/1rlgmF7sAJVAIrgVi5PIBchW17wlh1NE0Xq/fOUBn7QQ08IufllZ1WR7vqez1PU8ONPL/+B/Xtn1zIhzwWJMsvTNEDts9tofzdrxpaut6EPC//gqodCKPyZCKtsRXtXe10V8ZLGMb0xHiFc+VCSmsepc3+Mujjy7ZXN/x8MnXfjkBP5KIr30qvvWDJxOfTFzx2rw6yIzWzjfZLokTQzgK5bQThY+DWV4z+ShCJNJNPvzO6AwXnyHiWcHh8ybrVP9iGNjhnD0Ows2gaqj1X7aYPK71DX+U7XMQ5sSahbNofwnJRhZW9wqITfQbtIErNOtsVEzTAwnKVgPPOJsoKHxQvCPAsPdhp1Sddbr1zxpubJLN7yoEd79L3l23B+bfy/Bq0NaFElrDYjnlvBrtKY1k28BvTEbLKIBe7qd/gRN4SEBwBlz33nostfzLb7z1ES995/9LjmEHlk0ywi13vwUg03vtR4XA6pRot/kA4xJNubYW55crYT6t6qj5vWlxVmq4vxnWWZcup7RbnOT1Qq46DXmdiq9ye7lXa2w0GQR1ZfkWNxe8/Me35/ArnfVjHrLpt3KFQs36KZ15Mo/FRamooSbYQ= 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:(4636009)(366004)(107886003)(86362001)(6506007)(83380400001)(66446008)(54906003)(38100700002)(122000001)(33656002)(5660300002)(186003)(76116006)(2906002)(316002)(26005)(110136005)(7696005)(478600001)(8936002)(966005)(55016002)(53546011)(52536014)(4326008)(71200400001)(66476007)(66556008)(66946007)(8676002)(9686003)(64756008)(38070700004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3NRd1dkY2ZhQTVLUkNZME11eExZQlYyY0tpUWwvclp0V0hDeU16MENYTEd2?= =?utf-8?B?S0RZZk1iOFFLdHVxRDJibzROUVZnZVloRFRqTjdRY0F2VEYyR1RsZnJPbUNu?= =?utf-8?B?MUpsRDJMcFBjUmREdWUwWDViR0VNSkQ5VndNcjRrc1YyOU5BRlZubTdiM0ZQ?= =?utf-8?B?YWpkeGllSERTZ29DUmcxRlVETVhZa0VoRWRZNUdJbEpwaFNidElZKzNFQTlE?= =?utf-8?B?clozZU11Z3REaVZoaXhMdFlSMDVSMmd5MVBZYjBjRGJZQWlGZ1hpcVk4L3Ja?= =?utf-8?B?VEU3aXpEOU1wdHZrUko1a1pOUVpCUTd3ckRZTm94U3Y5b2FDQjAycnFRTmxE?= =?utf-8?B?dWEraFdML3dsUFo1eXNHd2s5eUZxSkhHMjR4SVhIMXJOTmd5T2hCOVRsRXQz?= =?utf-8?B?T3ZSK240aCtudCthSUttSS8vUmp5NnVUOThSUGs5OGw5THhiZ01XTnUyem1D?= =?utf-8?B?VGFqdk9sN0g3aVZJdWlZcEJnN1NlWHYvNytueGVGc2lycC9TUFc5REs0ZU1l?= =?utf-8?B?aGdwVktDWkJMSWtoV2JFRGRLQVVBdUhxQ0RnQm5oY2pVMHZWMzlxR0d6OFpk?= =?utf-8?B?TUZQZmNzUGJaT091MDJPM0hkTU0vSmxnQWlDeFFsUTc5MXppcSszV29FeG5l?= =?utf-8?B?Rms2cnZ5QTlZOXdicFRTdWh1dThaSjhEdjRlMmtSOVFZNXRjOFFGaDJBZ2Ft?= =?utf-8?B?MmtKY3VuamJiUDF4R2VER0xJc0FYdDJad0dGMW82bElVVlBCT0U0R1dldmtL?= =?utf-8?B?OEpad25OMFhBbW90eE15bGdOejVQeTB1WXRYWUlBcWZwN3lOTmtvTWtCdlhI?= =?utf-8?B?UzBRdUV1NjRiUS9KOWZzbzdubWZ5YzRpK1I1NGtucUg5TFZkL3RLQmlkQWsr?= =?utf-8?B?WXAveXh0K0tESkkvR0swWFE4TGJsVlNmR3hvMzdSQ3VLUHphQzZoUTNrZ1Yy?= =?utf-8?B?dzdPbVNLMmJpRzkvamQ4VW9tNzZKRE5PNmVFRlg5UjRxbm4zU01HQWhnL1ZW?= =?utf-8?B?QW4ramZOSjd1Ym1ZS01ZNGV0K3FEWUI4dHVWSWVEM09yZU5WOThwRUIzRjZF?= =?utf-8?B?UklMUFp0ZTJDQmxyUnFnWmNiZ3VXSjNubVZEVXVQSnVZNHhiNURSQTd2MDJj?= =?utf-8?B?N0oxWlY5ODRmVEIweUh1Q3YyZS90NnBzTTJZRXVGamtoNTM0c2NLMmp5Zmg2?= =?utf-8?B?d2xYQ2RLNm43MzJXM3dzT1RWeEV1cGcxbHp2Q05rdkRYRUY2WG85YnZWeGFw?= =?utf-8?B?aUo1eW5hQmsrU3R0bWw5eTVVUGhhTmppaTExVS92cUhKZTRubGxNS3pIQUJW?= =?utf-8?B?ZXRDdUJQVElYaVhmUUp6MUlRMEpaeVFMUWlHeit6eWlZU2VIV29GcmZxMHdK?= =?utf-8?B?M1RwbUgyRVMzTWdCWWFUOFBQam5KNmo3aXEzNUlUUUdtQjE0YU5nYUxhZElB?= =?utf-8?B?WFp3cGRVK2Q3SHU5RnVHaTdJSEdqNG0vQ0Y1eDFna2NQZDVVYmluT0dGU3F2?= =?utf-8?B?UmFacTlBTjlJSElRWjJKa2xzbG1uUFFNUXlHYzdXS09GWWdmRHAraTlhbGVk?= =?utf-8?B?MFF6bmhheDVyL082WXd1R2tjZXlhM0xtdDZCVEFjaWdQV0krUWlhaUlIZUlz?= =?utf-8?B?Y2JtVXIweFJIUzBPMklOUTVoVXE0dUZkSTdVYXVBTmVhYWFjcmpuTndRRjJO?= =?utf-8?B?dGhXRUk3ZUJDa3BlV1I2N2YwRGk3aG83Q0JOY2dJYXRRaVY5c2g4bXZqS3Ez?= =?utf-8?Q?KAJzrJSVowuuTGaCaZ/ka4+WRnGH/y4gLX9E3Ti?= 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: 5dda293e-749d-4753-452c-08d948378a9e X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2021 08:56:03.2027 (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: PIbxiLsZapkOZzMaLLABBqbdLG1ICA+U0rZEWs4w0mgSEmEQfvioclOVuQ1B4AxuiJhmtgHXlMpD/iH0wbqW2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4128 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 2/5] vhost: add unsafe API to drain pkts in async vhost 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" SGkgQ2hlbmcsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmlhbmcs IENoZW5nMSA8Y2hlbmcxLmppYW5nQGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKdWx5IDE2 LCAyMDIxIDEwOjU5IEFNDQo+IFRvOiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsgWGlhLCBD aGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBIdSwgSmlh eXUgPGppYXl1Lmh1QGludGVsLmNvbT47IFlhbmcsIFl2b25uZVgNCj4gPHl2b25uZXgueWFuZ0Bp bnRlbC5jb20+OyBKaWFuZywgQ2hlbmcxIDxjaGVuZzEuamlhbmdAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBbUEFUQ0ggdjQgMi81XSB2aG9zdDogYWRkIHVuc2FmZSBBUEkgdG8gZHJhaW4gcGt0cyBp biBhc3luYyB2aG9zdA0KPiANCj4gQXBwbGljYXRpb25zIG5lZWQgdG8gc3RvcCBETUEgdHJhbnNm ZXJzIGFuZCBmaW5pc2ggYWxsIHRoZSBpbi1mbGlnaHQNCj4gcGt0cyB3aGVuIGluIFZNIG1lbW9y eSBob3QtcGx1ZyBjYXNlIGFuZCBhc3luYyB2aG9zdCBpcyB1c2VkLiBUaGlzDQoNClBrdHMgLT4g cGFja2V0cw0KDQo+IHBhdGNoIGlzIHRvIHByb3ZpZGUgYW4gdW5zYWZlIEFQSSB0byBkcmFpbiBp bi1mbGlnaHQgcGt0cyB3aGljaCBhcmUNCg0KRGl0dG8NCg0KPiBzdWJtaXR0ZWQgdG8gRE1BIGVu Z2luZSBpbiB2aG9zdCBhc3luYyBkYXRhIHBhdGguDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBDaGVu ZyBKaWFuZyA8Y2hlbmcxLmppYW5nQGludGVsLmNvbT4NCj4gLS0tDQo+ICBsaWIvdmhvc3QvcnRl X3Zob3N0X2FzeW5jLmggfCAyNCArKysrKysrKysrDQo+ICBsaWIvdmhvc3QvdmVyc2lvbi5tYXAg ICAgICAgfCAgMyArKw0KPiAgbGliL3Zob3N0L3ZpcnRpb19uZXQuYyAgICAgIHwgOTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA5NCBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvdmhv c3QvcnRlX3Zob3N0X2FzeW5jLmggYi9saWIvdmhvc3QvcnRlX3Zob3N0X2FzeW5jLmgNCj4gaW5k ZXggYmM4MWNkMGNhYS4uZmQ2MjI2MzFiMiAxMDA2NDQNCj4gLS0tIGEvbGliL3Zob3N0L3J0ZV92 aG9zdF9hc3luYy5oDQo+ICsrKyBiL2xpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaA0KPiBAQCAt MTkzLDQgKzE5MywyOCBAQCBfX3J0ZV9leHBlcmltZW50YWwNCj4gIHVpbnQxNl90IHJ0ZV92aG9z dF9wb2xsX2VucXVldWVfY29tcGxldGVkKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0KPiAg CQlzdHJ1Y3QgcnRlX21idWYgKipwa3RzLCB1aW50MTZfdCBjb3VudCk7DQo+IA0KPiArLyoqDQo+ ICsgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBhc3luYyBjb21wbGV0aW9uIHN0YXR1cyBhbmQgZW1w dHkgYWxsIHBha2NldHMNCg0KUGFrY2V0cyAtPiBwYWNrZXRzDQoNCj4gKyAqIGZvciBhIHNwZWNp ZmljIHZob3N0IGRldmljZSBxdWV1ZS4gUGFja2V0cyB3aGljaCBhcmUgaW5mbGlnaHQgd2lsbA0K PiArICogYmUgcmV0dXJuZWQgaW4gYW4gYXJyYXkuDQo+ICsgKg0KPiArICogQG5vdGUgVGhpcyBm dW5jdGlvbiBkb2VzIG5vdCBwZXJmb3JtIGFueSBsb2NraW5nDQo+ICsgKg0KPiArICogQHBhcmFt IHZpZA0KPiArICogIGlkIG9mIHZob3N0IGRldmljZSB0byBlbnF1ZXVlIGRhdGENCg0KaWQgLT4g SUQNCg0KdG8gZHJhaW4gZGF0YT8NCg0KPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ICsgKiAgcXVl dWUgaWQgdG8gZW5xdWV1ZSBkYXRhDQoNCkRpdHRvDQoNCj4gKyAqIEBwYXJhbSBwa3RzDQo+ICsg KiAgYmxhbmsgYXJyYXkgdG8gZ2V0IHJldHVybiBwYWNrZXQgcG9pbnRlcg0KDQpSZXR1cm4gLT4g cmV0dXJuZWQNCg0KPiArICogQHBhcmFtIGNvdW50DQo+ICsgKiAgc2l6ZSBvZiB0aGUgcGFja2V0 IGFycmF5DQo+ICsgKiBAcGFyYW0gdGltZXMNCj4gKyAqICBtYXggbnVtYmVyIG9mIHBvbGwgYXR0 ZW1wdHMNCj4gKyAqIEByZXR1cm4NCj4gKyAqICBudW0gb2YgcGFja2V0cyByZXR1cm5lZA0KDQpu dW0gLT4gTnVtYmVyDQoNCkFuZCBwbGVhc2UgdXNlIGNhcGl0YWwgZm9yIGZpcnN0IGNoYXJhY3Rl ciBpbiBlYWNoIGxpbmUgb2YgcGFyYW0gZGVzY3JpcHRpb24uDQoNCj4gKyAqLw0KPiArX19ydGVf ZXhwZXJpbWVudGFsDQo+ICt1aW50MTZfdCBydGVfdmhvc3RfdHJ5X2RyYWluX3F1ZXVlX3RocmVh ZF91bnNhZmUoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQsDQoNCkkgdGhpbmsgJ3J0ZV92aG9z dF9kcmFpbl9xdWV1ZV90aHJlYWRfdW5zYWZlJyBpcyBiZXR0ZXI/DQoNCj4gKwkJc3RydWN0IHJ0 ZV9tYnVmICoqcGt0cywgdWludDE2X3QgY291bnQsIHVpbnQxNl90IHRpbWVzKTsNCj4gKw0KPiAg I2VuZGlmIC8qIF9SVEVfVkhPU1RfQVNZTkNfSF8gKi8NCj4gZGlmZiAtLWdpdCBhL2xpYi92aG9z dC92ZXJzaW9uLm1hcCBiL2xpYi92aG9zdC92ZXJzaW9uLm1hcA0KPiBpbmRleCA5MTAzYTIzY2Q0 Li5iOGZjODc3MGRkIDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3QvdmVyc2lvbi5tYXANCj4gKysr IGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwDQo+IEBAIC03OSw0ICs3OSw3IEBAIEVYUEVSSU1FTlRB TCB7DQo+IA0KPiAgCSMgYWRkZWQgaW4gMjEuMDUNCj4gIAlydGVfdmhvc3RfZ2V0X25lZ290aWF0 ZWRfcHJvdG9jb2xfZmVhdHVyZXM7DQo+ICsNCj4gKwkjIGFkZGVkIGluIDIxLjA4DQo+ICsJcnRl X3Zob3N0X3RyeV9kcmFpbl9xdWV1ZV90aHJlYWRfdW5zYWZlOw0KPiAgfTsNCj4gZGlmZiAtLWdp dCBhL2xpYi92aG9zdC92aXJ0aW9fbmV0LmMgYi9saWIvdmhvc3QvdmlydGlvX25ldC5jDQo+IGlu ZGV4IDgxNTY3OTZhNDYuLjlmNTQxNjc5YjkgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92aXJ0 aW9fbmV0LmMNCj4gKysrIGIvbGliL3Zob3N0L3ZpcnRpb19uZXQuYw0KPiBAQCAtMjExNSwxMCAr MjExNSwxMCBAQCB3cml0ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19wYWNrZWQoc3RydWN0DQo+IHZo b3N0X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJfSB3aGlsZSAobnJfbGVmdCA+IDApOw0KPiAgfQ0KPiAN Cj4gLXVpbnQxNl90IHJ0ZV92aG9zdF9wb2xsX2VucXVldWVfY29tcGxldGVkKGludCB2aWQsIHVp bnQxNl90IHF1ZXVlX2lkLA0KPiArc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdWludDE2X3QN Cj4gK3Zob3N0X3BvbGxfZW5xdWV1ZV9jb21wbGV0ZWQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwg dWludDE2X3QgcXVldWVfaWQsDQo+ICAJCXN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsIHVpbnQxNl90 IGNvdW50KQ0KPiAgew0KPiAtCXN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYgPSBnZXRfZGV2aWNlKHZp ZCk7DQo+ICAJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnE7DQo+ICAJdWludDE2X3Qgbl9wa3Rz X2NwbCA9IDAsIG5fcGt0c19wdXQgPSAwLCBuX2Rlc2NzID0gMCwgbl9idWZmZXJzID0gMDsNCj4g IAl1aW50MTZfdCBzdGFydF9pZHgsIHBrdHNfaWR4LCB2cV9zaXplOw0KPiBAQCAtMjEyNiwyNiAr MjEyNiw4IEBAIHVpbnQxNl90IHJ0ZV92aG9zdF9wb2xsX2VucXVldWVfY29tcGxldGVkKGludCB2 aWQsDQo+IHVpbnQxNl90IHF1ZXVlX2lkLA0KPiAgCXVpbnQxNl90IGZyb20sIGk7DQo+ICAJaW50 MzJfdCBuX3BvbGw7DQo+IA0KPiAtCWlmICghZGV2KQ0KPiAtCQlyZXR1cm4gMDsNCj4gLQ0KPiAt CVZIT1NUX0xPR19EQVRBKERFQlVHLCAiKCVkKSAlc1xuIiwgZGV2LT52aWQsIF9fZnVuY19fKTsN Cj4gLQlpZiAodW5saWtlbHkoIWlzX3ZhbGlkX3ZpcnRfcXVldWVfaWR4KHF1ZXVlX2lkLCAwLCBk ZXYtPm5yX3ZyaW5nKSkpIHsNCj4gLQkJVkhPU1RfTE9HX0RBVEEoRVJSLCAiKCVkKSAlczogaW52 YWxpZCB2aXJ0cXVldWUgaWR4ICVkLlxuIiwNCj4gLQkJCWRldi0+dmlkLCBfX2Z1bmNfXywgcXVl dWVfaWQpOw0KPiAtCQlyZXR1cm4gMDsNCj4gLQl9DQo+IC0NCj4gIAl2cSA9IGRldi0+dmlydHF1 ZXVlW3F1ZXVlX2lkXTsNCj4gDQo+IC0JaWYgKHVubGlrZWx5KCF2cS0+YXN5bmNfcmVnaXN0ZXJl ZCkpIHsNCj4gLQkJVkhPU1RfTE9HX0RBVEEoRVJSLCAiKCVkKSAlczogYXN5bmMgbm90IHJlZ2lz dGVyZWQgZm9yIHF1ZXVlDQo+IGlkICVkLlxuIiwNCj4gLQkJCWRldi0+dmlkLCBfX2Z1bmNfXywg cXVldWVfaWQpOw0KPiAtCQlyZXR1cm4gMDsNCj4gLQl9DQo+IC0NCj4gLQlydGVfc3BpbmxvY2tf bG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4gLQ0KPiAgCXBrdHNfaWR4ID0gdnEtPmFzeW5jX3Br dHNfaWR4ICUgdnEtPnNpemU7DQo+ICAJcGt0c19pbmZvID0gdnEtPmFzeW5jX3BrdHNfaW5mbzsN Cj4gIAl2cV9zaXplID0gdnEtPnNpemU7DQo+IEBAIC0yMTUzLDcgKzIxMzUsNyBAQCB1aW50MTZf dCBydGVfdmhvc3RfcG9sbF9lbnF1ZXVlX2NvbXBsZXRlZChpbnQgdmlkLA0KPiB1aW50MTZfdCBx dWV1ZV9pZCwNCj4gIAkJdnFfc2l6ZSwgdnEtPmFzeW5jX3BrdHNfaW5mbGlnaHRfbik7DQo+IA0K PiAgCWlmIChjb3VudCA+IHZxLT5hc3luY19sYXN0X3BrdHNfbikgew0KPiAtCQluX3BvbGwgPSB2 cS0+YXN5bmNfb3BzLmNoZWNrX2NvbXBsZXRlZF9jb3BpZXModmlkLA0KPiArCQluX3BvbGwgPSB2 cS0+YXN5bmNfb3BzLmNoZWNrX2NvbXBsZXRlZF9jb3BpZXMoZGV2LT52aWQsDQo+ICAJCQlxdWV1 ZV9pZCwgMCwgY291bnQgLSB2cS0+YXN5bmNfbGFzdF9wa3RzX24pOw0KPiAgCQlpZiAobl9wb2xs ID49IDApIHsNCj4gIAkJCW5fcGt0c19jcGwgPSBuX3BvbGw7DQo+IEBAIC0yMTY4LDcgKzIxNTAs NyBAQCB1aW50MTZfdCBydGVfdmhvc3RfcG9sbF9lbnF1ZXVlX2NvbXBsZXRlZChpbnQgdmlkLA0K PiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gIAluX3BrdHNfcHV0ID0gUlRFX01JTihjb3VudCwgbl9w a3RzX2NwbCk7DQo+ICAJaWYgKHVubGlrZWx5KG5fcGt0c19wdXQgPT0gMCkpIHsNCj4gIAkJdnEt PmFzeW5jX2xhc3RfcGt0c19uID0gbl9wa3RzX2NwbDsNCj4gLQkJZ290byBkb25lOw0KPiArCQly ZXR1cm4gMDsNCj4gIAl9DQo+IA0KPiAgCWlmICh2cV9pc19wYWNrZWQoZGV2KSkgew0KPiBAQCAt MjIwNywxMiArMjE4OSw3NCBAQCB1aW50MTZfdCBydGVfdmhvc3RfcG9sbF9lbnF1ZXVlX2NvbXBs ZXRlZChpbnQgdmlkLA0KPiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gIAkJCXZxLT5sYXN0X2FzeW5j X2Rlc2NfaWR4X3NwbGl0ICs9IG5fZGVzY3M7DQo+ICAJfQ0KPiANCj4gLWRvbmU6DQo+ICsJcmV0 dXJuIG5fcGt0c19wdXQ7DQo+ICt9DQo+ICsNCj4gK3VpbnQxNl90IHJ0ZV92aG9zdF9wb2xsX2Vu cXVldWVfY29tcGxldGVkKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0KPiArCQlzdHJ1Y3Qg cnRlX21idWYgKipwa3RzLCB1aW50MTZfdCBjb3VudCkNCg0KQmFzZWQgb24gRFBESyBjb2Rpbmcg c3R5bGUsIHRoaW5ncyBsaWtlIHJldHVybiB2YWx1ZSBzaG91bGQgYmUgaW4gYW5vdGhlciBuZXcg bGluZS4NCg0KaHR0cHM6Ly9kb2MuZHBkay5vcmcvZ3VpZGVzL2NvbnRyaWJ1dGluZy9jb2Rpbmdf c3R5bGUuaHRtbCNkZWZpbml0aW9ucw0KDQpGb3Igc2ltaWxhciBjaGFuZ2VzLCBwbGVhc2UgY2hl Y2suDQoNCj4gK3sNCj4gKwlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2ID0gZ2V0X2RldmljZSh2aWQp Ow0KPiArCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxOw0KPiArCXVpbnQxNl90IG5fcGt0c19w dXQgPSAwOw0KDQpTaW5jZSB0aGlzIHZhbCBpcyBmb3IgcmVjb3JkaW5nIHBrdHMgY29tcGxldGVk LCBtYXliZSBuX3BrdHNfY3BsPw0KDQo+ICsNCj4gKwlpZiAoIWRldikNCj4gKwkJcmV0dXJuIDA7 DQo+ICsNCj4gKwlWSE9TVF9MT0dfREFUQShERUJVRywgIiglZCkgJXNcbiIsIGRldi0+dmlkLCBf X2Z1bmNfXyk7DQo+ICsJaWYgKHVubGlrZWx5KCFpc192YWxpZF92aXJ0X3F1ZXVlX2lkeChxdWV1 ZV9pZCwgMCwgZGV2LT5ucl92cmluZykpKSB7DQo+ICsJCVZIT1NUX0xPR19EQVRBKEVSUiwgIigl ZCkgJXM6IGludmFsaWQgdmlydHF1ZXVlIGlkeCAlZC5cbiIsDQo+ICsJCQlkZXYtPnZpZCwgX19m dW5jX18sIHF1ZXVlX2lkKTsNCj4gKwkJcmV0dXJuIDA7DQo+ICsJfQ0KPiArDQo+ICsJdnEgPSBk ZXYtPnZpcnRxdWV1ZVtxdWV1ZV9pZF07DQo+ICsNCj4gKwlpZiAodW5saWtlbHkoIXZxLT5hc3lu Y19yZWdpc3RlcmVkKSkgew0KPiArCQlWSE9TVF9MT0dfREFUQShFUlIsICIoJWQpICVzOiBhc3lu YyBub3QgcmVnaXN0ZXJlZCBmb3IgcXVldWUNCj4gaWQgJWQuXG4iLA0KPiArCQkJZGV2LT52aWQs IF9fZnVuY19fLCBxdWV1ZV9pZCk7DQo+ICsJCXJldHVybiAwOw0KPiArCX0NCj4gKw0KPiArCXJ0 ZV9zcGlubG9ja19sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiArDQo+ICsJbl9wa3RzX3B1dCA9 IHZob3N0X3BvbGxfZW5xdWV1ZV9jb21wbGV0ZWQoZGV2LCBxdWV1ZV9pZCwgcGt0cywgY291bnQp Ow0KPiArDQo+ICAJcnRlX3NwaW5sb2NrX3VubG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4gDQo+ ICAJcmV0dXJuIG5fcGt0c19wdXQ7DQo+ICB9DQo+IA0KPiArdWludDE2X3QgcnRlX3Zob3N0X3Ry eV9kcmFpbl9xdWV1ZV90aHJlYWRfdW5zYWZlKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0K PiArCQlzdHJ1Y3QgcnRlX21idWYgKipwa3RzLCB1aW50MTZfdCBjb3VudCwgdWludDE2X3QgdGlt ZXMpDQo+ICt7DQo+ICsJc3RydWN0IHZpcnRpb19uZXQgKmRldiA9IGdldF9kZXZpY2UodmlkKTsN Cj4gKwlzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cTsNCj4gKwl1aW50MTZfdCBuX2NwbCA9IDA7 DQoNCk1ha2UgdGhlIG5hbWUgc2FtZSBhcyBhYm92ZQ0KDQo+ICsNCj4gKwlpZiAoIWRldikNCj4g KwkJcmV0dXJuIDA7DQo+ICsNCj4gKwlWSE9TVF9MT0dfREFUQShERUJVRywgIiglZCkgJXNcbiIs IGRldi0+dmlkLCBfX2Z1bmNfXyk7DQo+ICsJaWYgKHVubGlrZWx5KCFpc192YWxpZF92aXJ0X3F1 ZXVlX2lkeChxdWV1ZV9pZCwgMCwgZGV2LT5ucl92cmluZykpKSB7DQo+ICsJCVZIT1NUX0xPR19E QVRBKEVSUiwgIiglZCkgJXM6IGludmFsaWQgdmlydHF1ZXVlIGlkeCAlZC5cbiIsDQo+ICsJCQlk ZXYtPnZpZCwgX19mdW5jX18sIHF1ZXVlX2lkKTsNCj4gKwkJcmV0dXJuIDA7DQo+ICsJfQ0KPiAr DQo+ICsJdnEgPSBkZXYtPnZpcnRxdWV1ZVtxdWV1ZV9pZF07DQo+ICsNCj4gKwlpZiAodW5saWtl bHkoIXZxLT5hc3luY19yZWdpc3RlcmVkKSkgew0KPiArCQlWSE9TVF9MT0dfREFUQShFUlIsICIo JWQpICVzOiBhc3luYyBub3QgcmVnaXN0ZXJlZCBmb3IgcXVldWUNCj4gaWQgJWQuXG4iLA0KPiAr CQkJZGV2LT52aWQsIF9fZnVuY19fLCBxdWV1ZV9pZCk7DQo+ICsJCXJldHVybiAwOw0KPiArCX0N Cj4gKw0KPiArCXdoaWxlICgobl9jcGwgPCBjb3VudCkgJiYgdGltZXMtLSkNCg0KJ3doaWxlIChu X2NwbCA8IGNvdW50ICYmIHRpbWVzLS0pJyBpcyBlbm91Z2gNCg0KVGhhbmtzLA0KQ2hlbmJvDQoN Cj4gKwkJbl9jcGwgKz0gdmhvc3RfcG9sbF9lbnF1ZXVlX2NvbXBsZXRlZChkZXYsIHF1ZXVlX2lk LCBwa3RzICsgbl9jcGwsDQo+IGNvdW50KTsNCj4gKw0KPiArCXJldHVybiBuX2NwbDsNCj4gK30N Cj4gKw0KPiAgc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdWludDMyX3QNCj4gIHZpcnRpb19k ZXZfcnhfYXN5bmNfc3VibWl0KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHVpbnQxNl90IHF1ZXVl X2lkLA0KPiAgCXN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsIHVpbnQzMl90IGNvdW50LA0KPiAtLQ0K PiAyLjI5LjINCg0K