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 BEC76A0C49; Fri, 18 Jun 2021 06:34:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E2103410E5; Fri, 18 Jun 2021 06:34:44 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 0A54740142; Fri, 18 Jun 2021 06:34:42 +0200 (CEST) IronPort-SDR: QtK/vJ0gm85yu9ytdbFnpcXux2H7foH05WIthqJACVi8jFn+jP4gIyWCxWsFGkJZRjJ7Vx6RrW +Je/LUD0CuSg== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="204664741" X-IronPort-AV: E=Sophos;i="5.83,281,1616482800"; d="scan'208";a="204664741" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2021 21:34:39 -0700 IronPort-SDR: k1BCJS34QXdikbGNSgNC1E9M+pNqZLH/IonMzOblipbgtd25hHJJy9pcyjwBl5xSWMqIlGmp9a MnTHbLfKfP/A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,281,1616482800"; d="scan'208";a="451263191" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 17 Jun 2021 21:34:39 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) 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.2242.4; Thu, 17 Jun 2021 21:34:39 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Thu, 17 Jun 2021 21:34:38 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Thu, 17 Jun 2021 21:34:38 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) 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.2242.4; Thu, 17 Jun 2021 21:34:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bQ8jNeRYLckteR/qxL+xcmkZ8UzlMAWMD/KO93dBkNua3ckYbGgFhHtxouTmPXGgxAhTnsny6uWaHR+wyeiVnWvyCvGGLBj9xdqY8D/4EYBIiYaNQJ65ETCJDPgiAqZ0bPO+4xaqNmEQAEHEYNpS0rDMe/jNcqU8XhacQnL2M3T0qqrRSLZ4xTSrr9HRX3H4AWm6WfKgUTSWx+7LhovopuVQaxfShhPZy+8Y1DZET0/q5VdcFrhZwdsA3LgdG9FGSK8JcuRiPD9oa8I/nzWOUlbFhnjcwTuPlZ/IYp703sN7aoZ+VRe27MeSAuM097RVl0EWLmAmFEKK654rblDBlg== 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=bsREopSsf3b9HYIUKvn38Sij20clZFiSXUPqIkXyTuQ=; b=JCbOLh6zjWAYD63FLQuWHqRAZZQdEwG54jZyQuuAxmN/e5DCAoCMSk86j3ST10vhV1/t0N8DwXsZq8qR69PlufJ2oM3h/BkMKr3tF4gnD+9phAF9FOqsuV60hcWWR75gAQVLEKKqORfByJ6ewEoeMgPOLOCYLI+EfF4Me8m0OotEyjxSBin2YSA2ZPF3WX+d9wxlhT+agTbMhhPVtXRXivwmSTBe2+8SMb8M3/Sq2J5PXIOlstYhR/qTjts8gv2Wl7qiCakPy7tfMymaZ73krxZdnixNJJKZEYdjXrqET/IGHbyyUeisj7l+SlGvYAVLElcIB4Niu7ZTsOpY4BTzHg== 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=bsREopSsf3b9HYIUKvn38Sij20clZFiSXUPqIkXyTuQ=; b=iWstVLTEcK5RqRDPec3F02oaGJpnlN0Lyl65HHVi4cl40xhT+b52NflOOkTe0Mqb23Aw3iK/KpmiMLXycKxmnLyZoHU+cqwt66y51VQL2aJUC7IwILPpwfbWa+ZXjU+cfaEDZzn8ZUZBr5u4EyavTwxvThdVxzKsb+5vchLMvyQ= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by BL3PR11MB5713.namprd11.prod.outlook.com (2603:10b6:208:350::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 18 Jun 2021 04:34:37 +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.4219.026; Fri, 18 Jun 2021 04:34:37 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "david.marchand@redhat.com" CC: "stable@dpdk.org" Thread-Topic: [PATCH v4 1/7] vhost: fix missing memory table NUMA realloc Thread-Index: AQHXY47DVy7BenHhLUm59BFzcxj75KsY/Z/w Date: Fri, 18 Jun 2021 04:34:37 +0000 Message-ID: References: <20210617153739.178011-1-maxime.coquelin@redhat.com> <20210617153739.178011-2-maxime.coquelin@redhat.com> In-Reply-To: <20210617153739.178011-2-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.102.204.51] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d9b09ba6-5fe1-4df5-eff9-08d93212617e x-ms-traffictypediagnostic: BL3PR11MB5713: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fdtXPggZvqbJTuepcnQFq+oZ/VWP5bAEWjdWK2vQdJ8MjBbVVzdSFT742j3JQGcQsh8Pw4nYSQ5WNIw3wwMlU2IU7zM3EdwBFVaLq87ozFy8udmrfjFwuemciOJN1Nlrje7M2OFlnQyfAdCrL+QMxO2xJk+fW5mf6J0YY2S51TYsJy5Opx8/RxQOkxN69PVOabw+WAty9xVg9gOMcve30xZqQDruiVhY9wRRQdRn0w3d6ohkoJIDIiBsHHXJL897J3VciwWWuUixDcx2Ww0KeaKgQqkdhcQ6tH2VYTuwwMPf8uIeTGBMUZST716SqR1P19aSKeGSH5cL1fWU1AI1BBjr9rUdJOi2K5/IKw5kifvcDNrJHILrzUhNMpOYg9adUMRwaygkjdXgRMZbqrNYPs/k2MDroyyF/SpPfhz5HkoO37zt7EotJLXrm+/NAhLdl5ivoNrOqVIjXUQTPKFICM17nDO6pXimY3QTrRLf7yXrY3/JiZpLhMy/X12y3m3YSa8Tv85pZSpI0B1WHARWzR4pfK8G6Rr5M5AnDrdPnk2aio6sC5r3klSU8jR8Z2BNZHzr5f7Av5t1JyP6aaMCkCrcISZJqZKUl7FGg3ertxv+5r7zjgJ32shm09kbn/kqYJMxXr4cSnWmwf0uG2FIbg== 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:(376002)(366004)(346002)(396003)(39860400002)(136003)(76116006)(4326008)(55016002)(9686003)(6506007)(66476007)(110136005)(86362001)(26005)(66446008)(2906002)(64756008)(66946007)(316002)(33656002)(7696005)(53546011)(66556008)(186003)(5660300002)(478600001)(52536014)(38100700002)(122000001)(83380400001)(71200400001)(8676002)(8936002)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?akVja3lQWkc4NWxDVlMyRTBCWnZKWE1DWTB6RUdHczEzZzlDVUtJZFZGeHNu?= =?utf-8?B?QmhPMVJNZDJzdmRvZ2liUGN0YmFrSlhPUTJac0VVTWFtQW9PRlNqaVFnaGtM?= =?utf-8?B?YmZCTG1UdjA0ZzF0cG1CaFZRemVpcGFMakF1ejA0NVVwUWZsL1FSaFlzUXpM?= =?utf-8?B?YUhCck9EUEg1RVpnTVRuMzZqa0UrdTQ3Mm53Nm1tL3NLT04zSEtFUDA3WkRP?= =?utf-8?B?SDFhN0VqVW9yaGV2SjlxVGRDYTFsQ3prMis4YUJYSjluaWpMaGNLQjVTdnBB?= =?utf-8?B?aWErU1R4UG54M3JWdHdVMUZlNVo0ZjdmZzl6U1VoRHJOVUYzS0kxeVFjeWJk?= =?utf-8?B?ZVEzdjVpOXhsZFhqdWhuVEFvcURjb0RvZy9iYzhsWGVuR0M2cmJCcGFVYkEx?= =?utf-8?B?c3poYlZIV1RZdmgrK3ZHT3BpbXFSVnZ1SXJiRGxoSWpjWlpKd1Q0dmtiU0Yw?= =?utf-8?B?UXROU09XeC84OVhrM1c1Z0NTNUlyOGdQTk9qaERqQzFXUVJ1MlduMUNzdlc5?= =?utf-8?B?YVRuTXlEL0hLaHpTZjNOQ1k0U0ZKcG1WaTJ6dWlsZTBIb2FENzRiUFQ5STFK?= =?utf-8?B?WEV6SHBVOVQ0QzFtYnFmVnFhUjdNSWprUmZVbTFIMkRWVjBRZXR5N0ZmczR2?= =?utf-8?B?emltTWo0enNBQzE2QlJUQXZ2eElrVUF2YTh3MXpQZmtWL3pJWDRGRzI4RE5T?= =?utf-8?B?ZjJFZ01xMDc4Q3ozbXE0dnQrenc0cVFOT0NTcXhDb05nZUgxdUFHVmNlS3F1?= =?utf-8?B?aUxkRzJLblhCdFZUZ0JHdC85S3I2QXY5YXBOdmVPdUhTOUU5aXIwSDJkczBa?= =?utf-8?B?YkNQNDRXNEdoZTJlc1MvaWUrVWRZazBHWnBnVlVlQWpENThBZ21Wd3plZUJQ?= =?utf-8?B?bDBzRy9EMVBMaFN2Z2NhMXlhRC9oK0JRRFNBbThYYjZuVnJ1Sk5PaHFQZWJ6?= =?utf-8?B?b2FhRzBKTnpnMnlJS3ljd2RwQ1prM3pFaFMrT0dXVm94YXN1bnB4REc1ZERu?= =?utf-8?B?dEZHZWxPTHdZMFdUYWtjdHhaZkVSZkNvaWR3NjNzSDZzN09OeCtENUdJZDVh?= =?utf-8?B?U2lWd0JuZUx1emxzcDZEZlZUSTY2TnRpbmJHOEZ4VUtRK09wdnluQXRpeVBR?= =?utf-8?B?b3AzOVVmYzQ0TGQzTlB3aGo2cko4QkRpMFBacHNOMnc1Nm91dENOcFMyblh6?= =?utf-8?B?QjJUbkIzWEg4ejlKS1l0Wm5mai9mVyszbi9uT1JLRGpGWmVvaFRwVDg1SXFy?= =?utf-8?B?VUdodmwzdEc1MkZuNlgySVpRZ2cybWRmWnM0dWlmMlQzM0VDZXhzalVGVTNM?= =?utf-8?B?aG5iU3ZKTXBSeTBRbFlmTkFSbS9HS0JXZjFTK3V6YTBjVTNsdjZaaDNUdFFY?= =?utf-8?B?VjZxSXpVY21CTkFGVHRkQXV5QWVkR3YwSUtteXpNN2lwbWZPak4yWHE3VGp3?= =?utf-8?B?NWxaNTRlQm9sa0s2OWdZTy8yREVzaHlmU2hkd0xiYXA2SmZCM2tLazJYL24w?= =?utf-8?B?L2JaMFhnT0I5bUR6TWhmTkREOXZrVE91Y3ZhcnVWVTFqMHFjNHo5SXVyaTdz?= =?utf-8?B?VzVyYjJlaG0rZnhMU2NOS2Vaa21QZkNEcWhZSm9wK3ZuZkR3WVdBdFJSYnh6?= =?utf-8?B?TXRjeVFPaW9uZTNFdGVkZnlzT21ZQ0s1TVhUdXlPb3lRdzRBMUtWbExsQzlC?= =?utf-8?B?Y0FrUlZZVldudlhrQ09Ta1FuQzF2WjRGVzVtSmplenl0dEtlMSs2ZmVHMk9N?= =?utf-8?Q?3QBSjO0g8KC664a7nWhrE30Txh/iQ4G8y1A3fg+?= 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: d9b09ba6-5fe1-4df5-eff9-08d93212617e X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2021 04:34:37.4985 (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: 5dXFLNh+in1CFxb4NRpv4vWAq9tldrMHPOio9jEWePhd4/3aoS0vmqe8hLXAFMc0tu9aVPiNahB9sz7ibNv5cw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5713 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 1/7] vhost: fix missing memory table NUMA realloc 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5 LCBKdW5lIDE3LCAyMDIxIDExOjM4IFBNDQo+IFRvOiBkZXZAZHBkay5vcmc7IGRhdmlkLm1hcmNo YW5kQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gQ2M6 IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+OyBzdGFibGVAZHBk ay5vcmcNCj4gU3ViamVjdDogW1BBVENIIHY0IDEvN10gdmhvc3Q6IGZpeCBtaXNzaW5nIG1lbW9y eSB0YWJsZSBOVU1BIHJlYWxsb2MNCj4gDQo+IFdoZW4gdGhlIGd1ZXN0IGFsbG9jYXRlcyB2aXJ0 cXVldWVzIG9uIGEgZGlmZmVyZW50IE5VTUEgbm9kZQ0KPiB0aGFuIHRoZSBvbmUgdGhlIFZob3N0 IG1ldGFkYXRhIGFyZSBhbGxvY2F0ZWQsIGJvdGggdGhlIFZob3N0DQo+IGRldmljZSBzdHJ1Y3Qg YW5kIHRoZSB2aXJ0cXVldWVzIHN0cnVjdCBhcmUgcmVhbGxvY2F0ZWQuDQo+IA0KPiBIb3dldmVy LCByZWFsbG9jYXRpbmcgdGhlIFZob3N0IG1lbW9yeSB0YWJsZSB3YXMgbWlzc2luZywgd2hpY2gN Cj4gbGlrZWx5IGNhdXNlcyBpYXQgbGVhc3Qgb25lIGNyb3NzLU5VTUEgYWNjZXNzZXMgZm9yIGV2 ZXJ5IGJ1cnN0DQo+IG9mIHBhY2tldHMuDQoNCidhdCBsZWFzdCcgPw0KDQo+IA0KPiBUaGlzIHBh dGNoIHJlYWxsb2NhdGVzIHRoaXMgdGFibGUgb24gdGhlIHNhbWUgTlVNQSBub2RlIGFzIHRoZQ0K PiBvdGhlciBtZXRhZGF0YS4NCj4gDQo+IEZpeGVzOiA1NTJlOGZkM2QyYjQgKCJ2aG9zdDogc2lt cGxpZnkgbWVtb3J5IHJlZ2lvbnMgaGFuZGxpbmciKQ0KPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ IA0KPiBSZXBvcnRlZC1ieTogRGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5j b20+DQo+IFNpZ25lZC1vZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJl ZGhhdC5jb20+DQo+IC0tLQ0KPiAgbGliL3Zob3N0L3Zob3N0X3VzZXIuYyB8IDE1ICsrKysrKysr KysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYg LS1naXQgYS9saWIvdmhvc3Qvdmhvc3RfdXNlci5jIGIvbGliL3Zob3N0L3Zob3N0X3VzZXIuYw0K PiBpbmRleCA4ZjBlYmE2NDEyLi4wMzFlM2JmYTJmIDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3Qv dmhvc3RfdXNlci5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gQEAgLTU1Nyw2 ICs1NTcsOSBAQCBudW1hX3JlYWxsb2Moc3RydWN0IHZpcnRpb19uZXQgKmRldiwgaW50IGluZGV4 KQ0KDQpBcyB3ZSBhcmUgcmVhbGxvYyBtb3JlIHRoaW5ncyBub3csIHRoZSBjb21tZW50IGFib3Zl ICdudW1hX3JlYWxsb2MoWFhYKScNCnNob3VsZCBhbHNvIGJlIGNoYW5nZWQgbGlrZToNCg0KUmVh bGxvY2F0ZSByZWxhdGVkIGRhdGEgc3RydWN0dXJlIHRvIG1ha2UgdGhlbSBvbiB0aGUgc2FtZSBu dW1hIG5vZGUgYXMNCnRoZSBtZW1vcnkgb2YgdnJpbmcgZGVzY3JpcHRvci4NCg0KVGhhbmtzLA0K Q2hlbmJvDQoNCj4gIAkJZ290byBvdXQ7DQo+ICAJfQ0KPiAgCWlmIChvbGRub2RlICE9IG5ld25v ZGUpIHsNCj4gKwkJc3RydWN0IHJ0ZV92aG9zdF9tZW1vcnkgKm9sZF9tZW07DQo+ICsJCXNzaXpl X3QgbWVtX3NpemU7DQo+ICsNCj4gIAkJVkhPU1RfTE9HX0NPTkZJRyhJTkZPLA0KPiAgCQkJInJl YWxsb2NhdGUgZGV2IGZyb20gJWQgdG8gJWQgbm9kZVxuIiwNCj4gIAkJCW9sZG5vZGUsIG5ld25v ZGUpOw0KPiBAQCAtNTY4LDYgKzU3MSwxOCBAQCBudW1hX3JlYWxsb2Moc3RydWN0IHZpcnRpb19u ZXQgKmRldiwgaW50IGluZGV4KQ0KPiANCj4gIAkJbWVtY3B5KGRldiwgb2xkX2Rldiwgc2l6ZW9m KCpkZXYpKTsNCj4gIAkJcnRlX2ZyZWUob2xkX2Rldik7DQo+ICsNCj4gKwkJbWVtX3NpemUgPSBz aXplb2Yoc3RydWN0IHJ0ZV92aG9zdF9tZW1vcnkpICsNCj4gKwkJCXNpemVvZihzdHJ1Y3QgcnRl X3Zob3N0X21lbV9yZWdpb24pICogZGV2LT5tZW0tPm5yZWdpb25zOw0KPiArCQlvbGRfbWVtID0g ZGV2LT5tZW07DQo+ICsJCWRldi0+bWVtID0gcnRlX21hbGxvY19zb2NrZXQoTlVMTCwgbWVtX3Np emUsIDAsIG5ld25vZGUpOw0KPiArCQlpZiAoIWRldi0+bWVtKSB7DQo+ICsJCQlkZXYtPm1lbSA9 IG9sZF9tZW07DQo+ICsJCQlnb3RvIG91dDsNCj4gKwkJfQ0KPiArDQo+ICsJCW1lbWNweShkZXYt Pm1lbSwgb2xkX21lbSwgbWVtX3NpemUpOw0KPiArCQlydGVfZnJlZShvbGRfbWVtKTsNCj4gIAl9 DQo+IA0KPiAgb3V0Og0KPiAtLQ0KPiAyLjMxLjENCg0K