From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 515C6A059F; Fri, 10 Apr 2020 16:34:04 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 26A461D54D; Fri, 10 Apr 2020 16:34:03 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 7F8341D54B for ; Fri, 10 Apr 2020 16:34:01 +0200 (CEST) IronPort-SDR: xs8SJykTCHN3kpSvR7bNpurOsBXnj78HfR+676CfvWMFqkqwlAVM3D3LM4bg8LgdqQU5Nj7x9s GbcWHykwm+Cg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Apr 2020 07:34:00 -0700 IronPort-SDR: o5OOVtEtBs7K4JxDv+05VJE2WJ5bXdPt5fRql81vBxaT62uXB9ldNfm4e5NrcelDNLGWnSy3jU yKbn52GRznGw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,367,1580803200"; d="scan'208";a="331192440" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 10 Apr 2020 07:34:00 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 10 Apr 2020 07:34:00 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 10 Apr 2020 07:33:59 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 10 Apr 2020 07:33:59 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 10 Apr 2020 07:33:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZWfU7s6/t2BzK7bGOtvFVy7nNHrnXxtsCLlhY3hBKeV/PZcTztR/334a6SK45BwR8gqUMQSIhH8p+8SJxXuqvisFjJBfx2NcWUbdaJJus9IVpZ/V6iCzsYWhPSO9Dyf+hUzo/uQ7swUxURSnDF9Fs2HBJuvMHcNEUdapsvWtlR0166eGj6O/74luLrS5WmFNGt0aE7XLtcqgqoKadDDPMU9ytgENRoD8XYWVaJHnMyj81ggPI0mQ2GkqQ5SVXIQfyK+s47pa/ZD28hZ/LaXyd91EqrhQGs06ydseE7iLeyKcWvH51MnSxjLdxIoQfQeUOUSEl97lUtXhbTOa+LaOHw== 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-SenderADCheck; bh=WTlUalR655R5TrypbSP/XTXikYdklvDoCvzg9NUV/X0=; b=bSbNP18NZbUdGc3jvfZR7R2nl/b5RSj5skgjAcxT/n42PI4FRC9RdBth4VtSKqL5rybioATv6iiO3HbMxwMBsBe4PEOnZtj+kwG9MS/ThQxa9l7dfyUp+GaJhx4HnbbReo/RJ4yiha9E0D1ua0iQTMnTXAYfIhTQe+j9sf9uLPYD1IPGMd3h69Bzp5Ib5uYOBGubBQdgU8/kc2JAGOQGf/d6Qt9T7+rKcyirW2XNA83I6a6j5QWQcyG8GZGzaF2n4LEyz5IRRIZiDNBdpDzLaK4jb/b7geMXTn2NpY5/IzsSd63UgjYWEqZJJl1ol7hOzbvl7eqbrHQ90Uo4cxhYJg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WTlUalR655R5TrypbSP/XTXikYdklvDoCvzg9NUV/X0=; b=QYmWkJukO1hEALl8smcPg/VFrjcCHbkSvwsHKIKz296LlEnaNUGRmZjmS5J9bz29n2D+QQw2R5yBxeDte24pIljelw8At4wKrQtJyZ3fvxg/kxyhV69ZdVQCZ3vJrt6coZ6xQWgH9C9T9kQGYv2uIJNo5ixI2XH6ldCfmtal5ig= Received: from MN2PR11MB3550.namprd11.prod.outlook.com (2603:10b6:208:ee::21) by MN2PR11MB4583.namprd11.prod.outlook.com (2603:10b6:208:26a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.16; Fri, 10 Apr 2020 14:33:57 +0000 Received: from MN2PR11MB3550.namprd11.prod.outlook.com ([fe80::b945:c80d:ab08:cccf]) by MN2PR11MB3550.namprd11.prod.outlook.com ([fe80::b945:c80d:ab08:cccf%7]) with mapi id 15.20.2878.018; Fri, 10 Apr 2020 14:33:57 +0000 From: "Coyle, David" To: "De Lara Guarch, Pablo" , "dev@dpdk.org" CC: "Doherty, Declan" , "Trahe, Fiona" , "Ryan, Brendan" , "shreyansh.jain@nxp.com" , "hemant.agrawal@nxp.com" , "O'loingsigh, Mairtin" Thread-Topic: [PATCH v2 1/4] raw/common: add multi-function interface Thread-Index: AQHWCdfVMpnUYGUUWUypgRcioW0L76hsR7OAgATZaqA= Date: Fri, 10 Apr 2020 14:33:57 +0000 Message-ID: References: <20200403163656.60545-1-david.coyle@intel.com> <20200403163656.60545-2-david.coyle@intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows authentication-results: spf=none (sender IP is ) smtp.mailfrom=david.coyle@intel.com; x-originating-ip: [192.198.151.188] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b85a4ea5-aa66-462a-7ac0-08d7dd5c3420 x-ms-traffictypediagnostic: MN2PR11MB4583: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-forefront-prvs: 0369E8196C x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3550.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(376002)(366004)(396003)(39860400002)(136003)(346002)(33656002)(64756008)(316002)(66556008)(66946007)(66446008)(110136005)(76116006)(9686003)(71200400001)(81156014)(478600001)(6506007)(52536014)(55016002)(8676002)(86362001)(107886003)(8936002)(66476007)(54906003)(5660300002)(186003)(2906002)(7696005)(26005)(4326008); DIR:OUT; SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6LO04P24jlMZZckXSaVSxCJz2v3AV1Dw42MwfHSsSwdtgUes1uySUXTBpK21Q2pza6LtxeE+oHMEOfYsj9FoKHekQ1DOWr7ofaGOwkr7COHrrhMigpoWiT85Ak4onsIzMjV0sRJ/d+f5teBhgnaB1WNEm/8xiWRQtU4kUb90r2/llurIrfpCabH/Jt6ddbj2LcTwb/+/3JPGmgIOMcidMAn4aTZTm9RXL6DnWMu+tIyWfLMytM7wev2nOyxd8tniXIwM+w95vPu4ZIuPOCqPCnKHk24jAho5J4k5WJHIAkpc80StiuWpyvfvTQxpwK5GUY+R49+KYATOlj6rzvNb//kKHL/BgYln5bZZ0c5MH9jkJjMN5Hp+J58yJMqOsyAESX72B1BYx/yYy70NufrS201Fp+C+a6JmJr/KmDaxM1pIewfJjZYq4ZoRCCHTT4SD x-ms-exchange-antispam-messagedata: BX6BlMwDhdNulnncOwSL3to4n159EeSVv2s9MlS3sawF/jQtCNK+Dpu1ksVTSKaF+BSeMeWxJMwAVb/wGzSIghvZmvfKG4NBfCl2ALll56rmLbWpdpgrxWWFRMHeEZtGC1Uxqgc7F+YKuLTJx2jAvw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: b85a4ea5-aa66-462a-7ac0-08d7dd5c3420 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2020 14:33:57.5599 (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: 2SFJpMJnNaJmKyZsln79TvYmJAhhO9PBjuQ78xsQaLRy5jXEvrU4RILOhe3uVc512fGR5/kTUoFaqczm+JP+6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4583 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 1/4] raw/common: add multi-function interface X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Hi Pablo Thank you for reviewing and the comments - see below for resolutions. The changes will be available in v3 shortly David > -----Original Message----- > From: De Lara Guarch, Pablo > Sent: Monday, April 6, 2020 5:09 PM >=20 > Hi David, >=20 > > -----Original Message----- > > From: Coyle, David > > Sent: Friday, April 3, 2020 5:37 PM > > > > The multi-function interface provides a flexible and extensible way of > > combining one or more packet processing functions into a single > > operation. The interface can be used by applications to send the > > combined operations to a optimized software or hardware accelerator via= a > raw device. > > > > Signed-off-by: David Coyle > > Signed-off-by: Mairtin o Loingsigh > > --- > > > > In particular, looking for feedback on the meson script changes that > > were required to build the drivers/raw/common/multi_fn directory. Thank > you. > > > > config/common_base | 5 + > > drivers/meson.build | 5 + > > drivers/raw/Makefile | 1 + > > drivers/raw/common/Makefile | 8 + > > drivers/raw/common/meson.build | 7 + > > drivers/raw/common/multi_fn/Makefile | 27 ++ > > drivers/raw/common/multi_fn/meson.build | 9 + > > .../multi_fn/rte_common_multi_fn_version.map | 11 + > > drivers/raw/common/multi_fn/rte_multi_fn.c | 166 +++++++++ > > drivers/raw/common/multi_fn/rte_multi_fn.h | 350 > ++++++++++++++++++ > > .../raw/common/multi_fn/rte_multi_fn_driver.h | 55 +++ > > meson.build | 4 + > > mk/rte.app.mk | 1 + > > 13 files changed, 649 insertions(+) > > create mode 100644 drivers/raw/common/Makefile create mode 100644 > > drivers/raw/common/meson.build create mode 100644 > > drivers/raw/common/multi_fn/Makefile > > create mode 100644 drivers/raw/common/multi_fn/meson.build > > create mode 100644 > > drivers/raw/common/multi_fn/rte_common_multi_fn_version.map > > create mode 100644 drivers/raw/common/multi_fn/rte_multi_fn.c > > create mode 100644 drivers/raw/common/multi_fn/rte_multi_fn.h > > create mode 100644 drivers/raw/common/multi_fn/rte_multi_fn_driver.h > > > > diff --git a/config/common_base b/config/common_base index > > c31175f9d..4f004968b 100644 > > --- a/config/common_base > > +++ b/config/common_base > > @@ -818,6 +818,11 @@ > > CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=3Dy > > # > > CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV=3Dy > > > > +# > > +# Compile multi-fn raw device interface # > > +CONFIG_RTE_LIBRTE_MULTI_FN_COMMON=3Dn >=20 > This can be enabled by default, right? It doesn't have any external > dependency. [DC] That is true, so yes this is now enabled by default >=20 > ... >=20 > > +++ > b/drivers/raw/common/multi_fn/rte_common_multi_fn_version.map > > @@ -0,0 +1,11 @@ > > +EXPERIMENTAL { > > + global: > > + > > + rte_multi_fn_session_create; > > + rte_multi_fn_session_destroy; > > + rte_multi_fn_op_pool_create; > > + rte_multi_fn_op_bulk_alloc; > > + rte_multi_fn_op_free; >=20 > This list should be sorted alphabetically. [DC] Fixed >=20 > > + > > + local: *; > > +}; > > diff --git a/drivers/raw/common/multi_fn/rte_multi_fn.c > > b/drivers/raw/common/multi_fn/rte_multi_fn.c > > new file mode 100644 > > index 000000000..4f8e7fd94 > > --- /dev/null > > +++ b/drivers/raw/common/multi_fn/rte_multi_fn.c > > @@ -0,0 +1,166 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(c) 2020 Intel Corporation. > > + */ > > + > > +#include > > +#include >=20 > ... >=20 > > +#include >=20 > A bunch of these includes are not needed. > From what I could see, only , , , > and are needed, apart from the two > below. [DC] Most of the includes weren't needed... these have been tidied up now >=20 >=20 > > + > > +#include "rte_multi_fn_driver.h" > > +#include "rte_multi_fn.h" >=20 > ... >=20 > > +++ b/drivers/raw/common/multi_fn/rte_multi_fn.h > > @@ -0,0 +1,350 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(c) 2020 Intel Corporation. > > + */ > > + > > +#ifndef _RTE_MULTI_FN_H_ > > +#define _RTE_MULTI_FN_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include >=20 > Only and are needed. [DC] Again includes have been tidied up... left common, mbuf, mempool and c= rypto as these are referenced directly in this file rte_comp.h has been removed as he have removed compression completely from = this patchset >=20 > > + >=20 > ... >=20 > > +__rte_experimental > > +static inline void >=20 > This is a public API, so I'd say this shouldn't be inline, right? [DC] Lots of example of public APIs being inline, so no issue here >=20 > > +rte_multi_fn_op_free(struct rte_multi_fn_op *op) { > > + if (op !=3D NULL && op->mempool !=3D NULL) > > + rte_mempool_put(op->mempool, op); > > +} > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif /* _RTE_MULTI_FN_H_ */ > > diff --git a/drivers/raw/common/multi_fn/rte_multi_fn_driver.h > > b/drivers/raw/common/multi_fn/rte_multi_fn_driver.h > > new file mode 100644 > > index 000000000..7e1e57fa3 > > --- /dev/null > > +++ b/drivers/raw/common/multi_fn/rte_multi_fn_driver.h > > @@ -0,0 +1,55 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(c) 2020 Intel Corporation. > > + */ > > + > > +#ifndef _RTE_MULTI_FN_DRIVER_H_ > > +#define _RTE_MULTI_FN_DRIVER_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +#include > > +#include > > +#include > > +#include > > + >=20 > Only and are needed. > Actually, since rte_multi_fn.h is in the same folder, you can use double > quotes. [DC] Includes tidied up, only rawdev and multi_fn (in quotes) left now