From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 1DC2342D54;
	Mon, 26 Jun 2023 07:41:44 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id E9A934067B;
	Mon, 26 Jun 2023 07:41:43 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174])
 by mails.dpdk.org (Postfix) with ESMTP id A08F240223
 for <dev@dpdk.org>; Mon, 26 Jun 2023 07:41:42 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 35PLToP7024244; Sun, 25 Jun 2023 22:41:41 -0700
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3rdwunmf1w-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Sun, 25 Jun 2023 22:41:41 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OB9eiQfbzfJSRBGUSCG8c3DdvPjEMXCAcsIQjLMnKqTrcc0URXMHSui/sz49eeScOp97EfbCTvhLzwYXbozy4kxKrA1zGeARwC+QcGC1TEu3IgqlsDQTO/v2CtogCUwLJ+l7P+UtCfYcWKdG8oNfKyR2FwZF1xmbYyfoLP5Mg4hTlBQNhCYy1CP1zYHJFoB+XU9BKcRuvehvl91tN53Hl/MgYk0KCAcYDWqz23C3ZDqS7k4Cxj9l9BfduHN5SkL7f3YCYpaXFTGTmgv/75aIveknKhjbDQeSNv4A6r+06ZS+RvVDpm1xCo3hHDM8x9oCbEL1D6eV50otFs2R/Zo36g==
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=3OuWKZJpWj9EndP7AXFda6UQPf9KecsZ12CELS7NNWU=;
 b=TeqvIJ7D5RspYP1qlXQoOWOCLw0ZEXfFt+46sCK3rF5IrBjA/+p+5UPiwnDncxtCvTNitawHkAIhIDhaejOdYKxbUjHHtZ2wfCy9Va/hZjRZZAPv7juA9zYwhMcVnppydkeEhhbWk0HrMFEBPC18gqh5yu+U0P1BtHJg+JSDmfIDPao+nRL7RQ4sYD15xafmXmOvMG9V9+c2xSkYcRTgR7ZU7Kc1ZJxI6bmrAM2iRe51cxA4BdpA/S1h9vp0Fps86+1xmZ+Rzob38PmOzzKdMotY33LrzCwPmNsG0/PKF9bDeScEKiK2Zjlh9ZG5kr+yxLnAioDP3A8KBr0ID3DQoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3OuWKZJpWj9EndP7AXFda6UQPf9KecsZ12CELS7NNWU=;
 b=dvV9kFUbnDJtghnySmPe5jRLKjYv/678+Nu76BXrsamGk+1eZre59OY+LBIUZXYOm6bxBmLh+4Opgzk9Kdv0elY8O0d6w2cX72P47OFnQuWJCQEg++AvxxhlxnvHE0D7m5q/3OCvTApcqwyqf5vM84gwLXqJ2OfkryHgE5aXGsA=
Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16)
 by MN2PR18MB3477.namprd18.prod.outlook.com (2603:10b6:208:262::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun
 2023 05:41:38 +0000
Received: from PH0PR18MB4672.namprd18.prod.outlook.com
 ([fe80::d578:1759:9d2c:9dfa]) by PH0PR18MB4672.namprd18.prod.outlook.com
 ([fe80::d578:1759:9d2c:9dfa%4]) with mapi id 15.20.6521.024; Mon, 26 Jun 2023
 05:41:38 +0000
From: Anoob Joseph <anoobj@marvell.com>
To: "Jiang, Cheng1" <cheng1.jiang@intel.com>, "thomas@monjalon.net"
 <thomas@monjalon.net>, "Richardson, Bruce" <bruce.richardson@intel.com>,
 "mb@smartsharesystems.com" <mb@smartsharesystems.com>, "Xia, Chenbo"
 <chenbo.xia@intel.com>, Amit Prakash Shukla <amitprakashs@marvell.com>,
 "huangdengdui@huawei.com" <huangdengdui@huawei.com>, "Laatz, Kevin"
 <kevin.laatz@intel.com>,
 "fengchengwen@huawei.com" <fengchengwen@huawei.com>,
 Jerin Jacob Kollanukkaran <jerinj@marvell.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Hu, Jiayu" <jiayu.hu@intel.com>, "Ding,
 Xuan" <xuan.ding@intel.com>, "Ma, WenwuX" <wenwux.ma@intel.com>, "Wang,
 YuanX" <yuanx.wang@intel.com>, "He, Xingguang" <xingguang.he@intel.com>,
 "Ling, WeiX" <weix.ling@intel.com>
Subject: RE: [EXT] [PATCH v8] app/dma-perf: introduce dma-perf application
Thread-Topic: [EXT] [PATCH v8] app/dma-perf: introduce dma-perf application
Thread-Index: AQHZo0kK9e4mg8WiCkmsK29LgzaaEq+Tz2ewgAYOwACAArsjsA==
Date: Mon, 26 Jun 2023 05:41:38 +0000
Message-ID: <PH0PR18MB467235AF5600B687BA91729ADF26A@PH0PR18MB4672.namprd18.prod.outlook.com>
References: <20230420072215.19069-1-cheng1.jiang@intel.com>
 <20230620065330.9999-1-cheng1.jiang@intel.com>
 <PH0PR18MB467272CEE2A9EFBC75B1FF76DF23A@PH0PR18MB4672.namprd18.prod.outlook.com>
 <SN7PR11MB70191146947F0CCA3DD3075BDC20A@SN7PR11MB7019.namprd11.prod.outlook.com>
In-Reply-To: <SN7PR11MB70191146947F0CCA3DD3075BDC20A@SN7PR11MB7019.namprd11.prod.outlook.com>
Accept-Language: en-IN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-dg-rorf: true
x-dg-ref: =?iso-8859-1?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYW5vb2JqXG?=
 =?iso-8859-1?Q?FwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0?=
 =?iso-8859-1?Q?YmEyOWUzNWJcbXNnc1xtc2ctMWJkMGUzMmEtMTNlNC0xMWVlLTljNTQtNG?=
 =?iso-8859-1?Q?MwMzRmNWY5YjRmXGFtZS10ZXN0XDFiZDBlMzJjLTEzZTQtMTFlZS05YzU0?=
 =?iso-8859-1?Q?LTRjMDM0ZjVmOWI0ZmJvZHkudHh0IiBzej0iMTAwNTUiIHQ9IjEzMzMyMj?=
 =?iso-8859-1?Q?MxNjk0NTU3NTI5OSIgaD0ieU13ZFBWOTE3eWhmZTdaeEFpU3M0a0hGT3Mw?=
 =?iso-8859-1?Q?PSIgaWQ9IiIgYmw9IjAiIGJvPSIxIiBjaT0iY0FBQUFFUkhVMVJTUlVGTk?=
 =?iso-8859-1?Q?NnVUFBTjRQQUFDRFRTemU4S2ZaQWZIaTRTOFB4SFovOGVMaEx3L0Vkbjha?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBQUFBQnVEd0FBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUVBQVFFQkFBQUFJN3FUcEFDQUFRQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFKNEFBQUJoQUdRQVpBQnlBR1VBY3dCekFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQU?=
 =?iso-8859-1?Q?FHTUFkUUJ6QUhRQWJ3QnRBRjhBY0FCbEFISUFjd0J2QUc0QUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWXdCMUFI?=
 =?iso-8859-1?Q?TUFkQUJ2QUcwQVh3QndBR2dBYndCdUFHVUFiZ0IxQUcwQVlnQmxBSElBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmpBSFVBY3dCMEFHOE?=
 =?iso-8859-1?Q?FiUUJmQUhNQWN3QnVBRjhBWkFCaEFITUFhQUJmQUhZQU1BQXlBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
x-dg-refone: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0?=
 =?iso-8859-1?Q?FBQUdNQWRRQnpBSFFBYndCdEFGOEFjd0J6QUc0QVh3QnJBR1VBZVFCM0FH?=
 =?iso-8859-1?Q?OEFjZ0JrQUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFZd0Ix?=
 =?iso-8859-1?Q?QUhNQWRBQnZBRzBBWHdCekFITUFiZ0JmQUc0QWJ3QmtBR1VBYkFCcEFHME?=
 =?iso-8859-1?Q?FhUUIwQUdVQWNnQmZBSFlBTUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFjd0IwQU?=
 =?iso-8859-1?Q?c4QWJRQmZBSE1BY3dCdUFGOEFjd0J3QUdFQVl3QmxBRjhBZGdBd0FESUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR1FBYkFCd0FGOEFjd0JyQUhr?=
 =?iso-8859-1?Q?QWNBQmxBRjhBWXdCb0FHRUFkQUJmQUcwQVpRQnpBSE1BWVFCbkFHVUFYd0?=
 =?iso-8859-1?Q?IyQURBQU1nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQ0FBQUFBQUNlQUFBQVpBQnNBSEFBWHdCekFHd0FZUUJqQUdzQV?=
 =?iso-8859-1?Q?h3QmpBR2dBWVFCMEFGOEFiUUJsQUhNQWN3QmhBR2NBWlFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
x-dg-reftwo: =?iso-8859-1?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJrQUd3QWNBQm?=
 =?iso-8859-1?Q?ZBSFFBWlFCaEFHMEFjd0JmQUc4QWJnQmxBR1FBY2dCcEFIWUFaUUJmQUdZ?=
 =?iso-8859-1?Q?QWFRQnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHVUFiUUJoQUdrQWJBQmZB?=
 =?iso-8859-1?Q?R0VBWkFCa0FISUFaUUJ6QUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQUFBQUFBQUFBQUFBQUFBQVFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QVh3QndBSE?=
 =?iso-8859-1?Q?lBYndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFZd0J2QUc0QVpn?=
 =?iso-8859-1?Q?QnBBR1FBWlFCdUFIUUFhUUJoQUd3QVh3QmhBR3dBYndCdUFHVUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBSUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJmQUhBQWNnQnZBR29B?=
 =?iso-8859-1?Q?WlFCakFIUUFYd0J1QUdFQWJRQmxBSE1BWHdCeUFHVUFjd0IwQUhJQWFRQm?=
 =?iso-8859-1?Q?pBSFFBWlFCa0FGOEFZUUJzQUc4QWJnQmxBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFB?=
 =?iso-8859-1?Q?QUFuZ0FBQUcwQVlRQnlBSFlBWlFCc0FGOEFjQUJ5QUc4QWFnQmxBR01BZE?=
 =?iso-8859-1?Q?FCZkFHNEFZUUJ0QUdVQWN3QmZBSElBWlFCekFIUUFjZ0JwQUdNQWRBQmxB?=
 =?iso-8859-1?Q?R1FBWHdCb0FHVUFlQUJqQUc4QVpBQmxBSE1BQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQU?=
 =?iso-8859-1?Q?FiUUJoQUhJQWRnQmxBR3dBYkFCZkFHRUFjZ0J0QUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
x-dg-refthree: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBWndCdkFH?=
 =?iso-8859-1?Q?OEFad0JzQUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FB?=
 =?iso-8859-1?Q?QUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QndBSElBYndCcUFHVU?=
 =?iso-8859-1?Q?FZd0IwQUY4QVl3QnZBR1FBWlFCekFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQU?=
 =?iso-8859-1?Q?FBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFCakFIUUFY?=
 =?iso-8859-1?Q?d0JqQUc4QVpBQmxBSE1BWHdCa0FHa0FZd0IwQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdF?=
 =?iso-8859-1?Q?QWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4QWFnQmxBR01BZEFCZkFHNEFZUU?=
 =?iso-8859-1?Q?J0QUdVQWN3QmZBR01BYndCdUFHWUFhUUJrQUdVQWJnQjBBR2tBWVFCc0FG?=
 =?iso-8859-1?Q?OEFiUUJoQUhJQWRnQmxBR3dBYkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHMEFZUUJ5QUhZQV?=
 =?iso-8859-1?Q?pRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBYmdCaEFHMEFaUUJ6?=
 =?iso-8859-1?Q?QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhBR3dBWHdCdEFHRU?=
 =?iso-8859-1?Q?FjZ0IyQUdVQWJBQnNBRjhBYndCeUFGOEFZUUJ5QUcwQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
x-dg-reffour: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2?=
 =?iso-8859-1?Q?VBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhR?=
 =?iso-8859-1?Q?QVh3QnVBR0VBYlFCbEFITUFYd0JqQUc4QWJnQm1BR2tBWkFCbEFHNEFkQU?=
 =?iso-8859-1?Q?JwQUdFQWJBQmZBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QnZBSElBWHdCbkFH?=
 =?iso-8859-1?Q?OEFid0JuQUd3QVpRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQnRB?=
 =?iso-8859-1?Q?R0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QV?=
 =?iso-8859-1?Q?lRQnRBR1VBY3dCZkFISUFaUUJ6QUhRQWNnQnBBR01BZEFCbEFHUUFYd0J0?=
 =?iso-8859-1?Q?QUdFQWNnQjJBR1VBYkFCc0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcwQVlRQnlBSF?=
 =?iso-8859-1?Q?lBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFGOEFiZ0JoQUcwQVpR?=
 =?iso-8859-1?Q?QnpBRjhBY2dCbEFITUFkQUJ5QUdrQVl3QjBBR1VBWkFCZkFHMEFZUUJ5QU?=
 =?iso-8859-1?Q?hZQVpRQnNBR3dBWHdCdkFISUFYd0JoQUhJQWJRQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dB?=
 =?iso-8859-1?Q?YkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBZH?=
 =?iso-8859-1?Q?dCdkFISUFaQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?=
 =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQU?=
 =?iso-8859-1?Q?FBZ0FBQUFBQSIvPjwvbWV0YT4=3D?=
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|MN2PR18MB3477:EE_
x-ms-office365-filtering-correlation-id: a95a7d8f-066e-4a1f-aafd-08db760802d4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: koYEUpKBqTrY+EUaZQo9cCgdQCyLARlRCPIaWItaXVscXHOPzsPn5i3GAI+mGnwkaBZEC5IVuJ5Up6WYszDQzTAMAns0C3lAjkzJ6qPytcYR8/7s6ibFPR+jtK0CKx314U5dsFunSWnjsoOLqPbhop7nlAOKjSw8hpI2JXvu/LSPXY8le/rPkQo11cftKWYpLlhg/NV/Eg9RUOfw3Hb/FGX1QShoC9P3xOFXeDMKx2/8389gGlOxy4kBHgdVgbMkX23a6rhw8wym8JiHMwQDAGfs4Z8FTO6zoRaZ4wCZPmwmcHuPu2bblk4qRHanb/4A9HLcOnCb5kuTrzxkjHD7GD4HbinSz7eYB5nGr64ngFf4a3cFm6z1cuzLA+FK61tAh2EgeMd5jeRSi4JX5TTbJI212lHaQTsABTg1UxZLtOHHx0daiJJ8YKbmdJ7EN5ibxfDI81QqNxvhZWeNh4PtK6n2j4VVRky3Tzo4L5T5FAm59BigvzD2GOscFNpLFO5ktLFpGlusZmj9Fw8dr7V9rQa1Br+9+PbDahHEtKK9L7QNN8WcTHr0OGRwPD3MqzCW2r2KeTmqNHEfM7XCKyWgEADOuzQ0gjG37w7BEnH2BiErNQ14Rp9mhRzJtTmGB2Q1YuH97wmL25nBlQz49GNQnw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230028)(4636009)(346002)(136003)(39840400004)(396003)(366004)(376002)(451199021)(66446008)(66574015)(478600001)(71200400001)(7696005)(83380400001)(54906003)(110136005)(26005)(53546011)(6506007)(9686003)(186003)(2906002)(5660300002)(7416002)(52536014)(33656002)(921005)(38100700002)(122000001)(66946007)(4326008)(316002)(6636002)(64756008)(8936002)(8676002)(41300700001)(86362001)(38070700005)(55016003)(76116006)(66556008)(66476007);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?+ke2NOuV2DwIhobUMLjcyWD4Qb1fmFFv5QP1IXMk73bzJN9e8gNIv5m7ZN?=
 =?iso-8859-1?Q?zUNkog1G80I6sQkUGiuFWQ6IrU2D+jxW+fzDe4GE56/Omxme3fgTfigV0O?=
 =?iso-8859-1?Q?yK1bTSFeMgRkNfrkKlxnkJHqRm+9pTjAeF0YwO/kkjhntbz9xrQWUPa9DQ?=
 =?iso-8859-1?Q?tI4HN85GSoeD+Kk7qimZaPfJPpcLz9pynxIyY7xd9RDvAfYyte6n33kq8d?=
 =?iso-8859-1?Q?8Sruo+cFI33MX0/FMUAcqKSt2lplOm1zFX2ni3sM4nTq4CKY2ZOFgQQJCy?=
 =?iso-8859-1?Q?MEYH09elkd5dUC6hQfXMH3kstpZqK0bgUTuR6N/k5+QTU+U9CX9VJRISVg?=
 =?iso-8859-1?Q?Vw9yurbyU6c44UiuTgYALCW19yxHBlXcDVL/ByNq4x+wYBs/mxEafknRqt?=
 =?iso-8859-1?Q?gKJYPKOXJoKmv6P+nz3FDQ8Hvee/RMA58gAjvrNRAimtYBOTN/Mf9QR7sy?=
 =?iso-8859-1?Q?3UJ5bTvqiy1p2AVUKw8m/sBsMvHCwrKvJmYkKLWCYm8SJ0x5b21QTd/n/+?=
 =?iso-8859-1?Q?RYbkJsKKtofhwrloa3mwGRguFFuqiGsq2EvX7c2eEDgqcXJP87Py+vqqNK?=
 =?iso-8859-1?Q?nsHb5bBqv90WRxLLMIp8XVi0FzOdzC4jaSHpfXUUrXDCZOUVIwIHr34jA0?=
 =?iso-8859-1?Q?/MCi0smNnKr4EsnUlRCDF3Z4UXe9Cj/CPIEygImZ46dnAxmOtAfM8llO6F?=
 =?iso-8859-1?Q?shdRgRfA6jvrDtsftIiIVhoK88BXExKLpHydFGFoZzjURZ5hKzjnmnIPl6?=
 =?iso-8859-1?Q?ONWD8qI0xB9i/ZoGbkH6Bbk+x7f2QKwXumzHsaQzrpXe/CE5BUsl9aGi9A?=
 =?iso-8859-1?Q?gs1SI5jqv6Gd0/Ho8+Nmr8phE1GjFhvXLAV1Mnhi8QdIuuNkPdE6ZR4p61?=
 =?iso-8859-1?Q?MrTMJJFpju/3m2eeg+aizVkOJAuK0MtUyrlnXWG5KP/fd8/EjPr8QHWA5g?=
 =?iso-8859-1?Q?mDbwy3ZDDbba0LPFTqlhsP9/aKlYMNPtH0BN26PLftkONe2j5wlGKnTtWu?=
 =?iso-8859-1?Q?AyWLS8mcmKKSbPpGObxxXmQr/z4NdSy7l2qaI5xHql5L4jFFPOzpHDMupb?=
 =?iso-8859-1?Q?gxHOMQyITTaXy8KHEV1KgYfL/KnrzMZIj3l3gnneT3oDKPvVxcq7mHasod?=
 =?iso-8859-1?Q?aejGkq6VA7zlqb5XgP9cd3UEb4cbv/6vmVGdQCSzggDR2+3v3sDEj3qt9+?=
 =?iso-8859-1?Q?gxfas0eMWkSt/7934ncs7/ygjckmV/lkZpOlC1ascX7YfHh2CVSugrn7oM?=
 =?iso-8859-1?Q?LFfs5V9zINLKrdAozBYvNZFCs9idQ4qhVWOUczSAE2/EIsEAvdPGgspKLk?=
 =?iso-8859-1?Q?Az0DJ9ssKRogj+ijfXw9YbRZWMIaAd5Kze3ojvKSFdc6LGp89PMJpPtlAm?=
 =?iso-8859-1?Q?C78tC+ldxb5lAGfTpXcRo39hnzXZOx7StoDsgbfjtv/wL1blQ5rGlLfKgz?=
 =?iso-8859-1?Q?bzreHKnD4AhKCnMU66hWzifRJa0HhgVdCHqILljqE01I3uw0n2lflV5RUc?=
 =?iso-8859-1?Q?qzSAev/TsrZn9Tjr4UYwsIwr04P5MK4XMtJ9G4JEnNdjwqnThS4XkqYjl/?=
 =?iso-8859-1?Q?SpHWX+/R50gMbAl9/XnLBA+2uIMilLRISlDV/k/GB0B2hDvTmchiOr3PsW?=
 =?iso-8859-1?Q?urCJc4OWWB11Q=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a95a7d8f-066e-4a1f-aafd-08db760802d4
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2023 05:41:38.2127 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9F12vNux2bUL4aE9h25yqAzLPS3gvC9XJCXfXeapeyChBjk+1c+PfEmoK9WNKsD4axOQ/vyBAoWLJLvgJB5kUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3477
X-Proofpoint-GUID: I3-NYOIRXPad4ZLU7Ku4LYnhNeuWMhUc
X-Proofpoint-ORIG-GUID: I3-NYOIRXPad4ZLU7Ku4LYnhNeuWMhUc
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26
 definitions=2023-06-26_02,2023-06-22_02,2023-05-22_02
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Hi Cheng,

Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Jiang, Cheng1 <cheng1.jiang@intel.com>
> Sent: Saturday, June 24, 2023 5:23 PM
> To: Anoob Joseph <anoobj@marvell.com>; thomas@monjalon.net;
> Richardson, Bruce <bruce.richardson@intel.com>;
> mb@smartsharesystems.com; Xia, Chenbo <chenbo.xia@intel.com>; Amit
> Prakash Shukla <amitprakashs@marvell.com>; huangdengdui@huawei.com;
> Laatz, Kevin <kevin.laatz@intel.com>; fengchengwen@huawei.com; Jerin
> Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Ding, Xuan
> <xuan.ding@intel.com>; Ma, WenwuX <wenwux.ma@intel.com>; Wang,
> YuanX <yuanx.wang@intel.com>; He, Xingguang <xingguang.he@intel.com>;
> Ling, WeiX <weix.ling@intel.com>
> Subject: RE: [EXT] [PATCH v8] app/dma-perf: introduce dma-perf applicatio=
n
>=20
> Hi Anoob,
>=20
> Replies are inline.
>=20
> Thanks,
> Cheng
>=20
> > -----Original Message-----
> > From: Anoob Joseph <anoobj@marvell.com>
> > Sent: Friday, June 23, 2023 2:53 PM
> > To: Jiang, Cheng1 <cheng1.jiang@intel.com>; thomas@monjalon.net;
> > Richardson, Bruce <bruce.richardson@intel.com>;
> > mb@smartsharesystems.com; Xia, Chenbo <chenbo.xia@intel.com>; Amit
> > Prakash Shukla <amitprakashs@marvell.com>;
> huangdengdui@huawei.com;
> > Laatz, Kevin <kevin.laatz@intel.com>; fengchengwen@huawei.com; Jerin
> > Jacob Kollanukkaran <jerinj@marvell.com>
> > Cc: dev@dpdk.org; Hu, Jiayu <jiayu.hu@intel.com>; Ding, Xuan
> > <xuan.ding@intel.com>; Ma, WenwuX <wenwux.ma@intel.com>; Wang,
> YuanX
> > <yuanx.wang@intel.com>; He, Xingguang <xingguang.he@intel.com>;
> Ling,
> > WeiX <weix.ling@intel.com>
> > Subject: RE: [EXT] [PATCH v8] app/dma-perf: introduce dma-perf
> > application
> >
> > Hi Cheng,
> >
> > Thanks for the new version. Please see inline.
> >
> > Thanks,
> > Anoob
> >
> > > -----Original Message-----
> > > From: Cheng Jiang <cheng1.jiang@intel.com>
> > > Sent: Tuesday, June 20, 2023 12:24 PM
> > > To: thomas@monjalon.net; bruce.richardson@intel.com;
> > > mb@smartsharesystems.com; chenbo.xia@intel.com; Amit Prakash
> Shukla
> > > <amitprakashs@marvell.com>; Anoob Joseph <anoobj@marvell.com>;
> > > huangdengdui@huawei.com; kevin.laatz@intel.com;
> > > fengchengwen@huawei.com; Jerin Jacob Kollanukkaran
> > > <jerinj@marvell.com>
> > > Cc: dev@dpdk.org; jiayu.hu@intel.com; xuan.ding@intel.com;
> > > wenwux.ma@intel.com; yuanx.wang@intel.com;
> xingguang.he@intel.com;
> > > weix.ling@intel.com; Cheng Jiang <cheng1.jiang@intel.com>
> > > Subject: [EXT] [PATCH v8] app/dma-perf: introduce dma-perf
> > > application
> > >
> > > External Email
> > >
> > > --------------------------------------------------------------------
> > > -- There are many high-performance DMA devices supported in DPDK
> > > now,
> > and
> > > these DMA devices can also be integrated into other modules of DPDK
> > > as accelerators, such as Vhost. Before integrating DMA into
> > > applications, developers need to know the performance of these DMA
> > > devices in various scenarios and the performance of CPUs in the same
> > > scenario, such as different buffer lengths. Only in this way can we
> > > know the target performance of the application accelerated by using
> > > them. This patch introduces a high-performance testing tool, which
> > > supports comparing the performance of CPU and DMA in different
> > > scenarios automatically with a pre- set config file. Memory Copy
> > > performance test
> > are supported for now.
> > >
> > > Signed-off-by: Cheng Jiang <cheng1.jiang@intel.com>
> > > Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
> > > Signed-off-by: Yuan Wang <yuanx.wang@intel.com>
> > > Acked-by: Morten Br=F8rup <mb@smartsharesystems.com>
> > > Acked-by: Chenbo Xia <chenbo.xia@intel.com>
> > > ---
> > > v8:
> > >   fixed string copy issue in parse_lcore();
> > >   improved some data display format;
> > >   added doc in doc/guides/tools;
> > >   updated release notes;
> > >
> > > v7:
> > >   fixed some strcpy issues;
> > >   removed cache setup in calling rte_pktmbuf_pool_create();
> > >   fixed some typos;
> > >   added some memory free and null set operations;
> > >   improved result calculation;
> > > v6:
> > >   improved code based on Anoob's comments;
> > >   fixed some code structure issues;
> > > v5:
> > >   fixed some LONG_LINE warnings;
> > > v4:
> > >   fixed inaccuracy of the memory footprint display;
> > > v3:
> > >   fixed some typos;
> > > v2:
> > >   added lcore/dmadev designation;
> > >   added error case process;
> > >   removed worker_threads parameter from config.ini;
> > >   improved the logs;
> > >   improved config file;
> > >
> > >  app/meson.build                        |   1 +
> > >  app/test-dma-perf/benchmark.c          | 498 +++++++++++++++++++++
> > >  app/test-dma-perf/config.ini           |  61 +++
> > >  app/test-dma-perf/main.c               | 594 +++++++++++++++++++++++=
++
> > >  app/test-dma-perf/main.h               |  69 +++
> > >  app/test-dma-perf/meson.build          |  17 +
> > >  doc/guides/rel_notes/release_23_07.rst |   6 +
> > >  doc/guides/tools/dmaperf.rst           | 103 +++++
> > >  doc/guides/tools/index.rst             |   1 +
> > >  9 files changed, 1350 insertions(+)  create mode 100644
> > > app/test-dma-perf/benchmark.c  create mode 100644
> > > app/test-dma-perf/config.ini  create mode 100644 app/test-dma-
> > > perf/main.c  create mode 100644 app/test-dma-perf/main.h  create
> > > mode
> > > 100644 app/test-dma-perf/meson.build  create mode 100644
> > > doc/guides/tools/dmaperf.rst
> > >
> >

<snip>
=20
> >
> > > +			fprintf(stderr, "Error: Fail to find DMA %s.\n",
> > > dma_name);
> > > +			goto end;
> > > +		}
> > > +
> > > +		ldm->dma_ids[i] =3D dev_id;
> > > +		configure_dmadev_queue(dev_id, ring_size);
> > > +		++nb_dmadevs;
> > > +	}
> > > +
> > > +end:
> > > +	if (nb_dmadevs < nb_workers) {
> > > +		printf("Not enough dmadevs (%u) for all workers (%u).\n",
> > > nb_dmadevs, nb_workers);
> > > +		return -1;
> > > +	}
> > > +
> > > +	printf("Number of used dmadevs: %u.\n", nb_dmadevs);
> > > +
> > > +	return 0;
> > > +}
> > > +
> > > +static inline void
> > > +do_dma_submit_and_poll(uint16_t dev_id, uint64_t *async_cnt,
> > > +			volatile struct worker_info *worker_info) {
> > > +	int ret;
> > > +	uint16_t nr_cpl;
> > > +
> > > +	ret =3D rte_dma_submit(dev_id, 0);
> > > +	if (ret < 0) {
> > > +		rte_dma_stop(dev_id);
> > > +		rte_dma_close(dev_id);
> > > +		rte_exit(EXIT_FAILURE, "Error with dma submit.\n");
> > > +	}
> > > +
> > > +	nr_cpl =3D rte_dma_completed(dev_id, 0, MAX_DMA_CPL_NB, NULL,
> > > NULL);
> > > +	*async_cnt -=3D nr_cpl;
> > > +	worker_info->total_cpl +=3D nr_cpl;
> > > +}
> > > +
> > > +static inline int
> > > +do_dma_mem_copy(void *p)
> >
> > [Anoob] Just curious, why not pass struct lcore_params *para itself?
> > Is it because the pointer is volatile? If yes, then we can take an AI
> > to split the struct into volatile and non-volatile parts.
>=20
> [Cheng] The reason I did it this way is because I want to launch this fun=
ction
> on another core by spawning a new thread, and rte_eal_remote_launch()
> takes a void * as the parameter. That's why I passed void *p.  Your
> suggestion to split the struct into volatile and non-volatile parts is qu=
ite
> reasonable. I am thinking about the best way to implement it. Thanks.

[Anoob] Instead of passing the address of index variable as void *, you can=
 easily send lcore_params pointer, right?

>=20
> >
> > > +{
> > > +	const uint16_t *para_idx =3D (uint16_t *)p;
> > > +	volatile struct lcore_params *para =3D lcores_p[*para_idx].v_ptr;
> > > +	volatile struct worker_info *worker_info =3D &(para->worker_info);
> > > +	const uint16_t dev_id =3D para->dev_id;
> > > +	const uint32_t nr_buf =3D para->nr_buf;
> > > +	const uint16_t kick_batch =3D para->kick_batch;
> > > +	const uint32_t buf_size =3D para->buf_size;
> > > +	struct rte_mbuf **srcs =3D para->srcs;
> > > +	struct rte_mbuf **dsts =3D para->dsts;
> > > +	uint16_t nr_cpl;
> > > +	uint64_t async_cnt =3D 0;
> > > +	uint32_t i;
> > > +	uint32_t poll_cnt =3D 0;
> > > +	int ret;
> > > +
> > > +	worker_info->stop_flag =3D false;
> > > +	worker_info->ready_flag =3D true;
> > > +
> > > +	while (!worker_info->start_flag)
> > > +		;
> > > +
> > > +	while (1) {
> > > +		for (i =3D 0; i < nr_buf; i++) {
> > > +dma_copy:
> > > +			ret =3D rte_dma_copy(dev_id, 0,
> > > rte_pktmbuf_iova(srcs[i]),
> > > +				rte_pktmbuf_iova(dsts[i]), buf_size, 0);
> >
> > [Anoob] Do we need to use ' rte_mbuf_data_iova' here instead of
> > 'rte_pktmbuf_iova'?
>=20
> [Cheng] yes rte_mbuf_data_iova is more appropriate, I'll fix it in the ne=
xt
> version. Thanks.
>=20
> >
> > > +			if (unlikely(ret < 0)) {
> > > +				if (ret =3D=3D -ENOSPC) {
> > > +					do_dma_submit_and_poll(dev_id,
> > > &async_cnt, worker_info);
> > > +					goto dma_copy;
> > > +				} else {
> > > +					/* Error exit */
> > > +					rte_dma_stop(dev_id);
> >
> > [Anoob] Missing rte_dma_close() here. Also, may be introduce a static
> > void function so that rte_exit call etc won't be part of the fastpath l=
oop.
> >
> > May be something like below and you can call it from here and
> > "do_dma_submit_and_poll".
> >
> > static void
> > error_exit(int dev_id)
> > {
> > 	/* Error exit */
> > 	rte_dma_stop(dev_id);
> > 	rte_dma_close(dev_id);
> > 	rte_exit(EXIT_FAILURE, "DMA enqueue failed\n"); }
> >
>=20
> [Cheng] I'm not so sure here. rte_dma_close() is called in the rte_exit()=
. Do
> we still call it explicitly before rte_exit()?

[Anoob] In ' do_dma_submit_and_poll', there is rte_dma_close() before rte_e=
xit(). I'm fine either way as long is it is consistent. Said that, I think =
it is better to call close() from app, rather than relying on rte_exit.

<snip>