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 AC45BA0542; Wed, 26 Oct 2022 10:17:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53CDB40A7F; Wed, 26 Oct 2022 10:17:29 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id BA117400D6 for ; Wed, 26 Oct 2022 10:17:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666772248; x=1698308248; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=saj5t0epLnZncCRuX11ivzgWdGnCLXdmACQyCjRNw64=; b=JiDDObtE8XVieF1Qt6Dx5MvBFLHkP/d0UBXCtRffo3JH5Sw+IdqN0VKl perZeXeECwqEz0AjjuVPTutcJaglwMC8+JruwOjdausudb5koWQeCVWX1 eUwmZOy6JUtT6yph03F8qj7chSBY5Bnmvd/hJVcfRM3LYtzkfPLPU3/SY AJKQREfPcbUruxMWB7pqKY4xv6GgMhHmKgVglHU+fDFU1KgLFjiJr9dTo WHJS991mmdNirQ3qUC1xUCJ/wc6WKjjJgIJXUBHrtHs8XEtwzuPqoWj7E DjkME27ZsX8qAWzsIIdcPHn++xKW2w706qphcCunNfpkQmTc3dkBh1kvU Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10511"; a="372100797" X-IronPort-AV: E=Sophos;i="5.95,214,1661842800"; d="scan'208";a="372100797" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Oct 2022 01:17:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10511"; a="665208515" X-IronPort-AV: E=Sophos;i="5.95,214,1661842800"; d="scan'208";a="665208515" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga001.jf.intel.com with ESMTP; 26 Oct 2022 01:17:17 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) 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.2375.31; Wed, 26 Oct 2022 01:17:16 -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.2375.31 via Frontend Transport; Wed, 26 Oct 2022 01:17:16 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) 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.2375.31; Wed, 26 Oct 2022 01:17:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXWVLoE6XwU3b8AIzsAZeAtY1/j82jZfHHHeJ3siSUgbJNJFzdZ/ZtVjEV7bXDhdDmkX5hiZGt2Tm8poDBUXoudzHpkjcSVi0ebdjeosi4EZtlWz7X4jlOXWoSG5IaEUqlqnCOjyl5oAqGP5NHev1OJEjoOePvZy8I4sfMxYhdzJsyaBiYO311LqBdvtWWu2sb1nxc4dwNifOt3rZTlgE0ymw+fhKkmE7wClR3rAv01sQmL2Ip9nEcPXQ59X9KIz7SxXTkq/LyiLI4JrmDVAKh0XtNm7k3AA4Kk1MyQVaOvK2u8lVc/EAJPmyRBDvIdxf4vyAcr2X25JPqb8vpIw+g== 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=d/q73GeuaPc8oyOz1a45y8l6pKfLnJbvPRLYadDiEL8=; b=irxVPogVo2TA7ICRftF6jQlBazkVL/f2GV73dIfxkPoI927/gV/wZkFRYtwDNBxeTFzUIbnq5Ek67FZUWikG3wU9kCYa+GCvxVtGLiE40ODgSW4Z7UOsmdJrD5AfDTR+n/kyrUaAsjmQrq7Ipubz5gSJis6rkEbp3MQ6fWu72KVK4rZtUU5BuKwV6yZUyeEjE/euDGhcZ78LaiPEf3/5rgVN3Pt65gMXpssyQU+nb5ZjKZhXMXXPrkZhhire3W4nCcKc2YqMXY26OMa3F+MW8VO0veIrfOCsCN91ETeik75xmuBo8mLygnA4HRa7VV6POq0XRYopum+KMTnC7OpdeQ== 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 DM8PR11MB5591.namprd11.prod.outlook.com (2603:10b6:8:38::23) by CY8PR11MB7195.namprd11.prod.outlook.com (2603:10b6:930:93::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Wed, 26 Oct 2022 08:17:09 +0000 Received: from DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::1877:49e0:8f99:8145]) by DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::1877:49e0:8f99:8145%4]) with mapi id 15.20.5746.028; Wed, 26 Oct 2022 08:17:09 +0000 From: "De Lara Guarch, Pablo" To: "Ji, Kai" , "dev@dpdk.org" CC: "gakhil@marvell.com" , "Burakov, Anatoly" Subject: RE: [dpdk-dev v3] crypto/ipsec_mb: multi-process IPC request handler Thread-Topic: [dpdk-dev v3] crypto/ipsec_mb: multi-process IPC request handler Thread-Index: AQHY6Lt6POKxh18jsEWJC56eSDIkwa4gUsLA Date: Wed, 26 Oct 2022 08:17:09 +0000 Message-ID: References: <20221024233854.87514-1-kai.ji@intel.com> <20221025214800.44779-1-kai.ji@intel.com> In-Reply-To: <20221025214800.44779-1-kai.ji@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 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: DM8PR11MB5591:EE_|CY8PR11MB7195:EE_ x-ms-office365-filtering-correlation-id: 7dd0e687-996d-4913-4293-08dab72a7a47 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6N3YhLiuLhxNgxo7LfH4F+LVjNc2FQRAmGMYqYYrLaouxdhpnOw4hxMLeFYnN8K3VdfimPGWlDk4edEhE0SWxvsfddJR6zsv+9u0XZLpTZhoXt30Bdt9+NP2MuDwtDrp5JgX2RgGrMJ76/ajOpF0rno9vH7NOSJu31e5Wl0mH+YrLMU/HSjfIB9PHtWi5ZlVAnen8M+nuky9AF2e8+FL7esccHKDBfZodzhYWvVzxkBEyjDaBkCyYQ0HB/eZ2ppdYXoQohzE745XQVUu9Gl7gkhBLJ6pjiCW2LQFhdTK13Cxw8dDwRilWVzFWRXrT+msxIytimyOq6U4kbPFzYbb1tngPTWmG7Ubs7hG5UNzOEOpauTBNv11TFZvDaH6uF+hu79UhQ5yTciJZWisLl2mD6FuoR2lx6dxQ9cOzGyB7auGEgpZL0fUxo+csWfT3oM6VxruOqlyySf0g27Cj2jp5qEG272wkEynxEJ9ZbSItFYWhQ9HcNDTSnLmxez+cz+hUyisZc5ru9dgJ1J0HAQ5Ukqbrc8iSs/DSeXXgQKmaa/YK+1TjLnI3hykvIZGLVTf4NoVUEIOwIn9HRLSLWr6770SkbSsGrFS0ej0GeJbUx6Pb1FP/usUgYNEtgIvqWOXL48ECwCWacb5GYMgudotxsbkT8af10dnDjKgWnAvTHO9vS8JqBluEj7F7wli6Wtm5m0ydsfBi5juPg+0OEy657C3gLR+wlefZ/TyAwkFa4Id7PSg3TbAGrAMMByPoqgOhiBfyKi7bmkdpWLHfE8v0A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5591.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(376002)(136003)(39860400002)(346002)(396003)(451199015)(38100700002)(122000001)(82960400001)(86362001)(110136005)(38070700005)(55016003)(33656002)(54906003)(316002)(478600001)(5660300002)(71200400001)(76116006)(41300700001)(66556008)(4326008)(52536014)(66446008)(66476007)(2906002)(64756008)(7696005)(83380400001)(8936002)(8676002)(107886003)(9686003)(6506007)(53546011)(26005)(66946007)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Ojcjg5q4yfr4vdrsS8PHiQrMJKixwy52u8C7YtXdw0RVsVmLWivOzvE5aXsC?= =?us-ascii?Q?O2nt31Ze/u7nCCpc6Y37gIRL7BaI1EJhR5ML9eRsWL49/aEDknmrNy7iamdp?= =?us-ascii?Q?1mFQh3e/hoh/1nJFDAB0/Vs2Tx6my7sxQE+Y0PEd/iWWWFZP4BVa2akW+llQ?= =?us-ascii?Q?x57KSmxW2vfDV/dfVR9IOyzKML+RDIjQR3KX97wZ0VRV9x8qyhaTYd8GIwb0?= =?us-ascii?Q?NEOsjlU4Xu0jMbzfi0R1/4YfFzXhLSn1Zr2X5aJIdqLz7dndKXuA9w4AOY9C?= =?us-ascii?Q?2eT8gZuTTNgrJdmX/0FmKMlPs962HoYiC/qOtSs01Eed2rSecN+brQwTfSx2?= =?us-ascii?Q?V4c8HG1ei5Z1SBgifet/Dnramf3VvboaY5bgkr3ub6BwORc01cKLQ58BX7so?= =?us-ascii?Q?ATrvD86YGjVsMMeITYFAgEkm140Sas/Ij8vHG7CutNEvQ3rRZzqsua6rkK0v?= =?us-ascii?Q?PlA34+wBNfD1lNpBp7X1kW7TIMslt4I5gcfHaGOLNAStlmh6EnVVCRLMeXcb?= =?us-ascii?Q?bMm41YGHypjB+JHYfPgYcEevmSjitEsjkTf2g2uLzD3XFlcnP3omCoSinmum?= =?us-ascii?Q?C3T4T0QdPu3Pv28gX8TQF+/6MdDid4pDp7RBtJODWmR8b5DWugYtlqyWl9cA?= =?us-ascii?Q?qXazCIixgSVc4rudl5PbVqoBgLQICcOTgXDgV2W/3K5i1My6EZpgda2+knxd?= =?us-ascii?Q?ZRkpPJtiaG60VBsSQUijqpQKLl07BREndDx9COysBUNKXCTUSaRicVBDUdb8?= =?us-ascii?Q?0tb26AkzgJf9T9Uhqr6t9hIHEpIicnUBttvoebQcuwZZp3K9nKrNvoe6m21x?= =?us-ascii?Q?l6GUr1nqrUB6J9iwyHqHX7+uHcMnpNt7LewZsjOIWmq8RkXNATJ/rXpPdVZN?= =?us-ascii?Q?QK0jGa58VWT0+28P7LggqpmbQ2BLvU+mI1BMRKOgqPn2geUcI40hPaCiSYEd?= =?us-ascii?Q?dbP13xf4dUF/aIQd2j6OLiQLeWaZoCo65TDt7yfjLd1hFJhCoFQY1OyICNuO?= =?us-ascii?Q?+Gptm9KXKoXOx/wi3rCDqEar4+qrNRXq6tCzcZCpulkKZZYqykAjATantoEG?= =?us-ascii?Q?e6OT4MhbmkHfvrfNuLcX8DlJURRy2Sl5IN+Me25SfwIfQdbwSZIeIDjmFStq?= =?us-ascii?Q?/yHz1zn8QTSW9J5QrBzYtbUq0DrssAS4IrrWBuBxhzLWFnnFafBupwe73D3H?= =?us-ascii?Q?hGNsSF3mKppZE3fp2y6U/sY8f63CMFD4w6WCFLcrELqicL3c/cOySxZrIFiY?= =?us-ascii?Q?RRMZ8hS5pzKoREfAYsUwi4a0RqvS2jRZtz/eUfOA+2AM5IVYoA9st2mww2OT?= =?us-ascii?Q?z8pfREaJ6rF+sdcXoREer94ui0XhKcbUO3Udt9o/4BJ/vLygtKIM+7bbBC3K?= =?us-ascii?Q?PZRl6P2azcgWD759KZamhN6mjNqAJKoR8ec0oDQqBj06g7RBa9YfMEH3VRJW?= =?us-ascii?Q?J6yPa8JldyRvt/6Iux8+qwNkbpJHo8facxl1W5mOwQ4eQxd7qsCzsLYq6pu6?= =?us-ascii?Q?lx4C1+l/NCN9QjAg1mqPLoW1tL/hjyTEUhhv4B3RbxTUq2liKOKHTxH9cgUu?= =?us-ascii?Q?lWySrD3QlMyyFmQM/vYpkBZm8xhxDc952MZmpNtYET/knwop7ljfPBs42yvb?= =?us-ascii?Q?qw=3D=3D?= 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: DM8PR11MB5591.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7dd0e687-996d-4913-4293-08dab72a7a47 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2022 08:17:09.3722 (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: /qM0yBNbB2Z8gr/MvkfWEdA4W0WtepTg7pZuWUp2QnUNIor9qmW+7FxSQkosr+VwO8QYFfgCLkVVB4p/VP9JrbCDdMwfZXNoKXmBHbi0spo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7195 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 Hi Kai, A few comments below Thanks, Pablo > -----Original Message----- > From: Ji, Kai > Sent: Tuesday, October 25, 2022 10:48 PM > To: dev@dpdk.org > Cc: gakhil@marvell.com; Ji, Kai ; De Lara Guarch, Pablo > ; Burakov, Anatoly > > Subject: [dpdk-dev v3] crypto/ipsec_mb: multi-process IPC request handler >=20 > As the secondary process needs queue-pair to be configured by the primary > process before use.=20 This sentence looks incomplete: as the secondary process needs...., then wh= at? > This patch adds an IPC register function to allow > secondary process to setup cryptodev queue-pair via IPC messages during > the runtime. A new "qp_in_used_pid" param stores the PID to provide the > ownership of the queue-pair so that only the PID matched queue-pair can b= e > free'd in the request. >=20 > Signed-off-by: Kai Ji > --- >=20 > v3: > - remove shared memzone as qp_conf params can be passed directly from > ipc message. >=20 > v2: > - add in shared memzone for data exchange between multi-process > --- > drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 130 > ++++++++++++++++++++- > drivers/crypto/ipsec_mb/ipsec_mb_private.c | 24 +++- > drivers/crypto/ipsec_mb/ipsec_mb_private.h | 46 ++++++++ > 3 files changed, 196 insertions(+), 4 deletions(-) >=20 > diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > index cedcaa2742..c29656b746 100644 > --- a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > +++ b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > @@ -3,6 +3,7 @@ > */ >=20 > #include > +#include >=20 > #include > #include > @@ -93,6 +94,46 @@ ipsec_mb_info_get(struct rte_cryptodev *dev, > } > } >=20 > +static int > +ipsec_mb_secondary_qp_op(int dev_id, int qp_id, > + const struct rte_cryptodev_qp_conf *qp_conf, > + int socket_id, uint16_t pid, enum ipsec_mb_mp_req_type > op_type) { > + int ret; > + struct rte_mp_msg qp_req_msg; > + struct rte_mp_msg *qp_resp_msg; > + struct rte_mp_reply qp_resp; > + struct ipsec_mb_mp_param *req_param; > + struct ipsec_mb_mp_param *resp_param; > + struct timespec ts =3D {.tv_sec =3D 1, .tv_nsec =3D 0}; > + > + memset(&qp_req_msg, 0, sizeof(IPSEC_MB_MP_MSG)); > + memcpy(qp_req_msg.name, IPSEC_MB_MP_MSG, > sizeof(IPSEC_MB_MP_MSG)); > + req_param =3D (struct ipsec_mb_mp_param *)&qp_req_msg.param; > + > + qp_req_msg.len_param =3D sizeof(struct ipsec_mb_mp_param); > + req_param->type =3D op_type; > + req_param->dev_id =3D dev_id; > + req_param->qp_id =3D qp_id; > + req_param->socket_id =3D socket_id; > + req_param->process_id =3D pid; I think you can use "get_pid()" here and not have "pid" argument in the fun= ction, as I believe it is always called within the same process. > + if (qp_conf) { > + req_param->nb_descriptors =3D qp_conf->nb_descriptors; > + req_param->mp_session =3D (void *)qp_conf->mp_session; > + } > + > + qp_req_msg.num_fds =3D 0; > + ret =3D rte_mp_request_sync(&qp_req_msg, &qp_resp, &ts); > + if (ret) { > + RTE_LOG(ERR, USER1, "Create MR request to primary > process failed."); > + return -1; > + } > + qp_resp_msg =3D &qp_resp.msgs[0]; > + resp_param =3D (struct ipsec_mb_mp_param *)qp_resp_msg->param; > + > + return resp_param->result; > +} > + .. > diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h > b/drivers/crypto/ipsec_mb/ipsec_mb_private.h > index b56eaf061e..a2b52f808e 100644 > --- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h > +++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h ... > + > /** All supported device types */ > enum ipsec_mb_pmd_types { > IPSEC_MB_PMD_TYPE_AESNI_MB =3D 0, > @@ -149,11 +155,51 @@ struct ipsec_mb_qp { > IMB_MGR *mb_mgr; > /* Multi buffer manager */ > const struct rte_memzone *mb_mgr_mz; > + /** The process id used for queue pairs **/ > + uint16_t qp_in_used_by_pid; I would rename this to "qp_in_use_by_pid" or "qp_used_by_pid". > /* Shared memzone for storing mb_mgr */ Check these comments. This last one "Shared memzone..." applies to the fiel= d "mb_mgr_mz". Also, they should use "/**< ". > __extension__ uint8_t additional_data[]; > /**< Storing PMD specific additional data */ }; >=20