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 0B175A0C43;
	Wed, 20 Oct 2021 20:04:55 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id C410C40142;
	Wed, 20 Oct 2021 20:04:54 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174])
 by mails.dpdk.org (Postfix) with ESMTP id 265EB4003E
 for <dev@dpdk.org>; Wed, 20 Oct 2021 20:04:52 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19KEOKoQ011709; 
 Wed, 20 Oct 2021 11:04:46 -0700
Received: from nam04-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam08lp2176.outbound.protection.outlook.com [104.47.73.176])
 by mx0a-0016f401.pphosted.com with ESMTP id 3btmukh6nt-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 20 Oct 2021 11:04:46 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aVL1eDYH3isf6eQZrPieSG5omxpQeJnjTgM209bAaG6tESCfQp8zumlED2vSSTODBWUfhB/YXijmcHqpU0vki+LF78FqV1Kr8FY4XKMJV+cO56HqNX/KTiWHBIVzEQ8MP94ficpR750ik7u2BP7TLxY5wZl4W2rZCPwTCcE9U6VLfpQiD91haN0wvebQqh6UmUlU4jHUDQsE0dfhER9mO7sby3PbGzj6Tb8FItx6nk6W2SwrFKOc1sPZHUder69kqkQhmQhTGfqk/p0lMstxlZsECLYiz/E/MqOgvnn5a0rg1Opmx0u78vmVIHP0aXf+zIYhzzbI8L9s8/Jw+bML0Q==
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=xWEFDZWg8wIDv00aI2TL8ZQ0yrPUW7eAsSk82t0W6QU=;
 b=BSjE5yr5Y55EmbOUmZB2FF9vqRnrdXShdRfVgdf69IsvnAR8LyBezlTXymwaCcnxoTYXR8ONyY7fEFQ+VwicSukCpYfAhOBjVtLKLTsrAnXky14usX/KAGICR+oBVu9REriPi/IWykHFxVV+Mmnx9Ldav19cXCWEjZ6ty42ZN4p6l/ga9zfqGopWzPSmRD6pxkA1L8sSCjKuXIRxQ10nUCXjHpdrm7yHyPTH+zlUh5GATBZnl5oVFh3zhmBXPgY8vj6J72naCAAA6HTAlxRp0oipKQv3eQNAdX4nv1Nqchp6DdI2jCXM8BEMiqsmR7Vnedbq7m4UO7eObkIxUZ18AQ==
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=xWEFDZWg8wIDv00aI2TL8ZQ0yrPUW7eAsSk82t0W6QU=;
 b=oFrv9W6FUMpgPlGc2m4fxejepf4M+Rbpn0tuaX5pjrL1cD/W8kWmvlVDzzXwuWS0+wJN5w3jdTaFyZoRcw6PHclcxEgsLtljSU/iuVImjdiucotf6ckp+zEsinnbEfnl9HkQU7uM3IiWvZ5Mm1slfcDhteUWUCH1s5ksgA/adco=
Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by
 CO1PR18MB4796.namprd18.prod.outlook.com (2603:10b6:303:ef::23) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4628.16; Wed, 20 Oct 2021 18:04:45 +0000
Received: from CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::c41e:707:3f91:71b8]) by CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::c41e:707:3f91:71b8%8]) with mapi id 15.20.4608.019; Wed, 20 Oct 2021
 18:04:44 +0000
From: Akhil Goyal <gakhil@marvell.com>
To: "Power, Ciara" <ciara.power@intel.com>, "dev@dpdk.org" <dev@dpdk.org>,
 "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, "thomas@monjalon.net"
 <thomas@monjalon.net>, "roy.fan.zhang@intel.com" <roy.fan.zhang@intel.com>,
 "pablo.de.lara.guarch@intel.com" <pablo.de.lara.guarch@intel.com>
CC: "david.marchand@redhat.com" <david.marchand@redhat.com>,
 "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>, Anoob Joseph
 <anoobj@marvell.com>, "Trahe, Fiona" <fiona.trahe@intel.com>, "Doherty,
 Declan" <declan.doherty@intel.com>, "matan@nvidia.com" <matan@nvidia.com>,
 "g.singh@nxp.com" <g.singh@nxp.com>, "jianjay.zhou@huawei.com"
 <jianjay.zhou@huawei.com>, "asomalap@amd.com" <asomalap@amd.com>,
 "ruifeng.wang@arm.com" <ruifeng.wang@arm.com>, "Nicolau, Radu"
 <radu.nicolau@intel.com>, "ajit.khaparde@broadcom.com"
 <ajit.khaparde@broadcom.com>,
 Nagadheeraj Rottela <rnagadheeraj@marvell.com>,
 Ankur Dwivedi <adwivedi@marvell.com>,
 "Wang, Haiyue" <haiyue.wang@intel.com>,
 "jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
 "jianwang@trustnetic.com" <jianwang@trustnetic.com>, Jerin Jacob
 Kollanukkaran <jerinj@marvell.com>, Nithin Kumar Dabilpuram
 <ndabilpuram@marvell.com>
Thread-Topic: [PATCH v3 0/8] crypto/security session framework rework
Thread-Index: AQHXxGgHgrreuE8Noky70dvpBQ6UMavcClQAgAALT4CAAAUxcIAAFEjA
Date: Wed, 20 Oct 2021 18:04:44 +0000
Message-ID: <CO6PR18MB4484857C79B4BBF9253B29E6D8BE9@CO6PR18MB4484.namprd18.prod.outlook.com>
References: <20211013192222.1582631-2-gakhil@marvell.com>
 <20211018213452.2734720-1-gakhil@marvell.com>
 <MN2PR11MB3821604726D1C8283F93E09FE6BE9@MN2PR11MB3821.namprd11.prod.outlook.com>
 <CO6PR18MB448424A7EE19D379034FB0BBD8BE9@CO6PR18MB4484.namprd18.prod.outlook.com>
 <CO6PR18MB44848E83DDEAD5DE7B72C939D8BE9@CO6PR18MB4484.namprd18.prod.outlook.com>
In-Reply-To: <CO6PR18MB44848E83DDEAD5DE7B72C939D8BE9@CO6PR18MB4484.namprd18.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e1a4a7d3-d027-4116-684f-08d993f418de
x-ms-traffictypediagnostic: CO1PR18MB4796:
x-microsoft-antispam-prvs: <CO1PR18MB47961D13EC18637FA0D6467ED8BE9@CO1PR18MB4796.namprd18.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 7wsrsOI0ClGZGXZGZHeUx2eZWtSH037vEux7Uj6VBqQ3Q/nVjV91UXAl+POxMA0Uid/Fcw3LVmwCrjuMoqQoZf/eRhbqeyn++5JBGczNfMRWmZSg/3nqu3nc4CuZJbUv5RD8VW4h239qRzXu/SO12P7dbQZq+s2XaL8b1chFBxqJxMICggr3sYhmzwW9CSbMXim/GnokhEqx4zTp0NCD5tuIU5kfBK6nU6mJ2wdyNZ5rIpj3LNJtoBTGd/cYU8iI/Hh2W8JZcAbPQpUCP5adj6Ht+52Wae5W5vRHPDZoQRFWLxC+ljr+3DrNMzfENlOjoEW8NDETabABJlz05yn7qcpTbD5+iFYK0kJGTpfcZA5MD8vuGISqiyxRUc1p0asaUSNsKdxn4emd8utsjPHpTUDmwbS0qYeDFeRKAuXAaDCNv0AZC5F2t8n1YMFNjszI2LHOUDfBsT5qxbwxFq+9odrQP5kW00u6r1MNSWc7fqFyjr4tMs3DE75+iOnW7uQ2KP/BY02GUI+JdjxO1N9sT+Z5xq4LCjeUkF84QfG12lURrvQgK6vBanzm7wGud3y0QHETIfyv8SduraqwBVhGE7frBEWV9OK0/Frs4aNsfS5h8xhxYzjVjK9QJnBSQ/8zrHCK0fafDK4fVOFHrPWuVDaflWQOssmCUqAV8dTjpehiKsRVvTaLQ7r05dquRpwktoopG0XaxzuQfpvmd2fvMw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(9686003)(8676002)(122000001)(33656002)(508600001)(8936002)(64756008)(38100700002)(4326008)(52536014)(66556008)(7696005)(5660300002)(66446008)(2940100002)(15650500001)(316002)(26005)(107886003)(2906002)(71200400001)(66476007)(110136005)(38070700005)(86362001)(55016002)(66946007)(54906003)(83380400001)(186003)(76116006)(6506007)(55236004)(7416002);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?uElmO9lcbxK3SK8foMXa0W8SuaHYD0FrsROdOpeDiWphY/Pz/biF0g5vmm+m?=
 =?us-ascii?Q?KUxQqm5ZFFzlnVx4UzShiJeS6/JwbtHYfmzQl2aFbJMzFcxsszSSSpjRylIB?=
 =?us-ascii?Q?ZzDUGXF3QguNUXTLOMwQKc9/DlB5oId2iFYra+AB5vIbmD30q1rvt8DIoRt0?=
 =?us-ascii?Q?rbKcCZrst2CfakpeHEGY7URL5XzdVPOogvra2L9cn+0w/s6HMYt6RXnT+Kwv?=
 =?us-ascii?Q?GKdFVRrnmKU+NUbWbPemyTc4vpKfSJ0bJ8uThdxNBI/gVPr2y6qiFJ1g807N?=
 =?us-ascii?Q?nyFhqJwhHw7CxHqOqNwaQm3uR260ehuMbFqDT4uA5HBYA/RcPfbT1BYT4zoj?=
 =?us-ascii?Q?RDWekjQMORREMsvP7NcdPvOoqPm56aTT3NIkQmSV1qil+pNySyctGnBj6c3J?=
 =?us-ascii?Q?8rNsaZhZCBRNXpUmZXZ0yj8CMWWegVlRzpnULGoaPGO2a8mspJhxO9YGRqf2?=
 =?us-ascii?Q?TV8vUZGd+5qBg9x0O0lmYwcOx1IDMYMDwuo8K37aVgxQAppOmfZ9ZTDWCrEB?=
 =?us-ascii?Q?zevfkwWI4B0gRg6TNAn+3liaQuf53GesEeq42wr5UcO/Qrd64bzcpN9iSrzH?=
 =?us-ascii?Q?Q6Po9PUYN9qOvWsLCbQjAXpsPto8idM7GN14/75qLEoKcuThbDJE1Ws6faUP?=
 =?us-ascii?Q?B+XVMxrtL8PGQeCN7Hn564tdvL3bbC9FDvRzoAbpkx8dBYqjs1rVz4kFdLHw?=
 =?us-ascii?Q?pzOukSlxc3y1iSVDr7SK6t86w9bh6SNyMtkN574yytNWLCrHn+VRIBkBv/LL?=
 =?us-ascii?Q?eSKiMJyiK3PcrfjSyVp63gBlwhOWBSeJpvVCyhKILho6jghApmZtrIrut29S?=
 =?us-ascii?Q?hjsDrW7Fvo6egAqYoULLhsaEOtzI8HlsEQZDv4qNDhCRJNYKjrDmDefMbck4?=
 =?us-ascii?Q?2T1PZkX9g48spcFLAf2o1AklDWcxQSptGR+A1OjWHTzToKmEicgEmCjt3KGy?=
 =?us-ascii?Q?rq+RvQagORr8o8JtklOaOxVdsdodal7Q/rZLuChRfHPfBfrP5V/dwfzVQaSf?=
 =?us-ascii?Q?nz2+ltM8u3DsDmwdCEoGPGXZrgAdNBLA/D5+S2m7AHrLe+hvL+x3recnSTds?=
 =?us-ascii?Q?FucGpmDLrT6SnxcINJnHTtAGZukmBYsrciEF3KFgg67icnJ9GrYfgcrUZegK?=
 =?us-ascii?Q?xPvaU/vwDNZYrXDqc4AJz/neTxYr33aZku9SG/ou1wQd0GNzkwHqoAp8juDg?=
 =?us-ascii?Q?NQmLm8Q+3nuYs6QJYQQJgLcm00Yn5vHceqrHLV6zlcAbWvlTFQvM8GOpn7Fy?=
 =?us-ascii?Q?G6kSMkh+VFlo16Ka9VFH2HElhqFLCEzBORSTb9GlibXkorYtPfd2fUBaX7/O?=
 =?us-ascii?Q?zfmDN0vy3ADDcMdum+dVObZU0Dtx/CL6URcCnWbVlbeE9zq5pH4f0K8wLITZ?=
 =?us-ascii?Q?K9Kwq/GyQUuKeeZqLFqARU29gRFmOvHqhoPPcSMvoQVp37/Ar8qqAGwmSuvF?=
 =?us-ascii?Q?89Ypppb/UnnCR0ZSyRYEDviPUZVfchMDhf96ItpH568aAUWhjYX9IUtTLZRz?=
 =?us-ascii?Q?RNHUFhK80ib2+dFPO2I6ofk0KQHrmoOwme0dA3RgywVnKmkf4KPLgaiss3eL?=
 =?us-ascii?Q?h3DH1QMjTNWkSAGg+W4RWN/x3J1XoaKS1AcCNrjSjfug7PSNcndaqhDgGbvp?=
 =?us-ascii?Q?GyHy15p0QqQs1mbbtlxuDLY=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1a4a7d3-d027-4116-684f-08d993f418de
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2021 18:04:44.4563 (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: 5VYpZ9KbRf7N8YWzb0c5CG3topMCgjNsurFtd6Nvl94l95ZSM3liuhzomFq71ajObafVIm4/SBHP2bL3RumHxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR18MB4796
X-Proofpoint-ORIG-GUID: 3Lej2EbgQN309YYjaPmf2j-VrY8A3-FM
X-Proofpoint-GUID: 3Lej2EbgQN309YYjaPmf2j-VrY8A3-FM
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475
 definitions=2021-10-20_06,2021-10-20_02,2020-04-07_01
Subject: Re: [dpdk-dev] [PATCH v3 0/8] crypto/security session framework
 rework
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
Sender: "dev" <dev-bounces@dpdk.org>

> > > I am seeing test failures for cryptodev_scheduler_autotest:
> > > + Tests Total :       638
> > >  + Tests Skipped :     280
> > >  + Tests Executed :    638
> > >  + Tests Unsupported:   0
> > >  + Tests Passed :      18
> > >  + Tests Failed :      340
> > >
> > > The error showing for each testcase:
> > > scheduler_pmd_sym_session_configure() line 487: unable to config sym
> > > session
> > > CRYPTODEV: rte_cryptodev_sym_session_init() line 1743: dev_id 2 faile=
d
> to
> > > configure session details
> > >
> > > I believe the problem happens in
> scheduler_pmd_sym_session_configure.
> > > The full sess object is no longer accessible in here, but it is requi=
red to be
> > > passed to rte_cryptodev_sym_session_init.
> > > The init function expects access to sess rather than the private data=
, and
> > now
> > > fails as a result.
> > >
> > > static int
> > > scheduler_pmd_sym_session_configure(struct rte_cryptodev *dev,
> > >         struct rte_crypto_sym_xform *xform, void *sess,
> > >         rte_iova_t sess_iova __rte_unused)
> > > {
> > >         struct scheduler_ctx *sched_ctx =3D dev->data->dev_private;
> > >         uint32_t i;
> > >         int ret;
> > >         for (i =3D 0; i < sched_ctx->nb_workers; i++) {
> > >                 struct scheduler_worker *worker =3D &sched_ctx->worke=
rs[i];
> > >                 ret =3D rte_cryptodev_sym_session_init(worker->dev_id=
, sess,
> > >                                         xform);
> > >                 if (ret < 0) {
> > >                         CR_SCHED_LOG(ERR, "unable to config sym sessi=
on");
> > >                         return ret;
> > >                 }
> > >         }
> > >         return 0;
> > > }
> > >
> > It looks like scheduler PMD is managing the stuff on its own for other
> PMDs.
> > The APIs are designed such that the app can call session_init multiple =
times
> > With different dev_id on same sess.
> > But here scheduler PMD internally want to configure other PMDs sess_pri=
v
> > By calling session_init.
> >
> > I wonder, why we have this 2 step session_create and session_init?
> > Why can't we have it similar to security session create and let the sch=
eduler
> > PMD have its big session private data which can hold priv_data of as ma=
ny
> > PMDs
> > as it want to schedule.
> >
> > Konstantin/Fan/Pablo what are your thoughts on this issue?
> > Can we resolve this issue at priority in RC1(or probably RC2) for this =
release
> > or
> > else we defer it for next ABI break release?
> >
> > Thomas,
> > Can we defer this for RC2? It does not seem to be fixed in 1 day.
>=20
> On another thought, this can be fixed with current patch also by having a=
 big
> session
> Private data for scheduler PMD which is big enough to hold all other PMDs
> data which
> it want to schedule and then call the sess_configure function pointer of =
dev
> directly.
> What say? And this PMD change can be done in RC2. And this patchset go as
> is in RC1.
Here is the diff in scheduler PMD which should fix this issue in current pa=
tchset.

diff --git a/drivers/crypto/scheduler/scheduler_pmd_ops.c b/drivers/crypto/=
scheduler/scheduler_pmd_ops.c
index b92ffd6026..0611ea2c6a 100644
--- a/drivers/crypto/scheduler/scheduler_pmd_ops.c
+++ b/drivers/crypto/scheduler/scheduler_pmd_ops.c
@@ -450,9 +450,8 @@ scheduler_pmd_qp_setup(struct rte_cryptodev *dev, uint1=
6_t qp_id,
 }

 static uint32_t
-scheduler_pmd_sym_session_get_size(struct rte_cryptodev *dev __rte_unused)
+get_max_session_priv_size(struct scheduler_ctx *sched_ctx)
 {
-       struct scheduler_ctx *sched_ctx =3D dev->data->dev_private;
        uint8_t i =3D 0;
        uint32_t max_priv_sess_size =3D 0;

@@ -469,20 +468,35 @@ scheduler_pmd_sym_session_get_size(struct rte_cryptod=
ev *dev __rte_unused)
        return max_priv_sess_size;
 }

+static uint32_t
+scheduler_pmd_sym_session_get_size(struct rte_cryptodev *dev)
+{
+       struct scheduler_ctx *sched_ctx =3D dev->data->dev_private;
+
+       return get_max_session_priv_size(sched_ctx) * sched_ctx->nb_workers=
;
+}
+
 static int
 scheduler_pmd_sym_session_configure(struct rte_cryptodev *dev,
        struct rte_crypto_sym_xform *xform, void *sess,
        rte_iova_t sess_iova __rte_unused)
 {
        struct scheduler_ctx *sched_ctx =3D dev->data->dev_private;
+       uint32_t worker_sess_priv_sz =3D get_max_session_priv_size(sched_ct=
x);
        uint32_t i;
        int ret;

        for (i =3D 0; i < sched_ctx->nb_workers; i++) {
                struct scheduler_worker *worker =3D &sched_ctx->workers[i];
+               struct rte_cryptodev *worker_dev =3D
+                               rte_cryptodev_pmd_get_dev(worker->dev_id);
+               uint8_t index =3D worker_dev->driver_id;

-               ret =3D rte_cryptodev_sym_session_init(worker->dev_id, sess=
,
-                                       xform);
+               ret =3D worker_dev->dev_ops->sym_session_configure(
+                               worker_dev,
+                               xform,
+                               (uint8_t *)sess + (index * worker_sess_priv=
_sz),
+                               sess_iova + (index * worker_sess_priv_sz));
                if (ret < 0) {
                        CR_SCHED_LOG(ERR, "unable to config sym session");
                        return ret;