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 96360A0562; Fri, 3 Apr 2020 11:26:51 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CF31C1C12C; Fri, 3 Apr 2020 11:26:50 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id B9B2A1C126 for ; Fri, 3 Apr 2020 11:26:48 +0200 (CEST) IronPort-SDR: xf/8fhCuMuV22i62So6SGoEJ6wwjCfCxQPLWJosnaK3ZbxdjYBkO+v3u8wIOIm8A1fT+xUwPwf 9KFP84cykp9w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2020 02:26:47 -0700 IronPort-SDR: nT09rU6djLp0SFX8BtzIMG76SrSbsqF7XJ8Axhapc+tGjBg74f0emN+AJyRouz7lszcJ/6kUs/ V0ElrNx7ZVKg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,339,1580803200"; d="scan'208";a="241078030" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga007.fm.intel.com with ESMTP; 03 Apr 2020 02:26:47 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 3 Apr 2020 02:26:47 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 3 Apr 2020 02:26:47 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.42) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 3 Apr 2020 02:26:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kNNsT0Z6WiHgsgp8/y77WsffmdvXzpKTFwekgoxKufikER8QZNNin5KDlMeRrlPGIab2DABTkyN8Zm5K7dh6DCXcxGa+EPvA4UFi9dFSWsZwlHhRxB0iWWv90fZWgQ5sNRejx0LSPUou2BpfiCJEbTi72DZrirxYUcaQ+yz7Jd1TQwQk4HeFN7r8fEFdBDSaqbL+951xVdu2EpuZHchI/cMMiUY6tLYliUjEKD+0ZhtBx2HIjV6p7DnqN7TZLSQ64pskj1v+KbSAD3U0wr6wFfqMEdN0rU1c8btHt/CXD1dNIwbSrAUJiIF8q8QDkQB6NpgRHJvBDoKpPLOCgW1CEw== 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=0/dXu00iqhblI8Z7zBRZarYe2T8RUDhWRYNLtnhDYGI=; b=N7CQFTqDR71gtJ9HJYrGtzdJoBiDpHhCQ0Px82H5FJCZMro+QlmYA+zDRR+ZhmOA5VoCUNXydCDut8pcwHOhiVsvUIBku7MyzRmXa9Hav8jnUTjhDBrHYrbB2BoJTwX8SihrAkaTUnWPM0hdXMT+KcO2GT2aOqcZKiQN33ODaFDe75b+YbkIxjtCyDnJcTb28trcGlgily81JSLg1KcW+hCGLkW5JdscBzw+fGjOSxvzFoZBOOBbrdalo2pi5q5Ahx6+QXhkAR1/+42afAbObYv0e27U+5srGW+PBr4qTAGoBP+j/STn7MuMS7InV6C0Tql3fU001D2C+xfpxVgDEQ== 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=0/dXu00iqhblI8Z7zBRZarYe2T8RUDhWRYNLtnhDYGI=; b=c77wvbNP67KPckX6y8q5eCmzblwYXAaKz6GGDtmywC+nLzRsrYyqc1eknvi3b2wCfgNeMlC6B9/q/6PvYFzSQ0IFBr9PYTgIb4vwAwfLXuQjrJusjMuFEPh0rjTfKzP5g/vm/I3kYA9PnE8KbLcBMPJDhHcVtKPWYAHDqvzjTDg= Received: from BN6PR11MB1473.namprd11.prod.outlook.com (2603:10b6:405:a::16) by BN6PR11MB1539.namprd11.prod.outlook.com (2603:10b6:405:f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.15; Fri, 3 Apr 2020 09:26:44 +0000 Received: from BN6PR11MB1473.namprd11.prod.outlook.com ([fe80::d013:5d99:e57e:570e]) by BN6PR11MB1473.namprd11.prod.outlook.com ([fe80::d013:5d99:e57e:570e%7]) with mapi id 15.20.2856.019; Fri, 3 Apr 2020 09:26:44 +0000 From: "Wang, Xiao W" To: "jerinj@marvell.com" , Thomas Monjalon , "Richardson, Bruce" , "Mcnamara, John" , "Kovacevic, Marko" , Kiran Kumar K CC: "dev@dpdk.org" , "david.marchand@redhat.com" , "mdr@ashroe.eu" , "mattias.ronnblom@ericsson.com" , "pbhagavatula@marvell.com" , "ndabilpuram@marvell.com" Thread-Topic: [dpdk-dev] [PATCH v3 01/29] graph: define the public API for graph support Thread-Index: AQHWB5LqvO5wZnROP0GJwEhEhj0u+ahnIXRQ Date: Fri, 3 Apr 2020 09:26:44 +0000 Message-ID: References: <20200326165644.866053-1-jerinj@marvell.com> <20200331192945.2466880-1-jerinj@marvell.com> <20200331192945.2466880-2-jerinj@marvell.com> In-Reply-To: <20200331192945.2466880-2-jerinj@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xiao.w.wang@intel.com; x-originating-ip: [192.102.204.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2dc7ba84-665d-4d59-2dba-08d7d7b12010 x-ms-traffictypediagnostic: BN6PR11MB1539: 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:79; x-forefront-prvs: 0362BF9FDB x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB1473.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(346002)(39860400002)(136003)(376002)(396003)(366004)(33656002)(110136005)(54906003)(4326008)(55016002)(9686003)(5660300002)(86362001)(316002)(71200400001)(52536014)(2906002)(186003)(26005)(478600001)(6506007)(53546011)(76116006)(66556008)(66476007)(81166006)(81156014)(7696005)(8936002)(64756008)(66946007)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JRVhOfny9EF+k5v7e+4u4vf431MWz/KwAHHkQLbhbu8ebt4BFeds2sgFgDEByybzRNtcIJ3RrHssuVdtP8jYoda0n4qn1DUSIUzBELJWvtcT77XWLcpnJbwe+ts5zSM/kHTnx6XZuXgTmPx+1XxvBS4pN+Cb0OKRMxHTQDgVwfDY+jQsWCV5kFQSVtcIZFwCiPAp0lj9rJ+5fiYMeBMumwbdj2cu+WBafHEN9tldDWuHzt5X4tG0adqdhqL0QIDOdHx26tRpdJiXihjeatS5gQcLyydGC3hv6F6L60UZE+S05mJMFB5f479dNJSCsmY+rucQr1kP4cFfx8/lVPrSTNTiVbJydySCaxWn8eIprVmMwmFq0G/Oc972nseuLHhV8r1eowGa7TtdaUn6BqqSvOBugr+o5w01OKU2C+LSRquAFZqZw3SpkbRAKufEVTOl x-ms-exchange-antispam-messagedata: vvLzAQp9ez6Lja/+/LQ4WO4sbWUt/aDA+NO0A3DUvhDXByPyZdBrbLpzSE3c7UHJ3DNzQPdYpdQpOOa8PnkkuTanvwqfriB49U7mChurosO1iAK1KnWgr4U6w3kJpDkEmg5Cr3tKJ65QDVb/CQFGtw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 2dc7ba84-665d-4d59-2dba-08d7d7b12010 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2020 09:26:44.2739 (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: oa46zkqnIVQI3ckY5eB2d1OHAalNATHI0uGzOw6NmdFtm5bvJaxnQSQEW/ZpJBUhDXySWFQGC4w9SVugHTu76A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1539 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 01/29] graph: define the public API for graph support 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 Jerin, Found small typos on this patch. Please check comments inline. Best Regards, Xiao > -----Original Message----- > From: dev On Behalf Of jerinj@marvell.com > Sent: Wednesday, April 1, 2020 3:29 AM > To: Thomas Monjalon ; Richardson, Bruce > ; Mcnamara, John ; > Kovacevic, Marko ; Jerin Jacob > ; Kiran Kumar K > Cc: dev@dpdk.org; david.marchand@redhat.com; mdr@ashroe.eu; > mattias.ronnblom@ericsson.com; pbhagavatula@marvell.com; > ndabilpuram@marvell.com > Subject: [dpdk-dev] [PATCH v3 01/29] graph: define the public API for gra= ph > support >=20 > From: Jerin Jacob >=20 > Graph architecture abstracts the data processing functions as > "node" and "link" them together to create a complex "graph" to enable > reusable/modular data processing functions. >=20 > These APIs enables graph framework operations such as create, lookup, > dump and destroy on graph and node operations such as clone, > edge update, and edge shrink, etc. The API also allows creating the > stats cluster to monitor per graph and per node stats. >=20 > This patch defines the public API for graph support. > This patch also adds support for the build infrastructure and > update the MAINTAINERS file for the graph subsystem. >=20 > Signed-off-by: Jerin Jacob > Signed-off-by: Kiran Kumar K > Signed-off-by: Pavan Nikhilesh > Signed-off-by: Nithin Dabilpuram > --- > MAINTAINERS | 5 + > config/common_base | 7 + > config/rte_config.h | 4 + > doc/api/doxy-api-index.md | 1 + > doc/api/doxy-api.conf.in | 1 + > lib/Makefile | 3 + > lib/librte_graph/Makefile | 22 + > lib/librte_graph/graph.c | 5 + > lib/librte_graph/meson.build | 11 + > lib/librte_graph/rte_graph.h | 786 +++++++++++++++++++++++++ > lib/librte_graph/rte_graph_version.map | 3 + > lib/meson.build | 2 +- > mk/rte.app.mk | 1 + > 13 files changed, 850 insertions(+), 1 deletion(-) > create mode 100644 lib/librte_graph/Makefile > create mode 100644 lib/librte_graph/graph.c > create mode 100644 lib/librte_graph/meson.build > create mode 100644 lib/librte_graph/rte_graph.h > create mode 100644 lib/librte_graph/rte_graph_version.map >=20 > diff --git a/MAINTAINERS b/MAINTAINERS > index db235c2cc..bc7085983 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1469,6 +1469,11 @@ F: examples/bpf/ > F: app/test/test_bpf.c > F: doc/guides/prog_guide/bpf_lib.rst >=20 > +Graph - EXPERIMENTAL > +M: Jerin Jacob > +M: Kiran Kumar K > +F: lib/librte_graph/ > + [...] > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Create graph stats cluster to aggregate runtime node stats. > + * > + * @param prm > + * Parameters including file pointer to dump stats, > + * Graph pattern to create cluster and callback function. > + * > + * @return > + * Valid pointer on success, NULL otherwise. > + */ > +__rte_experimental > +struct rte_graph_cluster_stats *rte_graph_cluster_stats_create( > + const struct rte_graph_cluster_stats_param *prm); > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Destroy cluster stats. > + * > + * @param stat > + * Valid cluster pointer to destroy. > + * This empty line can be removed. > + */ > +__rte_experimental > +void rte_graph_cluster_stats_destroy(struct rte_graph_cluster_stats *sta= t); > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice [...] > +#define RTE_NODE_REGISTER(node) = \ > + RTE_INIT(rte_node_register_##node) = \ > + { = \ > + node.parent_id =3D RTE_NODE_ID_INVALID; \ > + node.id =3D __rte_node_register(&node); \ > + } > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Clone a node from static node(node created from RTE_NODE_REGISTER). > + * > + * @param id > + * Static node id to clone from. > + * @param name > + * Name of the new node. The library prepends the parent node name to = the > + * user-specified the name. The final node name will be, Change it to "the user-specified name".