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 7EC9D43CEE; Tue, 19 Mar 2024 16:15:51 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6851640ED2; Tue, 19 Mar 2024 16:15:51 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by mails.dpdk.org (Postfix) with ESMTP id 222C240E96 for ; Tue, 19 Mar 2024 16:15:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710861350; x=1742397350; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=YxIugRE1RdycAwQXTQLmQUFJ/eE4je+nCHLChhDTACk=; b=ca5k5JqAquBAQQJk/UVrfK1ojVC5vhSqENaT/egsx5b+JcUvmaM+6lQH TzUEoZxR/KgLBppLx1mJJeYNQUnrtAxYBp4K4wkneIBWaaY2Yueh+V/61 Nu4LQpadyk9d5dFM5Si4ysRrvI1I5HhLpHP+JP13k3rfi3k9cNq2ye4bP MTWb18rXlGGs948p5qib0Q6WLhgW0+coBSrLTTwgcPL9Rwd0udDVs1cbQ EhrI5EpkUlMEwlH8N2gbc0ZTVvsz6kzG5KYprro2ITR6QjI7D5gln9wnw iwnRdK5+q7VY+eK8PlcsZWEUhxgnY1PsmJA2+H3/A1Bz65nJOlDKF/B1q Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11018"; a="16469638" X-IronPort-AV: E=Sophos;i="6.07,137,1708416000"; d="scan'208";a="16469638" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 08:15:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,137,1708416000"; d="scan'208";a="14226763" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 19 Mar 2024 08:15:46 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 19 Mar 2024 08:15:28 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 19 Mar 2024 08:15:28 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 19 Mar 2024 08:14:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nXjtKqx0T8smRXZG7rlGiu3tYTP5pXPQ+tK14oS7+9IZ+Vm5ibkQKc+syl3bDwlptwcc5s8mTuMpLOSYj1GsY2SYt3V/QKGff/4yBqeEQqtEPpt/Sn1jkBkaaZrmBi2HIXdqxHI4EVisWG0tGRr0WH2OZwG/jos8laf5xbQTy8rL5LcXsBQqrBA0IC3/Y/3RxbuI+LdROPsqVC/n0gH0NNe1iTug5rCWVBp0v+su7oKu9oBD0s0b5HGeYxd8Z1oK0dfsWtIExGYIzKrH41gXm5jLCiqGp+jPRA8U/KUnU72LTHpIwBqimnDZtm8WR8kz/FwtVGprZ+Wcv/RimvpBhg== 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=50WeZFyRG/+CVQznFKdnxslUJroPoPZ6xtQ18umy4cI=; b=EEKJnHGEcZWnTy23udWnrFsB2drqQFLb7M+cfPoUJnKVzsitDoy4PCiVe7mYnG6CZWfZ0aWV5+4YEGRCZEDu03hBiUaa7XjMAavE6EIcX0HQ3p6D1R8MxHekMo6ffYO52Zgz0HkWTCcxRSC+Lnf9D6pjXnGqcvvcx24cL6ZeIMj3Jd6/6OE9k8/zolL2bnAdh48hfKIZRIZ2N/Nk9z7KfxAELh49y6ZFPlbYtQR+rsOVRHWQL98eoQfQcLTCIyWeYp+ftWjdZGD6eClMVz/4/F9keyEnCF3yqPyzgut1eLAew4v/E/p/PrxxAIHtLNwCX8gfUXNDIv2PJDYTpg81EQ== 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 SN7PR11MB7639.namprd11.prod.outlook.com (2603:10b6:806:32a::14) by DS7PR11MB7858.namprd11.prod.outlook.com (2603:10b6:8:da::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.12; Tue, 19 Mar 2024 15:14:54 +0000 Received: from SN7PR11MB7639.namprd11.prod.outlook.com ([fe80::656e:3d48:9daa:7110]) by SN7PR11MB7639.namprd11.prod.outlook.com ([fe80::656e:3d48:9daa:7110%4]) with mapi id 15.20.7386.017; Tue, 19 Mar 2024 15:14:53 +0000 From: "Power, Ciara" To: Suanming Mou , "gakhil@marvell.com" CC: "dev@dpdk.org" Subject: RE: [PATCH v2] app/test-crypto-perf: add throughput OOP decryption Thread-Topic: [PATCH v2] app/test-crypto-perf: add throughput OOP decryption Thread-Index: AQHaefMsZ761DoUQbkGgGLY28aASpLE/K2lw Date: Tue, 19 Mar 2024 15:14:53 +0000 Message-ID: References: <20240105100104.908543-1-suanmingm@nvidia.com> <20240319114623.1137757-1-suanmingm@nvidia.com> In-Reply-To: <20240319114623.1137757-1-suanmingm@nvidia.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: SN7PR11MB7639:EE_|DS7PR11MB7858:EE_ x-ms-office365-filtering-correlation-id: 5a01bd2a-4644-43bc-7a19-08dc4827548f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MAHjT2pExG6K+4N+mj/30AHxnIhxo/dRNJdXnhyS2t3k/B2smGzz5hdOn9jb5F8Q86YDQuZOlLNCirKf/ngwRfyHV5sqKae+cGukXrbcGVNVhZhIVu03lcA2nwZD+2ruhKNrDBvDzypV7rAEoqfo6CTjpLo5fMn2xfclL3IhNG6KPd7cOMG+0AB++WW1YL5GrzKvhQ+9VfK6h9og94zF/DOLyp6OtJsDmh4N/RfdFeOZGZ3CrXbp0Kp4z0Gn5g+SyHa1yd3xWEQMD5XS2Kut6Pc3eqr4q9xTSZsyz9hHsAniJ/RJJHUy8/24uJOiaIyJDQ6lGN3aldK+7/P9qmVvHL4M7hQxF3i/weUuUvOpTmLKXH1sNcCZx/z0AxGYz8WOJiTKofM7W65CKd7P1QOutGEelOTYessGsniROAmyxhL/u7WFrv/vEBCjKqRvrstwlmA2PcgVF1Vk1nk3TvsoN+dRqfpy78c5KfnZNix5eeRWxqOl+7t+qIPUmhIunffAGCCyNWTcExM1n3S0I6mNFe0x9HUI/VYnzVptdJf9ZzLZAcIjDcr4xxS36kiTRnrs0iWwtssIvmWUxRMhpnH2/Fp7xtEzyqPBk1/68saJWsYiMwUaUL70W5NzKcHTLbJQGTdTlk5xxsqk9Nhz1dlSfpWYNB8cOWsc3NModmmBfdg= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7639.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(366007)(376005)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5Ta0gVE4Idqfle/URLDtWX6aMU3uzcyQaQEMvIwMP7enPwJzKRLtXjzkuxTo?= =?us-ascii?Q?ZDjM2A3lF0OuPV+5NlmuRrWek5axvtweA09C475pR1FRkC9vDIT0ddTELsuD?= =?us-ascii?Q?mtpzTs/Tq4A5kWjiJzvmbIgjqcdd1xrrHBA/sgauFQjQiQ2GSAMKheA7IOLn?= =?us-ascii?Q?W02qXKTS8SPtk9ANKNTrJ5wh7AqtgWDs1GxWmZz4sSAZl7w4r1b799fs7ANi?= =?us-ascii?Q?hEm7J8SG32iOkSCuNIOxqmuxi2+apNAeAzAmPnnlKTqYuBAR+Gl/TxE6Olnb?= =?us-ascii?Q?YVJlolfKmEMQ7k8irMe4fdlRXXhSwmUybKk3rSFxGvIJBztDTlq5ZGa/rEW6?= =?us-ascii?Q?pDzG1M9zDtfgjiaGG/dsoDAOEh/uifgjXqVMQrcdHrQ7WoSSviw73GRoAIZb?= =?us-ascii?Q?2CCy1qboxY4NoNQvsojB2s7SS87Xblau8/DQFajTZ3YJ76yfsf13QELNvdxl?= =?us-ascii?Q?74E+AOrPDivrIC8DwNZOQNgPo8klxjnWZRGIbxwEAz9Dx5kZ69+Lj8untgL/?= =?us-ascii?Q?yRM0Fvs4fnYXq67Z020tGjZfp2KMBrMmi1kVsbrP5OVtdmz8dC0m6toc74BB?= =?us-ascii?Q?T9DAI90zJRDBz+pomj5tsdRlct4oA+IkEfzfe/uEWZ64uMD2jAZxrkRSFeiM?= =?us-ascii?Q?KFRVA4QL1rP+eIm+OhCkBFlpzDHdWHDjl5JkiHK1Iouw4dbU8z3DtVnvDs2N?= =?us-ascii?Q?QsW+zV9fHxTPEk3wV/hXEb18s3fzRruluJSAEdwIUIXCghlHTVodE+HQxtlv?= =?us-ascii?Q?ehNoo8VsPLDhVOadsgXfLJmcTcgjvRHyezydEQL4R30Rr1VwooORYKMUEcQ/?= =?us-ascii?Q?AFWZTBt9PfYiCVeRl4Ler3XTp/pkMhxfpcz1jJaNnA2ClayuA8OfPvcT4Udx?= =?us-ascii?Q?yNpVdgAeF0peiAsl5g7m4BSnRNLdmHbow0otY5OaXhmGOCvElWgwePU7+Bth?= =?us-ascii?Q?aYk8jzeImiJ7xUIyKoiO0ha6Xe9zSyC+upOH6weQ+TFmw95Kdm4db1qZG4hu?= =?us-ascii?Q?5dBo0apZq7s5Ed6sHo42A12+ZDrRnfKqDTkvCOEFQwO7SwmkLiSeEKCQd5S1?= =?us-ascii?Q?BRrMFnsAenndlH38yfbvZoJeqS45lyzdtcLShr94BYNMrEM6t3c2AfP3ROUl?= =?us-ascii?Q?e2nqVHMvcZofK+HbOnPizOzXbB5QKkNLXThJZ1NPK0aFE3r7FaD9n1wyfwm3?= =?us-ascii?Q?Yrfa66mbp7xvlJv3V2EMus+AzX2zMZc4VY5Y4NpE+FNouFuBJUWtkRuYZ7C5?= =?us-ascii?Q?ujiM89NgvfUO4iWKFmy0nEXAargGdc0t0f8/lmbJH0H9EwU7tVaeh6BxgSpT?= =?us-ascii?Q?OR3O4PJBnQyJ2PndWwRkQwU16l+5kCaXebtDBFZjCZKwe+U+RSvpwZbsMcBd?= =?us-ascii?Q?/MIqSM52tQePLTYcSrGggKBOwJVnmmxKfX6LzOel4mA3Omav+3gJhYUHhXf3?= =?us-ascii?Q?hFKhQnmnUfwHCsCtSSyBlAwiph0NTMQ7d7dE+B+ZqqN3axDsA1n4VpM2d2yM?= =?us-ascii?Q?1UeWxcFRVKQrY6MSmTvCJsKvZg8vJlHhVW2z14Ruge9pO0YmDSlIp8KGRGyL?= =?us-ascii?Q?LuWPdHuYn/BMWfkI4M+af9ZsgB1UDiPCqEPMu6FG?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7639.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a01bd2a-4644-43bc-7a19-08dc4827548f X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2024 15:14:53.8941 (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: O0mMQeBC8BkxyBBO+5nPCkvLR9EtYhADpeZzcwSl7kv2ARXi54ICA6pTEX8UOmwiwsAuJV3s+NSkHIBnY8/KDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7858 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 > -----Original Message----- > From: Suanming Mou > Sent: Tuesday, March 19, 2024 11:46 AM > To: gakhil@marvell.com; Power, Ciara > Cc: dev@dpdk.org > Subject: [PATCH v2] app/test-crypto-perf: add throughput OOP decryption >=20 > During throughput running, re-filling the test data will impact the perfo= rmance > test result. So for now, to run decrypt throughput testing is not support= ed since > the test data is not filled. >=20 > But if user requires OOP(out-of-place) mode, the test data from source mb= uf will > never be modified, and if the test data can be prepared out of the runnin= g loop, > the decryption test should be fine. >=20 > This commit adds the support of out-of-place decryption testing for throu= ghput. >=20 > [1]: > http://mails.dpdk.org/archives/dev/2023-July/273328.html >=20 > Signed-off-by: Suanming Mou > --- > app/test-crypto-perf/cperf_ops.c | 5 ++- > app/test-crypto-perf/cperf_options_parsing.c | 8 +++++ app/test-crypto= - > perf/cperf_test_throughput.c | 34 +++++++++++++++++--- > 3 files changed, 41 insertions(+), 6 deletions(-) >=20 > diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cper= f_ops.c > index d3fd115bc0..714616c697 100644 > --- a/app/test-crypto-perf/cperf_ops.c > +++ b/app/test-crypto-perf/cperf_ops.c > @@ -644,7 +644,10 @@ cperf_set_ops_aead(struct rte_crypto_op **ops, > } >=20 > if ((options->test =3D=3D CPERF_TEST_TYPE_VERIFY) || > - (options->test =3D=3D CPERF_TEST_TYPE_LATENCY)) { > + (options->test =3D=3D CPERF_TEST_TYPE_LATENCY) || > + (options->test =3D=3D CPERF_TEST_TYPE_THROUGHPUT && > + (options->aead_op =3D=3D RTE_CRYPTO_AEAD_OP_DECRYPT || > + options->cipher_op =3D=3D RTE_CRYPTO_CIPHER_OP_DECRYPT))) { > for (i =3D 0; i < nb_ops; i++) { > uint8_t *iv_ptr =3D rte_crypto_op_ctod_offset(ops[i], > uint8_t *, iv_offset); > diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-cryp= to- > perf/cperf_options_parsing.c > index 8c20974273..90526e676f 100644 > --- a/app/test-crypto-perf/cperf_options_parsing.c > +++ b/app/test-crypto-perf/cperf_options_parsing.c > @@ -1341,6 +1341,14 @@ cperf_options_check(struct cperf_options > *options) > } > } >=20 > + if (options->test =3D=3D CPERF_TEST_TYPE_THROUGHPUT && > + (options->aead_op =3D=3D RTE_CRYPTO_AEAD_OP_DECRYPT || > + options->auth_op =3D=3D RTE_CRYPTO_AUTH_OP_VERIFY) && > + !options->out_of_place) { > + RTE_LOG(ERR, USER1, "Only out-of-place is allowed in > throughput decryption.\n"); > + return -EINVAL; > + } Not totally following some of this, why do we only want to add this for OOP= mode? For example an inplace command I can use before this patch but not after: ./build/app/dpdk-test-crypto-perf -l 2,3 -- --ptest throughput --optype aea= d --aead-algo aes-gcm --aead-op decrypt --devtype crypto_qat --aead-key-sz = 16 I get an error; USER1: Only out-of-place is allowed in throughput decryption. USER1: Checking one or more user options failed Do we want to always force the user to use OOP + test vector file for these= throughput decryption tests? Or should we just add a warning that the throughput may not be reflecting t= he "success" verify path in PMD if using inplace and the dummy data. I am not sure. If we do want to add the limitation on the throughput tests, these changes = I think are ok for that. Thanks, Ciara > + > if (options->op_type =3D=3D CPERF_CIPHER_ONLY || > options->op_type =3D=3D CPERF_CIPHER_THEN_AUTH || > options->op_type =3D=3D CPERF_AUTH_THEN_CIPHER) { diff > --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto- > perf/cperf_test_throughput.c > index e3d266d7a4..b347baa913 100644 > --- a/app/test-crypto-perf/cperf_test_throughput.c > +++ b/app/test-crypto-perf/cperf_test_throughput.c > @@ -99,6 +99,26 @@ cperf_throughput_test_constructor(struct rte_mempool > *sess_mp, > return NULL; > } >=20 > +static void > +cperf_verify_init_ops(struct rte_mempool *mp __rte_unused, > + void *opaque_arg, > + void *obj, > + __rte_unused unsigned int i) > +{ > + uint16_t iv_offset =3D sizeof(struct rte_crypto_op) + > + sizeof(struct rte_crypto_sym_op); > + uint32_t imix_idx =3D 0; > + struct cperf_throughput_ctx *ctx =3D opaque_arg; > + struct rte_crypto_op *op =3D obj; > + > + (ctx->populate_ops)(&op, ctx->src_buf_offset, > + ctx->dst_buf_offset, > + 1, ctx->sess, ctx->options, > + ctx->test_vector, iv_offset, &imix_idx, NULL); > + > + cperf_mbuf_set(op->sym->m_src, ctx->options, ctx->test_vector); } > + > int > cperf_throughput_test_runner(void *test_ctx) { @@ -144,6 +164,9 @@ > cperf_throughput_test_runner(void *test_ctx) > uint16_t iv_offset =3D sizeof(struct rte_crypto_op) + > sizeof(struct rte_crypto_sym_op); >=20 > + if (ctx->options->out_of_place) > + rte_mempool_obj_iter(ctx->pool, cperf_verify_init_ops, (void > *)ctx); > + > while (test_burst_size <=3D ctx->options->max_burst_size) { > uint64_t ops_enqd =3D 0, ops_enqd_total =3D 0, ops_enqd_failed =3D > 0; > uint64_t ops_deqd =3D 0, ops_deqd_total =3D 0, ops_deqd_failed =3D > 0; @@ -176,11 +199,12 @@ cperf_throughput_test_runner(void *test_ctx) > } >=20 > /* Setup crypto op, attach mbuf etc */ > - (ctx->populate_ops)(ops, ctx->src_buf_offset, > - ctx->dst_buf_offset, > - ops_needed, ctx->sess, > - ctx->options, ctx->test_vector, > - iv_offset, &imix_idx, &tsc_start); > + if (!ctx->options->out_of_place) > + (ctx->populate_ops)(ops, ctx->src_buf_offset, > + ctx->dst_buf_offset, > + ops_needed, ctx->sess, > + ctx->options, ctx->test_vector, > + iv_offset, &imix_idx, > &tsc_start); >=20 > /** > * When ops_needed is smaller than ops_enqd, the > -- > 2.34.1