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 982E2A0547; Thu, 26 Aug 2021 09:16:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1B8D340140; Thu, 26 Aug 2021 09:16:05 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 57E144013F for ; Thu, 26 Aug 2021 09:16:03 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10087"; a="204887077" X-IronPort-AV: E=Sophos;i="5.84,352,1620716400"; d="scan'208";a="204887077" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2021 00:16:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,352,1620716400"; d="scan'208";a="537227864" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga002.fm.intel.com with ESMTP; 26 Aug 2021 00:16:01 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 26 Aug 2021 00:16:00 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) 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.2242.10; Thu, 26 Aug 2021 00:16:00 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Thu, 26 Aug 2021 00:16:00 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.46) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Thu, 26 Aug 2021 00:15:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aMVB93Kkvy7DtSUsrFqvSLDahl/iIaQ2p99s+uitirFYJNeBzOZUaPws4EtHAIO+WAVGSsNfxsRCQR2X8RUAEVLRjG012sDKtTUswFJp7Yv/eNJ1iItZKumO585Yp8JI8kGJj2t/WKxNoWde5yHnWg9bT//CI82JxC2svj1sUskKBumohiLYC/DUaCQPk+3Jnor8Dgk0zew4pauqGNXbWqHp5KxFeQDJgizoSrAaSpj7sOEGjoOk5jcvmXjg/BMkCSfa9xw+ySw7dpYUghdaOSEdWSSvfFiilbxXM+Jq1Bq4ICTw/JYTOphR56sQSLwXF1LuM17UQxbTv7h6rkHWAw== 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=NXPtzzRjdFYRxDzMGWX8e+zmvqyBh1NdjpzkGvKclss=; b=MrSpPepV0WYbuuRgQj5pQOhyJc8CGZllfKxZshZighcyDsID1PQZfT4nkxKsJ/QSakeR50BdqebJhDL9qntOP4ihhypM5aac2RnKNeUC6PNXBeEw4wI3VPiTjyGmHFt4VqIs9XRCGZ9Ypr/zT7QkR0smS6A8i4j8sYSTqHu9Ui4oL0cxHKl6J7lylrbZ4ZM59iqHa1FmOCGXvuJJ6oNZ+6wqyHW759V8uO4gSY3O8TREerOqVD60G10l/apKONrpPyMveum6HUya4iwpj98yhc0o2SlzrTMfO/jsfYnbaB+mZ5scfhebsG0oQrdmtkWlqEsKnsyW9S8FwivXJZ8C9A== 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=NXPtzzRjdFYRxDzMGWX8e+zmvqyBh1NdjpzkGvKclss=; b=bw6U+Ix/6jG6TZuFcGGik22+QN3k/G3X0sQVy1VvVfC4l0sTsqdmsaI6nScJ+TuNXxXm0v9MDUVXmfTLyw7CTAQ7nKE4VvrBQHfRpB+EroExZZS0rV5SIdo8Mxf2eQH40CqBldkw7FkglN5eaAXGn32RiH5vhSZiA8J40Jm2o4w= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4141.namprd11.prod.outlook.com (2603:10b6:208:13b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Thu, 26 Aug 2021 07:15:53 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021 07:15:53 +0000 From: "Xia, Chenbo" To: Andrew Rybchenko , "Xueming(Steven) Li" CC: "dev@dpdk.org" , Maxime Coquelin Thread-Topic: [dpdk-dev] [PATCH] net/virtio: wait device ready in device reset Thread-Index: AQHXl+ml7FZJ6JXf7EGL/pZGwPAfoKuA2n+AgABCaoCAAbAUgIAClSew Date: Thu, 26 Aug 2021 07:15:53 +0000 Message-ID: References: <20210823063906.1382544-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a46f0f9e-2e25-4a96-e35e-08d96861577c x-ms-traffictypediagnostic: MN2PR11MB4141: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WHaA7lwAkOIx3gNlH9b70wfGnHavOBmunoTVf6b6kgORD0DvGTfttGwyCW08fGoNUIDaVuQWaCC/BmLTeIYYz5f3DoUJ/bJuTYOyuz4vLWzUOxZGcFKG32gVnFevj3gSxcCuhG3+YD5YHpGqnnOnoD1/Ms0WtpTXQKIKNDYf26pwSnDozHsI6kMTdc1B58JQX2UjiXDDD2SmCZp5w4wwKFbJ2UCKGmm0eRxq8Bvh4o/E1Wdbh0fyR9pYcl7j4u+hick32lLFiVIVg5m1SRiGTJJGSLvXDH61hbBcUbIqBKaOqFQ+lKc1kRLKhn6Dx0tKYphp+wOS2h17DBOqhwmMjNQK7xUQzJ8aYZ8U5416/WDHPJVUNa3QQszO5vS0WMJ2B62BZFCwH8RT6gp3jzl/oo0RwmcBpiQpjMnf47CCGL1S5jhWRMXwr1oOw/LgD+QoGHi2R8gePuYhovYNqObSeA+0JuEc55b8YNYRkkqD1CSi8+oHeoMMUaHmfxZsBMP0z89PMqvL+SlxOJeQirwo0jVw4aWMp4Ix0a8jwDNh1gKtCkX7lfgMpvKcl5R5I3Ec6xnj6A+PKlypY8qjU5l30+i9A4/BkQqK1fHn2Uxkx0Okjs3km+Wk4nH670CXWavUGaEHXV4Bll4lwzNcFTv1XHKwEjRv84g/YUeiKt5UnfoPMMpTShNNAS7/CTmKYgOeypSWx3xPQ7Ghtt0Bho0wNg== 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)(376002)(136003)(396003)(346002)(39860400002)(26005)(38100700002)(6506007)(52536014)(316002)(478600001)(54906003)(186003)(110136005)(122000001)(53546011)(8676002)(86362001)(33656002)(2906002)(7696005)(4326008)(5660300002)(76116006)(38070700005)(8936002)(55016002)(66946007)(64756008)(66446008)(66556008)(9686003)(83380400001)(66476007)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SUlTeFREU2RNL1hxUmwyeEcyUTBrZWI3SXZUZHBNdFJ3UitXT1BGUmpKc2My?= =?utf-8?B?Q01KL05LY2FOWFZBNGxsaVhiTWJ0NGJkUjJJUEtFcXN2NlJFcW82Qlh1NC8w?= =?utf-8?B?VWwyc0tZemRtK1NpMGJMeUw2RUNEWmh3VlpmNEtpRVlyQytOY0NxN2MxTjZC?= =?utf-8?B?UjVGN2tnUXlNU3FYQ1pNT1RnQ0RLT2dvMXhPRDVUK0twejJWbll5a0pGVzZ1?= =?utf-8?B?SSsrWGxtdzhFN2JmRHg5Y0l5YmhkSklyTHh4Z3hiWElyMUdoZzF5TlVHTmp5?= =?utf-8?B?QkgwdCtyOWhMWFp5OVk0d2w1a1U4TWZhQkd3VW54TndtVG5aQWJyM3VWeG53?= =?utf-8?B?VWw0cVJNS01lcjdtRjZURmNHZlRtWHZkV2dkYkEvc05wc3NESjdYc09QZ2N2?= =?utf-8?B?TGpmVTFZYVpVZWtnaW8ySndDRW45YXpmSGZtMGx2dDUzVTlmUS9ybm5oSUhi?= =?utf-8?B?dGt3cWpUNWFtcU01V2pSWCsrWmdPcm04VUJtN0xYUFpnNjlId3FNZ09zelBE?= =?utf-8?B?MHEvUmp1bDRPM2NpYmtaenFJNGlSTmNuYnFpcXgwOGtFMUovcEs2Wm5yWkVp?= =?utf-8?B?Mm1wSTRKRTNYdnpmWEZVcVBPZWdGR1YzSVBUOVc1UG13YSt5OE9NY1djUktk?= =?utf-8?B?SU95UlBncVhiQmpUZEFFRXhtSmlITCtReGlDRzgwR2FGbk02L3MzWmR2VDBS?= =?utf-8?B?UnhibEFCYXREWkF1dTczbFpRdU53M2lRVi9Td1BvY0ptdzdjcldhNFZSWlc5?= =?utf-8?B?SjNRWUJTeWhPd3Q3d2RJMTRLQjZ4SStuU2pOQm44S2o5eVFwL2JUMVFxd3JE?= =?utf-8?B?K2d5bW5GMTFESW1qR2ZZSXUreDUrODV4VkhnV1JlVkFZc3cyaWREMnNYcm9F?= =?utf-8?B?ZnR1TjNTdXlLUEQ5RktnbGg2YlV2YmZ5TmpmWTk0Nng5T3l1bk16VXU2LytH?= =?utf-8?B?NDJuVTg1Zm9ZdmZEMmlKdkEwdUFHdGZaZ3p6aG5yZ3pwSnhNZHd3SzI5REJ4?= =?utf-8?B?MGNSVy9GSGYycU0xbDJFUHFVV3pmU2VPNnJ1enFIV0Z1dG42QmRYcVRERXQ1?= =?utf-8?B?U2dHUFRleVdDd2YrdlNWWW0vK3cyYmlqZFBmTjhmVjBoSldyMG13SGw1K1Ra?= =?utf-8?B?RWFXVjZNdnhKYmxPK3F3MjQvbWtmSkFUOG84a0pIUm04NDJBUTZVUW1oYjds?= =?utf-8?B?VHlYZ2FJeHJWVXJuMWN3bjcxbzlYR25xRU15THUxUERRWGc5c21LYVZ6M2lW?= =?utf-8?B?eTNzWmxRMVpjNjgzWVNrU3FGZHBzaDJEeW10WmtIRk90bUhPYWlSWmZ3MGs4?= =?utf-8?B?TVpWeVJLeTJoZjRQMGt3b3VmNTZDR2ZaTzlLcDNHSHZPMjZMTHd3Y3BSQ2Jw?= =?utf-8?B?QnFmNlZkMWduVEtxQm5DVkl6UG15Qm50Z1YzWmpyclRjTGFEY09PNGUxUGg2?= =?utf-8?B?UjJPU2VLTHl4VFlTbGhPbklJQVVTZFNNTVI3V2QzV2M3YjdVQzZXWEYvdWhE?= =?utf-8?B?V2MwVEJUQm5nUndva29ReG5FRkFNUWxGamJMR3YrVGlidjlNb1FsSnh6WkhP?= =?utf-8?B?WHIrN1lwQUlsZWRtRlZWdGZEbTN3M2FEaUNqOTE0Q2RweVczMXJTSmtKTHll?= =?utf-8?B?cUErUXpPTWtXc0pXbmZWMUlEZHN0SnhPc3BQT2ZMU3kzNmpWT3hMVHhXVkxO?= =?utf-8?B?UFQrV0RNa3pIYU5XK2JaR1VwNW00NGVFd3JDeS9zeXVWT2VpK3JvVVdPR2xV?= =?utf-8?Q?3Y1vitGGv2X6fMqqWP6dQ6cRlDdiXZQQx3wnDdV?= 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: a46f0f9e-2e25-4a96-e35e-08d96861577c X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2021 07:15:53.7015 (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: Bm3EGKEnbP5WGpnbbGtYsLXZ/qbip2SqFJvMyVCBax+uj+QVsaDOfr8CaMIvRq2uWwcmvQjG5cF9RQaF5N5WTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4141 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/virtio: wait device ready in device reset 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" SGkgQWRyZXcgJiBYdWVtaW5nLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBT ZW50OiBUdWVzZGF5LCBBdWd1c3QgMjQsIDIwMjEgMTE6NDEgUE0NCj4gVG86IFh1ZW1pbmcoU3Rl dmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgTWF4aW1l IENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IFhpYSwgQ2hlbmJvDQo+IDxj aGVuYm8ueGlhQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBu ZXQvdmlydGlvOiB3YWl0IGRldmljZSByZWFkeSBpbiBkZXZpY2UgcmVzZXQNCj4gDQo+IE9uIDgv MjMvMjEgNDo1NCBQTSwgWHVlbWluZyhTdGV2ZW4pIExpIHdyb3RlOg0KPiA+DQo+ID4NCj4gPj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8 YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4+IFNlbnQ6IE1vbmRheSwgQXVndXN0 IDIzLCAyMDIxIDU6NTcgUE0NCj4gPj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xA bnZpZGlhLmNvbT4NCj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IENoZW5ibyBYaWENCj4gPGNoZW5iby54aWFAaW50ZWwu Y29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIG5ldC92aXJ0aW86IHdh aXQgZGV2aWNlIHJlYWR5IGluIGRldmljZQ0KPiByZXNldA0KPiA+Pg0KPiA+PiBPbiA4LzIzLzIx IDk6MzkgQU0sIFh1ZW1pbmcgTGkgd3JvdGU6DQo+ID4+PiBBY2NvcmRpbmcgdG8gdmlydGlvIHNw ZWMsIHRoZSBkZXZpY2UgTVVTVCByZXNldCB3aGVuIDAgaXMgd3JpdHRlbiB0bw0KPiA+Pj4gZGV2 aWNlX3N0YXR1cywgYW5kIHByZXNlbnQgYSAwIGluIGRldmljZV9zdGF0dXMgb25jZSB0aGF0IGlz IGRvbmUuDQo+ID4+Pg0KPiA+Pj4gVGhpcyBwYXRjaCBhZGRzIHRoZSBtaXNzaW5nIHBhcnQgb2Yg d2FpdGluZyBzdGF0dXMgMCBpbiByZXNldCBmdW5jdGlvbi4NCj4gPj4+DQo+ID4+PiBTaWduZWQt b2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+Pj4gLS0tDQo+ID4+ PiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5jIHwgNyArKysrKy0tDQo+ID4+PiAgMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5jIGIvZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpby5jDQo+ID4+PiBpbmRleCA3ZTFlNzc3OTdmLi5mMDAzZjYxMmQ2IDEwMDY0NA0K PiA+Pj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5jDQo+ID4+PiArKysgYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvLmMNCj4gPj4+IEBAIC0zLDYgKzMsOCBAQA0KPiA+Pj4gICAq IENvcHlyaWdodChjKSAyMDIwIFJlZCBIYXQsIEluYy4NCj4gPj4+ICAgKi8NCj4gPj4+DQo+ID4+ PiArI2luY2x1ZGUgPHVuaXN0ZC5oPg0KPiA+Pj4gKw0KPiA+Pj4gICNpbmNsdWRlICJ2aXJ0aW8u aCINCj4gPj4+DQo+ID4+PiAgdWludDY0X3QNCj4gPj4+IEBAIC0zOSw4ICs0MSw5IEBAIHZvaWQN Cj4gPj4+ICB2aXJ0aW9fcmVzZXQoc3RydWN0IHZpcnRpb19odyAqaHcpDQo+ID4+PiAgew0KPiA+ Pj4gIAlWSVJUSU9fT1BTKGh3KS0+c2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNf UkVTRVQpOw0KPiA+Pj4gLQkvKiBmbHVzaCBzdGF0dXMgd3JpdGUgKi8NCj4gPj4+IC0JVklSVElP X09QUyhodyktPmdldF9zdGF0dXMoaHcpOw0KPiA+Pj4gKwkvKiBGbHVzaCBzdGF0dXMgd3JpdGUg YW5kIHdhaXQgZGV2aWNlIHJlYWR5LiAqLw0KPiA+Pj4gKwl3aGlsZSAoVklSVElPX09QUyhodykt PmdldF9zdGF0dXMoaHcpICE9IFZJUlRJT19DT05GSUdfU1RBVFVTX1JFU0VUKQ0KPiA+Pj4gKwkJ dXNsZWVwKDEwMDBMKTsNCj4gPj4NCj4gPj4gRG9uJ3Qgd2UgbmVlZCBhIHByb3RlY3Rpb24gYWdh aW5zdCBmb3JldmVyIGxvb3AgaGVyZT8NCj4gPg0KPiA+IEdvb2QgcXVlc3Rpb24sIGlkZWFsbHkg d2UgbmVlZCwga2VybmVsIGRyaXZlciBmdW5jdGlvbiB2cF9yZXNldCgpIHNlZW1zIHRvDQo+IGhh dmUgc2FtZSBpc3N1ZS4NCj4gDQo+IFllcywgSSd2ZSBzZWVuIGl0Lg0KPiANCj4gPiBIb3cgYWJv dXQgbGVhdmluZyBhbiBlcnJvciBtZXNzYWdlIGJlZm9yZSByZXR1cm4/DQo+IA0KPiBATWF4aW1l LCBAQ2hlbmJvLCB3aGF0IGRvIHlvdSB0aGluaz8NCg0KSSB3b3VsZCB2b3RlIGZvciB3YWl0aW5n IGZvciBzb21lIHRpbWUgYmVmb3JlIHJldHVybiByYXRoZXIgdGhhbiBmb3JldmVyIGxvb3ANCmFu ZCBlcnJvciBtZXNzYWdlIGlzIG5lZWRlZC4NCg0KTXkgdW5kZXJzdGFuZGluZyBpcyBmb3Iga2Vy bmVsLCBpdCdzIGZpbmUgdG8gc2xlZXAgZm9yZXZlciBhcyBrZXJuZWwgY291bGQgc2NoZWR1bGUN Cml0IGJ1dCBmb3IgRFBESywgaXQgd2lsbCBsZWFkIHRvIG1haW4gbGNvcmUgdW5hYmxlIHRvIGRv IG90aGVyIHRoaW5ncyBidXQgc2xlZXANCmZvcmV2ZXIuIE1lYW53aGlsZSwgdXNlcnMgd2lsbCBz ZWUgdGhlIGFwcCBzdHVjayBidXQgZG9uJ3Qga25vdyB3aGF0J3Mgd3JvbmcgaGVyZS4NCg0KVGhh bmtzLA0KQ2hlbmJvDQoNCiANCg==