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 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 ; 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 To: "Power, Ciara" , "dev@dpdk.org" , "Ananyev, Konstantin" , "thomas@monjalon.net" , "roy.fan.zhang@intel.com" , "pablo.de.lara.guarch@intel.com" CC: "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" , Anoob Joseph , "Trahe, Fiona" , "Doherty, Declan" , "matan@nvidia.com" , "g.singh@nxp.com" , "jianjay.zhou@huawei.com" , "asomalap@amd.com" , "ruifeng.wang@arm.com" , "Nicolau, Radu" , "ajit.khaparde@broadcom.com" , Nagadheeraj Rottela , Ankur Dwivedi , "Wang, Haiyue" , "jiawenwu@trustnetic.com" , "jianwang@trustnetic.com" , Jerin Jacob Kollanukkaran , Nithin Kumar Dabilpuram 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: References: <20211013192222.1582631-2-gakhil@marvell.com> <20211018213452.2734720-1-gakhil@marvell.com> In-Reply-To: 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > > > 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;