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 2E21CA034C; Mon, 24 Oct 2022 15:25:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB7D7427F0; Mon, 24 Oct 2022 15:25:35 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 73BD440A8B for ; Mon, 24 Oct 2022 15:25:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666617934; x=1698153934; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gtTYlckmb8PjTE51QQ5W3Vbu+D2RgMsgeuWFt0Krp0U=; b=c2TvspBdu3IDu8z3wmWCZ+q3ksQv1ILk2xLnLig8+1y8+F6TtEnMV7dc JFhSLF9jmFSTD8U2GS+MkiGROFR/vOpZFXBHyNWttjBBKIgf4o4gRqQz2 XNdb0qlW7PuP126VFRbiLDkPpchiCwm7dGvMRtDJPm0WjjyATMsdyqW/C cUkyzWyEvlw0uSmN4PWNBlWTju+i7Wss9Ebrx8p+yPxN2PwD/9FH8gfiT SNRjWwiP234B2IaxhoH7vBM/3ck/T+3z9FQYwov6P3ROb8+c4zSsVJ1kU a0Lt/Y15gnY5EOgfctHmpR20KQ5/DsPF7ClmyBIJjIE8LnMawlFU0h7Rm w==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="334000027" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="334000027" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2022 06:25:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="662429338" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="662429338" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 24 Oct 2022 06:25:33 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 24 Oct 2022 06:25:32 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 24 Oct 2022 06:25:31 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 24 Oct 2022 06:25:31 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 24 Oct 2022 06:25:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Omtsty4cXR2OSp2fVOS6uZ74oIaQW2VCMYlEvjzioW+CDs1B0UpZe+9dhkK+CV/Zp9sS9E5XAbBnrpBKXOJ6L4VkWJE2pvX54jx+oo4cAV4JHiwUxifMRraAuisa8pLDk3Dyp13JKTziJd+97ZQ2cjt/mf7iCAGgz7JS1d29qt/3/ffVpc3agTtJ9lzEaLkSspDutFW6rWWNioZ8WKQWbCUnZowOgDVjwgBqPZp6PuhnTh1SLie2glozRplVeT1ewR4f1Ie2gFuyr1/xOSylB02N2JX4B++YuJSjX4cZIkXqtoNiXWJ2wbiVcKwdIIhR6e5fOHIBmtCjLD89l3LBPA== 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=gtTYlckmb8PjTE51QQ5W3Vbu+D2RgMsgeuWFt0Krp0U=; b=S6gusPhh7IE91PCBReLgBGF8ue9nhcVfM57YlHSGUw4nCugFfZ78h0fQVm7sNKNfV3IHORa5PDUeKFcgUJ50C+D/bqj7U0Ri5Lg4BNLRSJd09st1g9jPgaiAmgmoXQxS0pYEjKfjQdWxMQyrNjU+qMls/mhm4nUpI+GVwXPTSF38L6J4K4VYA9E4dY26p/lIFB/nkPNM73/pB4iEILlfvV3Yz6Ke8WEA4Ji3UsP9SqUF5hs4flOkZGTw7GknNhRM6q7KabTg3AR+5mM6kZ40zqTyp1iB8cKv5Txvpf0jAq8TQN8UFeA00cYLX2Vy/YSyFgYmqnpb606koCMhaNDDOA== 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 DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25) by PH0PR11MB5094.namprd11.prod.outlook.com (2603:10b6:510:3f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Mon, 24 Oct 2022 13:25:27 +0000 Received: from DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::126d:f905:c1d6:dcb9]) by DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::126d:f905:c1d6:dcb9%5]) with mapi id 15.20.5723.033; Mon, 24 Oct 2022 13:25:27 +0000 From: "Guo, Junfeng" To: Ferruh Yigit , "Zhang, Qi Z" , "Wu, Jingjing" , "Xing, Beilei" CC: "dev@dpdk.org" , "Li, Xiaoyun" , "awogbemila@google.com" , "Richardson, Bruce" , "hemant.agrawal@nxp.com" , "stephen@networkplumber.org" , "Xia, Chenbo" , "Zhang, Helin" Subject: RE: [PATCH v7 8/8] net/gve: add support for Rx/Tx Thread-Topic: [PATCH v7 8/8] net/gve: add support for Rx/Tx Thread-Index: AQHY5S6BcyeyVjeh90qZpC0jTrTkn64Ymy4AgARk2PCAAGJeAIAAI+4w Date: Mon, 24 Oct 2022 13:25:26 +0000 Message-ID: References: <20221020103656.1068036-1-junfeng.guo@intel.com> <20221021091928.2674471-1-junfeng.guo@intel.com> <20221021091928.2674471-9-junfeng.guo@intel.com> <690afa67-a5b4-e282-089b-f20f7e3fb085@amd.com> <9a880154-2d0a-46c2-74e8-541b49f8b0f2@amd.com> In-Reply-To: <9a880154-2d0a-46c2-74e8-541b49f8b0f2@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 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: DM6PR11MB3723:EE_|PH0PR11MB5094:EE_ x-ms-office365-filtering-correlation-id: 55b18f58-9dc9-491b-e06f-08dab5c336e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /F3cs3kg4RLHDkjuwhSLgPHAx7L6jROKof23BTyqo4VTpE8hZk8UO8LdhIB8IP+jLLPwkTLKqskK/UIG+a+6WCzYwr7eShk3RFe9G3F7TC65veL9OU7xlo175cuNKF3Ko0BjA+KDJzbhrCwbrCGzP9eAauX4TiKRSW1JU30rPhTs3XAxbyx/o+inm7KnLfOr46mRGUybwcj6TngiBl0NapfBM+JT1SvAoNMZLaK16LNPOFr5EyjqVtH2W0wkqwNXHt77sBl6TEZ19YJWssMwi+ikD3zi4Uu5FEMBK3eCU7wM7FUK5CoQCOKzSOveErfk8cUe7tBYn/ktTyCxik5Ki/gROAT+cK2XGHZ9Ozzt11RVc57+FUclDZz6G8kYJFnhpx0vz7/+IgqCdi1gKq4kgaSAi+4RlC1R1+QjDcUHV/oyTvC/BtuDryCe9Ve6TFVjsuQ5w5WbeBQUQYwTUe4r2aL04IiPO7ecjS5zcuiUZGJcsIQjufDvsjUm/brHXgya1JB/967QQ+uKLjU8xYHWugC+eS0+/C4RfrUzWcPHPdkS5xxm/ChUHTtPFuZFFaLScVC4khngK4tn1WS7f45p+VdD+Wo8tZpzsjf9OBvP6W16tNbNaDwaU1ZyMz7rGQTVE3FTsE9B3m66QTu7+TlPrz6dtno/g74cWiUSFbNw+n3sTkwJlc1ziefNO2DeLSXnHMP12tTZSDVjT4ACKvb4hJoPw0QxOxvLKitACRgxPfecMHqpM3nnQcsI7yruN+tgQd1lUgQtB61YXu/u2L2uhA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(39860400002)(346002)(136003)(376002)(366004)(396003)(451199015)(64756008)(8936002)(41300700001)(8676002)(316002)(6636002)(66946007)(54906003)(110136005)(4326008)(66446008)(66476007)(33656002)(66556008)(6506007)(5660300002)(38070700005)(82960400001)(76116006)(52536014)(86362001)(38100700002)(122000001)(478600001)(107886003)(26005)(71200400001)(7696005)(186003)(9686003)(53546011)(55016003)(83380400001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWZibmpLL1dtT05aSGpVby8zT2toMnIxK1hrb0czUFNiOG9xSVdxYlFRcVBx?= =?utf-8?B?YUd5dmxFbHpud1NHRDZ4b3FoL2g1cTRyb2FCajcyNDNRcVNOVkZlYWtPZHZD?= =?utf-8?B?NWVHL0cvWlpXdHR2Tnl0ZFJqMG5lZlR0VlphRTFZQ3JjamlnU1B3N2RjRWlt?= =?utf-8?B?N3krbUtqc21GcmZBaXZYWjhHNDF6NnpFQVc3OUZGU3IyNGdIZUlrdjlKUGhK?= =?utf-8?B?MFp0Q0RyRXNvRGxyeGMwdHM3YkhJSzY2VDUyMlpLMmdJMjY4ZitnemtmN0Rw?= =?utf-8?B?eGZuOTY4QTNFWCtjeWlQRVczLzErbkpIZnZTTHdBaXY1bjhrT001cENUdkZh?= =?utf-8?B?djlDY3Z2TklrMWNacWRrTEJ6QzA1bkh0b0tJK041ODR2VmJYeCs1L2Y5Zmcz?= =?utf-8?B?L0Qzako3dXlTOFB4aEQvQmRGS1ZSSHhyU0RtT0M2cjJHeDl6N3NZbWdDL2NL?= =?utf-8?B?T3ZDWEx3VXdxN25OcTFVdnFOdWpkWWtqSDBkRHc2VnhIMEFmKzFxMHA2TDhl?= =?utf-8?B?SzVGdDVsOHFObVN6U0Z6SnhVc2dyZ2kxS1plaGhEZXorZm5kMkdPZFZUUCtB?= =?utf-8?B?bkRWTFdnVjE4TVJqVWxsVmlra0hidzd5UUNHUUFLNlBEZWlmZERCclA0K2tQ?= =?utf-8?B?TnllekJiRm5WWlM2cXJmdHZJbEt0bExYd0h1clBnQndlWmRWWUFUODA0cEVv?= =?utf-8?B?YjNHZ3RxRjIySWx3ZWlnUVZkMWRUVnJLb1Q5bktkQmh0dVgwWUxWTHBYN2lw?= =?utf-8?B?UXF4WW52MHdRYUVMY0pxSGxPNWJPVGxUVmtwck1FUjVNYlJ0WjBXRzA1Y0xh?= =?utf-8?B?NEZQRDFDVkxRVDRuZ1EzOXNXV2xnMXYyK3I0ZlVUQzhsanJmbTFCa1lORmoy?= =?utf-8?B?ZXFEWG5wY2VFQnJmbXZaNzFUYW5vcFhYcmJGYThTbXVoUTlQaXFCb3dCRzZo?= =?utf-8?B?Y0hXRlF1ckFLTUJYOWhxam5aYnZxbDVTcEFQZ1Z5VU0zSU1STXVoU3RVdDBQ?= =?utf-8?B?dm04RFZzOElWY2w2Wi8zb2ZuM3ZQZ25GdmtBdHkwdElTNWRGWGp5aktndGsy?= =?utf-8?B?R0xpTEFGVDhXaC8yQnFjclJRMEtOVUhBV1hueUtIVVZlREJIVVB2RklaWGdp?= =?utf-8?B?dmJHcEhMTm9sc0FYU3NvQktXcTNwVnFXQmFyWHpEbTlZU3NkQm1uRkVncSt6?= =?utf-8?B?dUpWWXRjOEV3L0ZuRUpQM0RGcVd4WTNCSmpuYTVLV01oejIrUEpibUovcWt0?= =?utf-8?B?RDF4czhMVTZLQUxZY3gveFlERXZpUEtzaGNnUGxScjI0NGRWOTRpV01TYkc4?= =?utf-8?B?bVBSRnFaTFZ0eHhrZ1ZWZmJ2a2UwZVVzSXVzUWdkT2lQbGRwTWhEZzNDeExH?= =?utf-8?B?TG9jY1BtRlhOTU45bUFNYVlXWHR5QzNiUTdMakp1RXFHNEtpaWVNelJVWDhU?= =?utf-8?B?ZDVYOXdRcTg0dWduNGx2OERPdGdETW01bDVsVksrQTdvbWlGTTc5WTcvOWx4?= =?utf-8?B?RkcwSjFOZmdqd1ZmYk90OE9nZHFlZTMwZXZPVi80eGNleWlBNzFFTkhPMlZX?= =?utf-8?B?U2dJVTNkUU9MMzU4RysxNXU2MWc5TGNuM2xkR29ITktpNXEwYTVIZEhhV3NT?= =?utf-8?B?dGtnMlhzd2FyR2xBVHAzdmw0Tm91UXRQUHBaNzV6WWtIdkZKV3R0aEI1LzFF?= =?utf-8?B?L1VzbXVnRzd5Umg3eXc2STFRNkFaK0djOE9oYUpvcjcyUjBkRU9pbURBaUxX?= =?utf-8?B?QitsTFI1ZG42MUxsNjUvcnFQT3BPVXZUQk82Qmh2dkwrUmtYVkp0R1lmTHdE?= =?utf-8?B?UDBHUi9JZUptVXJUaWp3OUY0dVh3akNZRE5nMXE4R1hjcWZaV1RKMFZPV2tl?= =?utf-8?B?RDBIUUdCQVllMFVSam1ieW9uVldSdEJJTmNCTkFQamY5Sk5YM2NPUnhYQ2tX?= =?utf-8?B?SE1BTTlvQkZ3MGVST1kwaVZodVZkVGYvZldGL1E5WjFRNm9STnlJQkxROVR5?= =?utf-8?B?dTVZRElRbldXc0RoTFY5cnVnYzV0SkYwME9mdHRKTEdQeWtTenZQNWg4L0RS?= =?utf-8?B?VGkxdkV5elJaOVNCNWRGaTgyeW8vdkNhYUIyYzQ2WkxyMGUvWVFQbUFPbTlH?= =?utf-8?Q?0LDe9C4JgK1ly3YARG6A2HcmV?= 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: DM6PR11MB3723.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55b18f58-9dc9-491b-e06f-08dab5c336e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 13:25:27.0031 (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: AzbtH7UzirJ8L3zLUhpd9ZIJXe/n2Jx8lzVPN2cbyu61JTr6yNJg23X4QP1N83UFVDreXCqAjd8q0Anl0K4tbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5094 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDI0LCAyMDIyIDE4 OjUwDQo+IFRvOiBHdW8sIEp1bmZlbmcgPGp1bmZlbmcuZ3VvQGludGVsLmNvbT47IFpoYW5nLCBR aSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VA aW50ZWwuY29tPjsgWGluZywNCj4gQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+DQo+IENj OiBkZXZAZHBkay5vcmc7IExpLCBYaWFveXVuIDx4aWFveXVuLmxpQGludGVsLmNvbT47DQo+IGF3 b2diZW1pbGFAZ29vZ2xlLmNvbTsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPGJydWNlLnJpY2hhcmRz b25AaW50ZWwuY29tPjsgaGVtYW50LmFncmF3YWxAbnhwLmNvbTsNCj4gc3RlcGhlbkBuZXR3b3Jr cGx1bWJlci5vcmc7IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47DQo+IFpoYW5n LCBIZWxpbiA8aGVsaW4uemhhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY3 IDgvOF0gbmV0L2d2ZTogYWRkIHN1cHBvcnQgZm9yIFJ4L1R4DQo+IA0KPiBPbiAxMC8yNC8yMDIy IDY6MDQgQU0sIEd1bywgSnVuZmVuZyB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFt ZC5jb20+DQo+ID4+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAyMSwgMjAyMiAxNzo1Mg0KPiA+PiBU bzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBaaGFuZywgUWkgWg0KPiA+ PiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1QGludGVs LmNvbT47DQo+ID4+IGZlcnJ1aC55aWdpdEB4aWxpbnguY29tOyBYaW5nLCBCZWlsZWkgPGJlaWxl aS54aW5nQGludGVsLmNvbT4NCj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgTGksIFhpYW95dW4gPHhp YW95dW4ubGlAaW50ZWwuY29tPjsNCj4gPj4gYXdvZ2JlbWlsYUBnb29nbGUuY29tOyBSaWNoYXJk c29uLCBCcnVjZQ0KPiA+PiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBoZW1hbnQuYWdy YXdhbEBueHAuY29tOw0KPiA+PiBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgWGlhLCBDaGVu Ym8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsNCj4gPj4gWmhhbmcsIEhlbGluIDxoZWxpbi56aGFu Z0BpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjcgOC84XSBuZXQvZ3ZlOiBh ZGQgc3VwcG9ydCBmb3IgUngvVHgNCj4gPj4NCj4gPj4gT24gMTAvMjEvMjAyMiAxMDoxOSBBTSwg SnVuZmVuZyBHdW8gd3JvdGU6DQo+ID4+DQo+ID4+Pg0KPiA+Pj4gQWRkIFJ4L1R4IG9mIEdRSV9R UEwgcXVldWUgZm9ybWF0IGFuZCBHUUlfUkRBIHF1ZXVlIGZvcm1hdC4NCj4gPj4+DQo+ID4+PiBT aWduZWQtb2ZmLWJ5OiBYaWFveXVuIExpIDx4aWFveXVuLmxpQGludGVsLmNvbT4NCj4gPj4+IFNp Z25lZC1vZmYtYnk6IEp1bmZlbmcgR3VvIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+DQo+ID4+DQo+ ID4+IDwuLi4+DQo+ID4+DQo+ID4+PiArDQo+ID4+PiArc3RhdGljIGlubGluZSB2b2lkDQo+ID4+ PiArZ3ZlX3R4X2NsZWFuX3N3cl9xcGwoc3RydWN0IGd2ZV90eF9xdWV1ZSAqdHhxKQ0KPiA+Pj4g K3sNCj4gPj4+ICsgICAgICAgdWludDMyX3Qgc3RhcnQgPSB0eHEtPnN3X250YzsNCj4gPj4+ICsg ICAgICAgdWludDMyX3QgbnRjLCBuYl9jbGVhbjsNCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgbnRj ID0gdHhxLT5zd190YWlsOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICBpZiAobnRjID09IHN0YXJ0 KQ0KPiA+Pj4gKyAgICAgICAgICAgICAgIHJldHVybjsNCj4gPj4+ICsNCj4gPj4+ICsgICAgICAg LyogaWYgd3JhcCBhcm91bmQsIGZyZWUgdHdpY2UuICovDQo+ID4+PiArICAgICAgIGlmIChudGMg PCBzdGFydCkgew0KPiA+Pj4gKyAgICAgICAgICAgICAgIG5iX2NsZWFuID0gdHhxLT5uYl90eF9k ZXNjIC0gc3RhcnQ7DQo+ID4+PiArICAgICAgICAgICAgICAgaWYgKG5iX2NsZWFuID4gR1ZFX1RY X01BWF9GUkVFX1NaKQ0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgbmJfY2xlYW4gPSBH VkVfVFhfTUFYX0ZSRUVfU1o7DQo+ID4+PiArICAgICAgICAgICAgICAgZ3ZlX2ZyZWVfYnVsa19t YnVmKCZ0eHEtPnN3X3Jpbmdbc3RhcnRdLCBuYl9jbGVhbik7DQo+ID4+PiArDQo+ID4+PiArICAg ICAgICAgICAgICAgdHhxLT5zd19uYl9mcmVlICs9IG5iX2NsZWFuOw0KPiA+Pj4gKyAgICAgICAg ICAgICAgIHN0YXJ0ICs9IG5iX2NsZWFuOw0KPiA+Pj4gKyAgICAgICAgICAgICAgIGlmIChzdGFy dCA9PSB0eHEtPm5iX3R4X2Rlc2MpDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICBzdGFy dCA9IDA7DQo+ID4+PiArICAgICAgICAgICAgICAgdHhxLT5zd19udGMgPSBzdGFydDsNCj4gPj4+ ICsgICAgICAgfQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICBpZiAobnRjID4gc3RhcnQpIHsNCj4g Pj4+ICsgICAgICAgICAgICAgICBuYl9jbGVhbiA9IG50YyAtIHN0YXJ0Ow0KPiA+Pj4gKyAgICAg ICAgICAgICAgIGlmIChuYl9jbGVhbiA+IEdWRV9UWF9NQVhfRlJFRV9TWikNCj4gPj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIG5iX2NsZWFuID0gR1ZFX1RYX01BWF9GUkVFX1NaOw0KPiA+Pj4g KyAgICAgICAgICAgICAgIGd2ZV9mcmVlX2J1bGtfbWJ1ZigmdHhxLT5zd19yaW5nW3N0YXJ0XSwg bmJfY2xlYW4pOw0KPiA+Pj4gKyAgICAgICAgICAgICAgIHR4cS0+c3dfbmJfZnJlZSArPSBuYl9j bGVhbjsNCj4gPj4+ICsgICAgICAgICAgICAgICBzdGFydCArPSBuYl9jbGVhbjsNCj4gPj4+ICsg ICAgICAgICAgICAgICB0eHEtPnN3X250YyA9IHN0YXJ0Ow0KPiA+Pj4gKyAgICAgICB9DQo+ID4+ PiArfQ0KPiA+Pg0KPiA+PiBbY29weS9wYXN0ZSBmcm9tIHByZXZpb3VzIHZlcnNpb25dDQo+ID4+ DQo+ID4+IG1heSBiZSBjYW4gZHJvcCB0aGUgJ2lmJyBibG9jaywgc2luY2UgIm50YyA9PSBzdGFy dCIgYW5kICJudGMgPCBzdGFydCINCj4gPj4gY2FzZXMgYWxyZWFkeSBjb3ZlcmVkLg0KPiA+DQo+ ID4gWWVzLCB0aGlzICdpZicgYmxvY2sgaXMgZHJvcHBlZCBpbiB2NyBhcyBzdWdnZXN0ZWQuIFRo YW5rcyENCj4gPg0KPiANCj4gVGhpcyBpcyB2NyBhbmQgcGxlYXNlIGNoZWNrIGFib3ZlIGNvZGUg d2hpY2ggaGFzIHRoZSBtZW50aW9uZWQgJ2lmJw0KPiBibG9jayBleGlzdCwgZG8geW91IG1lYW4g aW4gY29taW5nIHY4Pw0KDQpPaCwgc29ycnkgYWJvdXQgdGhpcyEgVGhlcmUgaXMgYW5vdGhlciBm dW5jdGlvbiB3aXRoIHRoZSBzYW1lIGlzc3VlLg0KSSBqdXN0IHVwZGF0ZWQgdGhlIGNvZGUgdGhl cmUgYW5kIGZvcmdvdCB0aGlzLiBXaWxsIHVwZGF0ZSB0aGlzIGFuZCANCmNoZWNrIGZvciB0aGUg cmVzdCBpbiB0aGUgY29taW5nIHZlcnNpb24uIFRoYW5rcyENCg0KPiANCj4gPj4NCj4gPj4gPC4u Lj4NCj4gPj4NCj4gPj4+ICt1aW50MTZfdA0KPiA+Pj4gK2d2ZV90eF9idXJzdCh2b2lkICp0eF9x dWV1ZSwgc3RydWN0IHJ0ZV9tYnVmICoqdHhfcGt0cywgdWludDE2X3QNCj4gPj4gbmJfcGt0cykN Cj4gPj4+ICt7DQo+ID4+PiArICAgICAgIHN0cnVjdCBndmVfdHhfcXVldWUgKnR4cSA9IHR4X3F1 ZXVlOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICBpZiAodHhxLT5pc19ncWlfcXBsKQ0KPiA+Pj4g KyAgICAgICAgICAgICAgIHJldHVybiBndmVfdHhfYnVyc3RfcXBsKHR4X3F1ZXVlLCB0eF9wa3Rz LCBuYl9wa3RzKTsNCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgcmV0dXJuIGd2ZV90eF9idXJzdF9y YSh0eF9xdWV1ZSwgdHhfcGt0cywgbmJfcGt0cyk7DQo+ID4+PiArfQ0KPiA+Pj4gKw0KPiA+Pg0K PiA+PiBbY29weS9wYXN0ZSBmcm9tIHByZXZpb3VzIHZlcnNpb25dDQo+ID4+DQo+ID4+IENhbiB0 aGVyZSBiZSBtaXggb2YgcXVldWUgdHlwZXM/DQo+ID4+IElmIG9ubHkgb25lIHF1ZXVlIHR5cGUg aXMgc3VwcG9ydGVkIGluIHNwZWNpZmljIGNvbmZpZywgcGVyaGFwcyBidXJzdA0KPiA+PiBmdW5j dGlvbiBjYW4gYmUgc2V0IGR1cmluZyBjb25maWd1cmF0aW9uLCB0byBwcmV2ZW50IGlmIGNoZWNr IG9uDQo+IGRhdGFwYXRoLg0KPiA+Pg0KPiA+PiBUaGlzIGlzIG9wdGltaXphdGlvbiBhbmQgY2Fu IGJlIGRvbmUgbGF0ZXIsIGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBpbiB0aGUNCj4gPj4gc2V0Lg0K PiA+DQo+ID4gVGhlIGV4YWN0IHF1ZXVlIHR5cGUgY2FuIGJlIGZldGNoZWQgZnJvbSB0aGUgYmFj a2VuZCB2aWEgYWRtaW5xDQo+ID4gaW4gcHJpdi0+cXVldWVfZm9ybWF0LiBTbyB0aGVyZSB3b24n dCBiZSBtaXggb2YgdGhlIHF1ZXVlIHR5cGVzLg0KPiA+IEN1cnJlbnRseSwgb25seSBHUUlfUVBM IGFuZCBHUUlfUkRBIHF1ZXVlIGZvcm1hdCBhcmUgc3VwcG9ydGVkDQo+ID4gaW4gUE1ELiBBbHNv LCBvbmx5IEdRSV9RUEwgcXVldWUgZm9ybWF0IGlzIGluIHVzZSBvbiBHQ1Agc2luY2UNCj4gPiBH UUlfUkRBIGhhc24ndCBiZWVuIHJlbGVhc2VkIGluIHByb2R1Y3Rpb24uDQo+ID4gVGhpcyBwYXJ0 IGNvZGUgd2lsbCBiZSBvcHRpbWl6ZWQvcmVmYWN0b3JlZCBsYXRlciB3aGVuIGludm9sdmluZw0K PiA+IHRoZSBxdWV1ZSB0eXBlIERRT19SREEuIFRoYW5rcyENCj4gPg0KDQo=