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 DFF1742A68; Fri, 5 May 2023 04:09:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 857EC40ED7; Fri, 5 May 2023 04:09:58 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 1EAE5406BA for ; Fri, 5 May 2023 04:09:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683252596; x=1714788596; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=46lQHe/cyXgi0ydz05fjW5Ae4ZYt/18YgZ8XmVdoFDk=; b=gNjvVJo8RNZ535Z1rYdvCcSvchDRJYQTM7xQm7UTQJ1ie18FHOA39b+r 8OTt7tLjEvMjsEBkNjANRrbQP+/P+1/6IaC8Q0+eV1EDCY0uB9/ujUYPF UfL11ENdYu3W7t1tNhOS/XZBgBWrA55e+Kvn4dwql86X5lCo6C8P0gyYU 3nbwDdxWfe9dwz/WQcRWJFT/GldfTuxni/KJ4fXMtidOuAeFrRBFbRoMr ag3a8+3aebDuw8jq82k2/AFyxqgHDzHR8ccQ5SnVFJDvO7D/HH+vmBw7y UVUtmsUf8Wv0MhcWb9DusVzzOK2QpBELK8liSewvCPYavu2g9RE+u53pm w==; X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="349145124" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="349145124" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2023 19:09:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="697320510" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="697320510" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga002.jf.intel.com with ESMTP; 04 May 2023 19:09:43 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 19:09:42 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 19:09:42 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 4 May 2023 19:09:42 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 4 May 2023 19:09:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZpKKUSJWyP5grhl+3BNS4of/LGksl/PEzVF3Tnn06GpD41WMh6Y0fz1IjC262NbFg6UrY9euOw711dxBDCqzTQgEvmysUvSOE8aZkAECxH5BQEwVH1PnPj3MaTNGh/R1j1CoP4zn74Rm9hK9u4FOBLZqdspKe2vIylqAczAcGY7PHhY6ULxS8NT3SP7kAd4/VWh9EZhcfd5pmlgberRu7dWKkpNLLbTxMentlFUPg4hYZnZ+V5+UUPo5WI4osFPvHScEd/4QM3lzSYz5haSyjbExAl2Uja+DXW5MvnSp1eIa0H5okXpBXAZRuFyDrWMvMtBnjYHu48o0Flt+0rVTVA== 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=Ukx2p2OoPYCfstoRXL+4r6cBReDXWw3wwnmrHfKlRYo=; b=QoWT4TUURiyyJiBbOrZ6UEFA6AG09/nqlQ7BXB4dAZjZqBAAwiFGhI3Br/un/c2ZLXHXVp2xUL0h82aOCb/mPFS6yjE6MXf81KdBsZNmry/X5oACictqC462di1tLbWwa4M2TMsDSdYppxNleoOIMQt+HkV3KmQPZ0GrSpoLvcRTOZeoxAcgp6tqMtxjtYp7ya3nSb8kmSaWhjukUL9Z0tE9fRV3B7/X85iech8hUEL8HFK4wx1X203gOiuRDfdEOw2R4hUhINAyI3xJJDsV1KlPnxI96TiRARuUIzGopSdeO+5xH27RUMdIPvgJ9VQtqKmLWELpC+vVt+Vdppk5kg== 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 SN7PR11MB6775.namprd11.prod.outlook.com (2603:10b6:806:264::21) by PH7PR11MB7497.namprd11.prod.outlook.com (2603:10b6:510:270::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Fri, 5 May 2023 02:09:35 +0000 Received: from SN7PR11MB6775.namprd11.prod.outlook.com ([fe80::7972:8de5:546c:65f0]) by SN7PR11MB6775.namprd11.prod.outlook.com ([fe80::7972:8de5:546c:65f0%8]) with mapi id 15.20.6340.031; Fri, 5 May 2023 02:09:35 +0000 From: "Yan, Zhirun" To: Pavan Nikhilesh Bhagavatula , "dev@dpdk.org" , Jerin Jacob Kollanukkaran , "Kiran Kumar Kokkilagadda" , Nithin Kumar Dabilpuram , "stephen@networkplumber.org" CC: "Liang, Cunming" , "Wang, Haiyue" Subject: RE: [EXT] [PATCH v5 02/15] graph: split graph worker into common and default model Thread-Topic: [EXT] [PATCH v5 02/15] graph: split graph worker into common and default model Thread-Index: AQHZY4W8i6NUOON4Nk6PHXP3LUMdR68/XTGAgAvCi7A= Date: Fri, 5 May 2023 02:09:35 +0000 Message-ID: References: <20230330061834.3118201-1-zhirun.yan@intel.com> <20230331040306.3143693-1-zhirun.yan@intel.com> <20230331040306.3143693-3-zhirun.yan@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: SN7PR11MB6775:EE_|PH7PR11MB7497:EE_ x-ms-office365-filtering-correlation-id: d5351d6d-827c-4ea0-22c2-08db4d0dc5c0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ks+GHWiPW5+6vp451KuG555tP619yIqRAfn1LI5OHP4P/vvT5liDr1opj/mlQJ95sR6LLgz3nZ+uZIMsKsCtbZ4A8yckZPP5iv+I3iO/3F8LxTO8JTiMsKIQLgwJ+OyRwwCYGwYJjYl3MQls0TJ91XDJImbV1MEsyM1xWr1Vd98rC0T64YNwrFisAWL6nWH05WYAcw4RRhvVz+pTEbnQZ0weRiUOGycMy8pMESV2RjR1fbQvE37RS+xSXV5y+/CNS42Yxii5S0PSe2WuV1dpa4r518xexgWkZzWmexwvQOJ/EBB27Cg0IL9cYr5j3HokOV/FZJUvBZQmseDhP5OoePnkNRCIZzbvo7urro957dcVHcFTdP9hQInWuPuebvkdmMhL74iOrFiOiZCL82E1iyi7xxxde2ZGGNbFgX29reFVfBHldZciUzVwLEaQ15JfrzLBK/FLOAMVi+d8XpkagQFhTp85sym1gaKRw1XxILqFppFLnv8dJFKdt/2iWBSLpepQ1QNiXuroaoqJaWP2IKkY/J709HRbFQzCMrXRl4GGgVrixqQccmfrzkllfXrDz8oQIqsdzdf476L/7glKY/saUlJt+TKJBv2IggSthW0ym7uJtm1HcS+kz61OggO2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB6775.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(136003)(346002)(39860400002)(366004)(396003)(451199021)(7696005)(55016003)(83380400001)(26005)(53546011)(9686003)(6506007)(107886003)(186003)(38100700002)(38070700005)(86362001)(82960400001)(122000001)(33656002)(71200400001)(8676002)(8936002)(2906002)(4326008)(316002)(76116006)(66946007)(66556008)(66446008)(64756008)(66476007)(110136005)(52536014)(41300700001)(478600001)(5660300002)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?bADdKQH8NvdomhHLZt67VM3efff4QaidOubWwNr8gBjjfSv8Ld5gvYjky7h4?= =?us-ascii?Q?sKm4GviUPsktTOxZhpDp6K/1OkMEyVtNfr1eD0PZPfc3HyN4GmaE3nALcrVQ?= =?us-ascii?Q?JhdvISrGWNcuECLkIE/CToMLKfa0qsrzX0VEq+8LnF8tjvTcpUB6keenvx+W?= =?us-ascii?Q?9y5IUIbh07xE+DpsOPiXJDuYl7PHenBbVG+vJ98uQgtLSiQgRr7hCZGAcJzT?= =?us-ascii?Q?uBaguZHr22oiGWBbtvjIGovD/LemF+n8yqv9DAm1VmoZ7iFKvMFm3MZRFVRw?= =?us-ascii?Q?S3QH7q/uxyXSebUGCqqT3hmpSMRn56kIVE95VsDXM3mqWe13CqUWnrKA83hp?= =?us-ascii?Q?xvtgiduOGGBDOF+ryHvo2XkHHt/2w4UKo6TLzrNSsnNE68rNhkCIpGdcp0wo?= =?us-ascii?Q?Ffrb4gHY097OvWZZivMGQsa7vP5MZzqplghWkX7CR0hOAZKTXrphhuPVFiqd?= =?us-ascii?Q?FtQTiIeoNwwgY8WZSTxa1F6mkHcDjmuDNeqUnOaMVxnRqe5PixIPC0KltDLl?= =?us-ascii?Q?UEwGMylMrl3ZRB6PvjUJsou+lZYb7zVLpCpCvddkpkIEKOh68CvRoQbm8+zY?= =?us-ascii?Q?U0FmSOs6YSV6JEjIfeR8GjM37dotDmDERyHgYXuaMmNpuh0igvBwCAKriuzD?= =?us-ascii?Q?OdQMyQLQNqKpjr7U+a4XT/R7c9M3csY8Xjnl5Vu2xkYhXmw41S4Q0dYq3m+O?= =?us-ascii?Q?MECoye6r05XL/yR1u+uY+4pm210yy1hhXUhycu297Pb6Iq2nK0Z9fnuENpg+?= =?us-ascii?Q?beNMevpnwZySQDoHRqDavBKuWfdqqG3zTabJwsQFrbhig2gmxxQ3JoR/fdkY?= =?us-ascii?Q?AeC+ikNCiZqphrFPWQnVo4XLKfm4v7t0/0sTesFi3rvkGxsuaS/ZEhLKjYZ1?= =?us-ascii?Q?3kvoiQycO+eruqOJZb3D2g/16u3kQPjZOvrw/l7mogRDDfvLcR7eVm0jqe3a?= =?us-ascii?Q?q2chhaKeDC7kbDrG5iC2Sz8Ibb4nb3xIzlvOdoCR0P9tahFYRXDlcZEEPtfD?= =?us-ascii?Q?dSjc97HaqfNB5jev6I8uQajTGK24L2GdshO5r95nx9Co+B3gPLG5/NnBuQzM?= =?us-ascii?Q?CWYTijOkRw2Xt9WgRiZXNcCHf/wLgOP4oezrwQHXuKs/YlFcW9lfn3nImZwL?= =?us-ascii?Q?0VcerAAsohlZBMhe7u1VdMx9+aTrZ0jPdsmlYVrm4a7Nzay0weo+E0u3FoyR?= =?us-ascii?Q?PQOwkCD6QEQwlaaEDznHzfgGDxbqAvQtdVnLkiyUu+EA+6YASGqoUzriUcuh?= =?us-ascii?Q?3NDvJGCHv5eiKXzuznejx9m435eT68t/gmBclYqDZeVBiQ0FSibcSil5SNOq?= =?us-ascii?Q?tWW0K2vLs4l1NjxB+sn5vMv1WZF/1hILJmqxewUerHnlfFRpIx34VEP62W/1?= =?us-ascii?Q?TKqgJ3JEBnKMCvDNhmplEJUNf0FybfS4ke8nXPuKcdTXxKxJKAW607lHeAp2?= =?us-ascii?Q?ZF3Zj6NNcyHX3Xq4rRkHjKXWZCojZmFcrn43kZyPi6VLhBrPQIivt7yZqGMZ?= =?us-ascii?Q?ZYy/8l3xWLQz58CP8Z76RMdcD2RVw5wHgMCxtq76kAHGn2IEtEwwE9crkjYD?= =?us-ascii?Q?lifkDstqywDy7C9x2Mn6qjjgenuFzAnXLQBoOswX?= 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: SN7PR11MB6775.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5351d6d-827c-4ea0-22c2-08db4d0dc5c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2023 02:09:35.0605 (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: WLQC1fnqdh51epMtbrUbm/iDPHzc/D2rYGij2d3OkW5QPV2cCBqda2yATVgZo2Vk2twFQEyaWdE0cpK0AJN3uA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7497 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 > -----Original Message----- > From: Pavan Nikhilesh Bhagavatula > Sent: Thursday, April 27, 2023 10:11 PM > To: Yan, Zhirun ; dev@dpdk.org; Jerin Jacob > Kollanukkaran ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpuram > ; stephen@networkplumber.org > Cc: Liang, Cunming ; Wang, Haiyue > > Subject: RE: [EXT] [PATCH v5 02/15] graph: split graph worker into common= and > default model >=20 >=20 >=20 > > -----Original Message----- > > From: Zhirun Yan > > Sent: Friday, March 31, 2023 9:33 AM > > To: dev@dpdk.org; Jerin Jacob Kollanukkaran ; > > Kiran Kumar Kokkilagadda ; Nithin Kumar > > Dabilpuram ; stephen@networkplumber.org > > Cc: cunming.liang@intel.com; haiyue.wang@intel.com; Zhirun Yan > > > > Subject: [EXT] [PATCH v5 02/15] graph: split graph worker into common > > and default model > > > > External Email > > > > ---------------------------------------------------------------------- > > To support multiple graph worker model, split graph into common and > > default. Naming the current walk function as rte_graph_model_rtc cause > > the default model is RTC(Run-to-completion). > > > > Signed-off-by: Haiyue Wang > > Signed-off-by: Cunming Liang > > Signed-off-by: Zhirun Yan > > --- > > lib/graph/graph_pcap.c | 2 +- > > lib/graph/graph_private.h | 2 +- > > lib/graph/meson.build | 2 +- > > lib/graph/rte_graph_model_rtc.h | 61 > > +++++++++++++++++++++++++++++ > > lib/graph/rte_graph_worker.h | 34 ++++++++++++++++ > > lib/graph/rte_graph_worker_common.h | 57 --------------------------- > > 6 files changed, 98 insertions(+), 60 deletions(-) create mode > > 100644 lib/graph/rte_graph_model_rtc.h create mode 100644 > > lib/graph/rte_graph_worker.h > > > > diff --git a/lib/graph/graph_pcap.c b/lib/graph/graph_pcap.c index > > 8a220370fa..6c43330029 100644 > > --- a/lib/graph/graph_pcap.c > > +++ b/lib/graph/graph_pcap.c > > @@ -10,7 +10,7 @@ > > #include > > #include > > > > -#include "rte_graph_worker_common.h" > > +#include "rte_graph_worker.h" > > > > #include "graph_pcap_private.h" > > > > diff --git a/lib/graph/graph_private.h b/lib/graph/graph_private.h > > index f08dbc7e9d..7d1b30b8ac 100644 > > --- a/lib/graph/graph_private.h > > +++ b/lib/graph/graph_private.h > > @@ -12,7 +12,7 @@ > > #include > > > > #include "rte_graph.h" > > -#include "rte_graph_worker_common.h" > > +#include "rte_graph_worker.h" > > > > extern int rte_graph_logtype; > > > > diff --git a/lib/graph/meson.build b/lib/graph/meson.build index > > 4e2b612ad3..3526d1b5d4 100644 > > --- a/lib/graph/meson.build > > +++ b/lib/graph/meson.build > > @@ -16,6 +16,6 @@ sources =3D files( > > 'graph_populate.c', > > 'graph_pcap.c', > > ) > > -headers =3D files('rte_graph.h', 'rte_graph_worker_common.h') > > +headers =3D files('rte_graph.h', 'rte_graph_worker.h') > > > > deps +=3D ['eal', 'pcapng'] > > diff --git a/lib/graph/rte_graph_model_rtc.h > > b/lib/graph/rte_graph_model_rtc.h new file mode 100644 index > > 0000000000..665560f831 > > --- /dev/null > > +++ b/lib/graph/rte_graph_model_rtc.h > > @@ -0,0 +1,61 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(C) 2023 Intel Corporation */ > > + >=20 > Please retain Marvell copyright too. >=20 Yes, I will do in next version. Thanks for reminding me. > > +#include "rte_graph_worker_common.h" > > + > > +/** > > + * Perform graph walk on the circular buffer and invoke the process > > function > > + * of the nodes and collect the stats. > > + * > > + * @param graph > > + * Graph pointer returned from rte_graph_lookup function. > > + * > > + * @see rte_graph_lookup() > > + */ > > +static inline void > > +rte_graph_walk_rtc(struct rte_graph *graph) { > > + const rte_graph_off_t *cir_start =3D graph->cir_start; > > + const rte_node_t mask =3D graph->cir_mask; > > + uint32_t head =3D graph->head; > > + struct rte_node *node; > > + uint64_t start; > > + uint16_t rc; > > + void **objs; > > + > > + /* > > + * Walk on the source node(s) ((cir_start - head) -> cir_start) and > > then > > + * on the pending streams (cir_start -> (cir_start + mask) -> cir_sta= rt) > > + * in a circular buffer fashion. > > + * > > + * +-----+ <=3D cir_start - head [number of source nodes] > > + * | | > > + * | ... | <=3D source nodes > > + * | | > > + * +-----+ <=3D cir_start [head =3D 0] [tail =3D 0] > > + * | | > > + * | ... | <=3D pending streams > > + * | | > > + * +-----+ <=3D cir_start + mask > > + */ > > + while (likely(head !=3D graph->tail)) { > > + node =3D (struct rte_node *)RTE_PTR_ADD(graph, > > cir_start[(int32_t)head++]); > > + RTE_ASSERT(node->fence =3D=3D RTE_GRAPH_FENCE); > > + objs =3D node->objs; > > + rte_prefetch0(objs); > > + > > + if (rte_graph_has_stats_feature()) { > > + start =3D rte_rdtsc(); > > + rc =3D node->process(graph, node, objs, node->idx); > > + node->total_cycles +=3D rte_rdtsc() - start; > > + node->total_calls++; > > + node->total_objs +=3D rc; > > + } else { > > + node->process(graph, node, objs, node->idx); > > + } > > + node->idx =3D 0; > > + head =3D likely((int32_t)head > 0) ? head & mask : > > head; > > + } > > + graph->tail =3D 0; > > +} > > diff --git a/lib/graph/rte_graph_worker.h > > b/lib/graph/rte_graph_worker.h new file mode 100644 index > > 0000000000..7ea18ba80a > > --- /dev/null > > +++ b/lib/graph/rte_graph_worker.h > > @@ -0,0 +1,34 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(C) 2023 Intel Corporation */ > > + > > +#ifndef _RTE_GRAPH_WORKER_H_ > > +#define _RTE_GRAPH_WORKER_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +#include "rte_graph_model_rtc.h" > > + > > +/** > > + * Perform graph walk on the circular buffer and invoke the process > > function > > + * of the nodes and collect the stats. > > + * > > + * @param graph > > + * Graph pointer returned from rte_graph_lookup function. > > + * > > + * @see rte_graph_lookup() > > + */ > > +__rte_experimental > > +static inline void > > +rte_graph_walk(struct rte_graph *graph) { > > + rte_graph_walk_rtc(graph); > > +} > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif /* _RTE_GRAPH_WORKER_H_ */ > > diff --git a/lib/graph/rte_graph_worker_common.h > > b/lib/graph/rte_graph_worker_common.h > > index 0bad2938f3..b58f8f6947 100644 > > --- a/lib/graph/rte_graph_worker_common.h > > +++ b/lib/graph/rte_graph_worker_common.h > > @@ -128,63 +128,6 @@ __rte_experimental void > > __rte_node_stream_alloc_size(struct rte_graph *graph, > > struct rte_node *node, uint16_t req_size); > > > > -/** > > - * Perform graph walk on the circular buffer and invoke the process > > function > > - * of the nodes and collect the stats. > > - * > > - * @param graph > > - * Graph pointer returned from rte_graph_lookup function. > > - * > > - * @see rte_graph_lookup() > > - */ > > -__rte_experimental > > -static inline void > > -rte_graph_walk(struct rte_graph *graph) -{ > > - const rte_graph_off_t *cir_start =3D graph->cir_start; > > - const rte_node_t mask =3D graph->cir_mask; > > - uint32_t head =3D graph->head; > > - struct rte_node *node; > > - uint64_t start; > > - uint16_t rc; > > - void **objs; > > - > > - /* > > - * Walk on the source node(s) ((cir_start - head) -> cir_start) and > > then > > - * on the pending streams (cir_start -> (cir_start + mask) -> cir_sta= rt) > > - * in a circular buffer fashion. > > - * > > - * +-----+ <=3D cir_start - head [number of source nodes] > > - * | | > > - * | ... | <=3D source nodes > > - * | | > > - * +-----+ <=3D cir_start [head =3D 0] [tail =3D 0] > > - * | | > > - * | ... | <=3D pending streams > > - * | | > > - * +-----+ <=3D cir_start + mask > > - */ > > - while (likely(head !=3D graph->tail)) { > > - node =3D (struct rte_node *)RTE_PTR_ADD(graph, > > cir_start[(int32_t)head++]); > > - RTE_ASSERT(node->fence =3D=3D RTE_GRAPH_FENCE); > > - objs =3D node->objs; > > - rte_prefetch0(objs); > > - > > - if (rte_graph_has_stats_feature()) { > > - start =3D rte_rdtsc(); > > - rc =3D node->process(graph, node, objs, node->idx); > > - node->total_cycles +=3D rte_rdtsc() - start; > > - node->total_calls++; > > - node->total_objs +=3D rc; > > - } else { > > - node->process(graph, node, objs, node->idx); > > - } > > - node->idx =3D 0; > > - head =3D likely((int32_t)head > 0) ? head & mask : head; > > - } > > - graph->tail =3D 0; > > -} > > - > > /* Fast path helper functions */ > > > > /** > > -- > > 2.37.2