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 8149845844; Thu, 22 Aug 2024 08:38:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 49DB742E5D; Thu, 22 Aug 2024 08:37:56 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id C014A42E60 for ; Thu, 22 Aug 2024 08:37:54 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47LKKI9p025587; Wed, 21 Aug 2024 23:37:51 -0700 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 415aw2mmn6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 21 Aug 2024 23:37:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NFrXd9KRM7Gfl3kPlFNtf1gmbgBmi6G7bpoXTXbCvBtvi8GIa5tuXWoaY1U6/0L+MLAGQ6nta60PsN7wRxt96snatZrD4dx/8GwXcGOrEvyCI/FXr4KrDpcJEVuAmh7edMc5oIYD0dc6BTnh6ftYomWE8jkcYuAmq9pR+6nlhKEFJkQZktzZCu5A5i00p2uJCgg2TcNWZLGn6KGe8cht+PwcohOzbOdiSZ2+bwA86gzlKbkm8C/F2/MKUbaGFXjQNqG5u7GYdwOM7F66OKr1XH/2z/xx0/rwhMm/jc1ZPYLswnMgolid4QBJCmtfJPKypzhKMga55v70PfU79108/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1a0v1SrsXQJHKm+ziO5PXXoRbdaF9/fD9DRHcxVek/8=; b=qLNov1RDFaJbH6r/EDHWQt2MDzU49fuig1HHbR+AqHror0vXiyHvi9v7cc1DNAvg1lOaZvYySi0kjhU3BzkC8bqZPHqRTKfqL0xj6EgVDYXmFYfoEHkJi1ZE0P8zK4zFbepEo1X285Ugl4QAtkdByBkBv0HQ4o3eymd/JQJzdJKglRrDArLoQwoYocEHbmBJ3zUJzjrkzutqQdcAdR+IwcXRGSHlQQgkBnQI9tt920Om6URgWUXvv0zbNO/elM8jNJt2GJkRztsEciFfzOnGMwAU+5KttQtamANkmeb+5wJX3r+4Fyr8yC4reuTvqchzYPtQsemYNtgD3ywTLeUAsg== 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.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1a0v1SrsXQJHKm+ziO5PXXoRbdaF9/fD9DRHcxVek/8=; b=RIrDGBxNv43sgOd0rVbjxuY+zycaTfWguxThPpxMOG1s1+cHtSFmvdQN1RTBZm/nEB5xKfPwdBwxmSh1balnwuggY+OFMxKpifxG6hHZW1p/BAmMT/KQuvOGuM2VFaiImBjydIunB9aPPg5atEJJOfIVGbBhMVnAsCK/KmOPG4Y= Received: from PH0PR18MB5071.namprd18.prod.outlook.com (2603:10b6:510:16b::15) by PH7PR18MB5101.namprd18.prod.outlook.com (2603:10b6:510:157::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.21; Thu, 22 Aug 2024 06:37:48 +0000 Received: from PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::25e:7:91b:8f1c]) by PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::25e:7:91b:8f1c%5]) with mapi id 15.20.7875.023; Thu, 22 Aug 2024 06:37:48 +0000 From: Kiran Kumar Kokkilagadda To: Pavan Nikhilesh Bhagavatula , Jerin Jacob , Nithin Kumar Dabilpuram , "zhirun.yan@intel.com" , Zhirun Yan CC: "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula Subject: RE: [PATCH v4 3/5] graph: add stats for node specific errors Thread-Topic: [PATCH v4 3/5] graph: add stats for node specific errors Thread-Index: AQHa7+5bDx6pyZbkUkGhA2NmQe3NTrIy27Nw Date: Thu, 22 Aug 2024 06:37:48 +0000 Message-ID: References: <20240222122342.16375-1-pbhagavatula@marvell.com> <20240816150926.5789-1-pbhagavatula@marvell.com> <20240816150926.5789-3-pbhagavatula@marvell.com> In-Reply-To: <20240816150926.5789-3-pbhagavatula@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5071:EE_|PH7PR18MB5101:EE_ x-ms-office365-filtering-correlation-id: 118690c8-7c53-4d63-872e-08dcc274f052 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?XSL/J13XxSLeeYE2Wlepfjj38vsRn0hWvtqU3rpITTuBvNpcsViMTmhozFlJ?= =?us-ascii?Q?P2mz3S8XmGBezu8+e+pEMJITfyn/y7hK2rxG6Cua8s1yAYty8e5t3wCVT8o0?= =?us-ascii?Q?RH+ZRE11OD2ZhdcrtEbb7jmQnGhilLLcINQRFm/7kwyM4HDa5muI9pf+oZuK?= =?us-ascii?Q?xPO5UO3RWWc+8q92rvDO/eON5TLVxGlbxpVMd4NTusCdUk/+7rNHLc0Yv1M2?= =?us-ascii?Q?mCSHalvgPTltku7O++9xE/ebfjgtkppbUqBSB3CxixLtGTEh05B2+B/tj8e6?= =?us-ascii?Q?nEyFnsl1xFiF40QitJlBwhkt0RobGBeoFLA1dfpZmks4YkxUFZr3tmkLPKqB?= =?us-ascii?Q?jLrBCynQFOYQRnw9a7KvxoL00t3Rn0FHMN7PyqU3rJdRiCA5daaFzWkR+XFW?= =?us-ascii?Q?VHqxJxIrqxLD0S8RG6dagPN3OmA2CyWDAR8WThs8zVf5dKq0KAsP/JT0Vzck?= =?us-ascii?Q?mSSkPXc302uk1Texm0BtAaX/HelpVyIVLxszw7VUy0TcavbbAsyPX5r2jFTl?= =?us-ascii?Q?OzoeCRHRR+Ohp39SuAAO8MiWzjrm7Yw89sD78H/ouAY2z5vn10upx6K0/qfp?= =?us-ascii?Q?u1Hf7buGA5qQH0vpvCnbaWVFm0hxxljwdMxQq1EU9YvT0cw0SDu7p55rXx0F?= =?us-ascii?Q?yjgfK0E20OyujytpevA+to9TSNecEI99uNkOeRH+LmcFxATOD5sIexDJz28i?= =?us-ascii?Q?ZR+0/809+ul1/sxSLqr9r/LohfO2ktxWP/+9vNr/yV3clX5But3rQYnR8B96?= =?us-ascii?Q?+mzYYMFxa9s89YwA4PMdKpuSBJk2tPHEcyv5rHyKizLY5T6zp3FrqJpgzkbd?= =?us-ascii?Q?ekUJcXxEQ4dpb2BXvb2Qsse3Twe88ptmjDvURGDw7GZs8ZZGavfg86vSYkQt?= =?us-ascii?Q?Wfd7F14Li8lhtlsJVNRIoZt+BJTpgJ6AzF114z7W4wN4mY4jFm/xNyXk0i02?= =?us-ascii?Q?6yIEikXRgmktCMMRwsOYopdTO8NGhS58iO1NvndfC7prT3un3puJaUrpONyM?= =?us-ascii?Q?9JPOLpvJZTLOs4kY19cU0U+lhD9TawgfwL84+9GGFBv4n+Du+gTs1IJUF201?= =?us-ascii?Q?o7fmUT003sUrjXhLPXvtnw/V3aZEAlWQjJKjER/H0f1BWLlZNGQfGtpcsZZu?= =?us-ascii?Q?K0wtuYJTDc+j5Lu3APeSvhnPswQ2yTnUblgzfFqoWO8Mn+Njwc4TFkaxM/9c?= =?us-ascii?Q?Bh2s2jPDOr1+YAMuPOmnAe8IdZS6lRRI1MR0aJffLCtjpT6au02Mm6BSQaNt?= =?us-ascii?Q?jFcpeOSYYqQtVSIl3/Ctl2HVig0QzUDdFW+vjSpsz6m5K2S8Yd8D67h60+c7?= =?us-ascii?Q?31GPbf9FRDQHIx6HGwpaoIVfawKb6Fg6u4L0o2oREzXJK3mT9jMWYCYWEGtZ?= =?us-ascii?Q?IufGGJ28b2LphZFiOD03Xw3KASQFZv8X+r+J5VwokuUJQ9LxMw=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5071.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?6y/r8a8mDOJepHvbbBLOPyjk74dO3fch+BuGwz6v4+mZQdkRGd38axHi6Pik?= =?us-ascii?Q?D9Pu1QS/vhE6ZDZOO3CGOP4sEqAOQXC35DZV7eyudoFhnMFK80esEd5YGCVy?= =?us-ascii?Q?WlVvYSCw0DD0504iU6XsZ79jhwpZw7eVSpqV9/y4lb/AYnUxkiXuzwRJvbIc?= =?us-ascii?Q?GalpWQntmPxboOuogUqKEfQ1oPVBA9G3cKuXGQsxB8pypGntF4A/gpK0coQ0?= =?us-ascii?Q?Jj7BCc/fC4SeFsqRmaFnnh5luXdNneh+cm28ZWSRbN473CShNagYdVIkmRUl?= =?us-ascii?Q?rGXa/WgEB/uWcRcf9tcSVVfaM3zWGJJfXkBbq7+GRUxt6CltrpMmtNCrT/7b?= =?us-ascii?Q?6eqERIMPLwczhg/gv9sXlXrw9aDwJx5WbBmgKpOprYgVlN6OXmnHjckf/Ua6?= =?us-ascii?Q?BgpXawsmUIzmyIJS8iw6VMqircr3Aq1ktGFoNCX2cFTUp+QkgiAthrOYA4ao?= =?us-ascii?Q?5WGOLCPRxhUCo7Zytrf3fU3R0C3OqhtOgWvdhrn2Nx+ksUw+iFumv1mtshen?= =?us-ascii?Q?u7amlFEdMUFpL07UXMsjhCtoF+W9RG1QlmleODlGEy1Qq+A7eMG8ltSSUesy?= =?us-ascii?Q?YEoZbM15SXmwGeefUjhhnoEwCKW9yOAHsD1Arwy6HZexEMTLRxjYlKeT42Qa?= =?us-ascii?Q?xs5KQwpFHJkI5O6ruNXv+Z+mv6r35CpirmNSwG7J7l15XxdVYAubuJ2Uz+7D?= =?us-ascii?Q?J5bv6hK8qSbSvXt/yzRuhfMlrWGN9H9SHE2Mq0lWLBTCmnkcj6q1X890kBF9?= =?us-ascii?Q?Nbp90tLELReNRqNW8Ulqdo5MBE2U32OzXyChMq8VPfM/MzZHZsGyDyeiqU4Q?= =?us-ascii?Q?b7s9dT1SxbfeoUmYB+ZfClMbew64bE1m9SRgZG9QxPqzEF/i/WPVT0I5xTCh?= =?us-ascii?Q?OGF0JNfPzmVWUM9n7qgSlRmHd9wde6MLwnWk7MB1PbATz4HDRJxJhO3vbozb?= =?us-ascii?Q?5UNIJBNE4Tlm6yMXLjh0YIYG5oXmngHBDBU9DKKnRGPP76NMsFchRfPdgatF?= =?us-ascii?Q?D5M2VeUL/J7T77XH6JvE6J/Fctt968RaPmNXvCApBuUG/mEy5aB6Eeq96QIL?= =?us-ascii?Q?1/kzeRhAmNGuyjn5dlWLFdD0kHnbvVZHnGRbs07Z5Ws/YG4UWhKu5CicUxA/?= =?us-ascii?Q?yyrsF5HmFNIDA3M9BXx4yu/OoJCy3SHMoBIURvRIOC4PyNU4gAr7e3qEwtIZ?= =?us-ascii?Q?HFJJzTW2CmcNTN7OjlNGjRZowrY6Q/aJGuuDW2tWfyecnRSFa67g0fr2Bj/l?= =?us-ascii?Q?XTYw0AeS1k1vWpCjLoXSBmvdrcD6nQUL8sVkL4ayqZoOhiw5YSiMaUIrt9Bf?= =?us-ascii?Q?RmFflqnzribgsFJ8rkMxITJSxSZZIH8+RFVIijzY+jd3T2hDgy+rwgyMxiv+?= =?us-ascii?Q?vxufraVS4y1lR8YgvxHjTrBLkVj72U+kS8pruNfc6PM8CAEpINGKBHOP/fav?= =?us-ascii?Q?O4ETB81aOqxUSTU4I4effmEM3+xs85Yw02WfBhDscIO5Whlj6OoRRIwbHBV5?= =?us-ascii?Q?OdXMlsewcWm5/PQ4IeTXg0XrT/VcSkMpBxNGzP4bhPLvGenprD5NdtScWKtn?= =?us-ascii?Q?cDJPpvKqBdAkKC/BsoRR1BUbkulVA3OxgcRm4UEa?= 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: PH0PR18MB5071.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 118690c8-7c53-4d63-872e-08dcc274f052 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2024 06:37:48.3499 (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: v9CI+IGM4BB7Kzn2RDsQovQPIX7wjjEcJFjLArX/ThLCUZwOt+dQPTCU6k+epPv5vpp7pcDfN9gJxiNDAqOxwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR18MB5101 X-Proofpoint-GUID: tJDqo9rdxI3nMYVfaGcHhIogc6G18bJD X-Proofpoint-ORIG-GUID: tJDqo9rdxI3nMYVfaGcHhIogc6G18bJD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-08-22_03,2024-08-19_03,2024-05-17_01 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: pbhagavatula@marvell.com > Sent: Friday, August 16, 2024 8:39 PM > To: Jerin Jacob ; Nithin Kumar Dabilpuram > ; Kiran Kumar Kokkilagadda > ; zhirun.yan@intel.com; Zhirun Yan > > Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula > Subject: [PATCH v4 3/5] graph: add stats for node specific errors >=20 > From: Pavan Nikhilesh >=20 > Add support for retrieving/printing stats for node specific errors using > rte_graph_cluster_stats_get(). >=20 > Signed-off-by: Pavan Nikhilesh > --- Acked-by: Kiran Kumar Kokkilagadda > lib/graph/graph_stats.c | 79 ++++++++++++++++++++++++++++++++++++++++- > lib/graph/rte_graph.h | 4 +++ > 2 files changed, 82 insertions(+), 1 deletion(-) >=20 > diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c index > d71451a17b..1ac0a6797f 100644 > --- a/lib/graph/graph_stats.c > +++ b/lib/graph/graph_stats.c > @@ -121,6 +121,25 @@ print_node(FILE *f, const struct > rte_graph_cluster_node_stats *stat, bool dispat > } > } >=20 > +static inline void > +print_err(FILE *f, const struct rte_graph_cluster_node_stats *stat, > +bool dispatch) { > + int i; > + > + if (dispatch) { > + for (i =3D 0; i < stat->node_error_cntrs; i++) > + fprintf(f, > + "|\t%-24s|%15s|%-15" PRIu64 > "|%15s|%15s|%15s|%15s|%15s|%11.4s|\n", > + stat->node_error_desc[i], "", stat- > >node_error_count[i], "", "", "", > + "", "", ""); > + } else { > + for (i =3D 0; i < stat->node_error_cntrs; i++) > + fprintf(f, "|\t%-24s|%15s|%-15" PRIu64 > "|%15s|%15.3s|%15.6s|%11.4s|\n", > + stat->node_error_desc[i], "", stat- > >node_error_count[i], "", "", "", > + ""); > + } > +} > + > static int > graph_cluster_stats_cb(bool dispatch, bool is_first, bool is_last, void = *cookie, > const struct rte_graph_cluster_node_stats *stat) @@ -129,8 > +148,11 @@ graph_cluster_stats_cb(bool dispatch, bool is_first, bool is_l= ast, void > *cookie, >=20 > if (unlikely(is_first)) > print_banner(f, dispatch); > - if (stat->objs) > + if (stat->objs) { > print_node(f, stat, dispatch); > + if (stat->node_error_cntrs) > + print_err(f, stat, dispatch); > + } > if (unlikely(is_last)) { > if (dispatch) > boarder_model_dispatch(); > @@ -203,6 +225,7 @@ stats_mem_populate(struct rte_graph_cluster_stats > **stats_in, > struct cluster_node *cluster; > struct rte_node *node; > rte_node_t count; > + uint8_t i; >=20 > cluster =3D stats->clusters; >=20 > @@ -240,6 +263,36 @@ stats_mem_populate(struct rte_graph_cluster_stats > **stats_in, > SET_ERR_JMP(ENOENT, free, "Failed to find node %s in graph > %s", > graph_node->node->name, graph->name); > cluster->nodes[cluster->nb_nodes++] =3D node; > + if (graph_node->node->errs) { > + cluster->stat.node_error_cntrs =3D graph_node->node->errs- > >nb_errors; > + cluster->stat.node_error_count =3D rte_zmalloc_socket( > + NULL, sizeof(uint64_t) * graph_node->node->errs- > >nb_errors, > + RTE_CACHE_LINE_SIZE, stats->socket_id); > + if (cluster->stat.node_error_count =3D=3D NULL) > + SET_ERR_JMP(ENOMEM, free, "Failed to allocate > memory node %s graph %s", > + graph_node->node->name, graph->name); > + > + cluster->stat.node_error_desc =3D rte_zmalloc_socket( > + NULL, sizeof(RTE_NODE_ERROR_DESC_SIZE) * > graph_node->node->errs->nb_errors, > + RTE_CACHE_LINE_SIZE, stats->socket_id); > + if (cluster->stat.node_error_desc =3D=3D NULL) { > + rte_free(cluster->stat.node_error_count); > + SET_ERR_JMP(ENOMEM, free, "Failed to allocate > memory node %s graph %s", > + graph_node->node->name, graph->name); > + } > + > + for (i =3D 0; i < cluster->stat.node_error_cntrs; i++) { > + if (rte_strscpy(cluster->stat.node_error_desc[i], > + graph_node->node->errs->err_desc[i], > + RTE_NODE_ERROR_DESC_SIZE) < 0) { > + rte_free(cluster->stat.node_error_count); > + rte_free(cluster->stat.node_error_desc); > + SET_ERR_JMP(E2BIG, free, > + "Error description overflow node %s > graph %s", > + graph_node->node->name, graph- > >name); > + } > + } > + } >=20 > stats->sz +=3D stats->cluster_node_size; > stats->max_nodes++; > @@ -388,6 +441,18 @@ rte_graph_cluster_stats_create(const struct > rte_graph_cluster_stats_param *prm) void > rte_graph_cluster_stats_destroy(struct rte_graph_cluster_stats *stat) { > + struct cluster_node *cluster; > + rte_node_t count; > + > + cluster =3D stat->clusters; > + for (count =3D 0; count < stat->max_nodes; count++) { > + if (cluster->stat.node_error_cntrs) { > + rte_free(cluster->stat.node_error_count); > + rte_free(cluster->stat.node_error_desc); > + } > + > + cluster =3D RTE_PTR_ADD(cluster, stat->cluster_node_size); > + } > return rte_free(stat); > } >=20 > @@ -399,7 +464,10 @@ cluster_node_arregate_stats(struct cluster_node > *cluster, bool dispatch) > uint64_t sched_objs =3D 0, sched_fail =3D 0; > struct rte_node *node; > rte_node_t count; > + uint64_t *err; > + uint8_t i; >=20 > + memset(stat->node_error_count, 0, sizeof(uint64_t) * > +stat->node_error_cntrs); > for (count =3D 0; count < cluster->nb_nodes; count++) { > node =3D cluster->nodes[count]; >=20 > @@ -412,6 +480,12 @@ cluster_node_arregate_stats(struct cluster_node > *cluster, bool dispatch) > objs +=3D node->total_objs; > cycles +=3D node->total_cycles; > realloc_count +=3D node->realloc_count; > + > + if (node->err_off =3D=3D 0) > + continue; > + err =3D RTE_PTR_ADD(node, node->err_off); > + for (i =3D 0; i < stat->node_error_cntrs; i++) > + stat->node_error_count[i] +=3D err[i]; > } >=20 > stat->calls =3D calls; > @@ -464,6 +538,7 @@ rte_graph_cluster_stats_reset(struct > rte_graph_cluster_stats *stat) { > struct cluster_node *cluster; > rte_node_t count; > + uint8_t i; >=20 > cluster =3D stat->clusters; >=20 > @@ -479,6 +554,8 @@ rte_graph_cluster_stats_reset(struct > rte_graph_cluster_stats *stat) > node->prev_objs =3D 0; > node->prev_cycles =3D 0; > node->realloc_count =3D 0; > + for (i =3D 0; i < node->node_error_cntrs; i++) > + node->node_error_count[i] =3D 0; > cluster =3D RTE_PTR_ADD(cluster, stat->cluster_node_size); > } > } > diff --git a/lib/graph/rte_graph.h b/lib/graph/rte_graph.h index > b28143d737..12b6461cf5 100644 > --- a/lib/graph/rte_graph.h > +++ b/lib/graph/rte_graph.h > @@ -223,6 +223,10 @@ struct __rte_cache_aligned > rte_graph_cluster_node_stats { >=20 > uint64_t realloc_count; /**< Realloc count. */ >=20 > + uint8_t node_error_cntrs; /**< Number of > Node error counters. */ > + char (*node_error_desc)[RTE_NODE_ERROR_DESC_SIZE]; /**< Names > of the Node error counters. */ > + uint64_t *node_error_count; /**< Total error > count per each error. */ > + > rte_node_t id; /**< Node identifier of stats. */ > uint64_t hz; /**< Cycles per seconds. */ > char name[RTE_NODE_NAMESIZE]; /**< Name of the node. */ > -- > 2.25.1