DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
To: Huichao cai <chcchc88@163.com>, Jerin Jacob <jerinj@marvell.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	"yanzhirun_163@163.com" <yanzhirun_163@163.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [EXTERNAL] [PATCH] test/graph: fix graph autotest second test failure
Date: Tue, 22 Oct 2024 13:38:45 +0000	[thread overview]
Message-ID: <PH0PR18MB507187E28ADF207715BE0FA0AC4C2@PH0PR18MB5071.namprd18.prod.outlook.com> (raw)
In-Reply-To: <1729596485-65675-1-git-send-email-chcchc88@163.com>

[-- Attachment #1: Type: text/plain, Size: 5196 bytes --]



From: Huichao cai <chcchc88@163.com>
Sent: Tuesday, October 22, 2024 4:58 PM
To: Jerin Jacob <jerinj@marvell.com>; Kiran Kumar Kokkilagadda <kirankumark@marvell.com>; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>; yanzhirun_163@163.com
Cc: dev@dpdk.org
Subject: [EXTERNAL] [PATCH] test/graph: fix graph autotest second test failure

Start dpdk-test, execute the graph_autotest test command for the first time, the result is successful, and then test again, the result is always failing, modify this problem to make this test command idempotent. Signed-off-by: Huichao cai <chcchc88@ 163. com>


Start dpdk-test, execute the graph_autotest test command for

the first time, the result is successful, and then test again,

the result is always failing, modify this problem to make this

test command idempotent.



Signed-off-by: Huichao cai <chcchc88@163.com<mailto:chcchc88@163.com>>

---

 app/test/test_graph.c | 21 ++++++++++++---------

 1 file changed, 12 insertions(+), 9 deletions(-)



diff --git a/app/test/test_graph.c b/app/test/test_graph.c

index 2840a25..16a1a90 100644

--- a/app/test/test_graph.c

+++ b/app/test/test_graph.c

@@ -552,7 +552,7 @@ struct test_node_register {

              tm->test_node[0].idx = node_id;



              dummy_id = rte_node_clone(node_id, "test_node00");

-            if (rte_node_is_invalid(dummy_id)) {

+           if (rte_node_is_invalid(dummy_id) && (rte_errno != EEXIST)) {

                             printf("Got invalid id when clone, Expecting fail\n");

                             return -1;

              }



I think cloned nodes are not being added to any graph, so, not being freed. So, we are seeing this issue.

Instead of suppressing the errors, could you create a dummy graph and add the nodes to graph and call graph destroy.

This will free the cloned nodes and we don’t see this problem.







@@ -565,12 +565,14 @@ struct test_node_register {

              }



              for (i = 1; i < MAX_NODES; i++) {

-                            tm->test_node[i].idx =

-                                           rte_node_clone(node_id, tm->test_node[i].node.name);

-                            if (rte_node_is_invalid(tm->test_node[i].idx)) {

+                           dummy_id = rte_node_clone(node_id, tm->test_node[i].node.name);

+                           if (rte_node_is_invalid(dummy_id) && (rte_errno != EEXIST)) {

                                            printf("Got invalid node id\n");

                                            return -1;

                             }

+

+                           if (!rte_node_is_invalid(dummy_id))

+                                          tm->test_node[i].idx = dummy_id;

              }



              /* Clone from cloned node should fail */

@@ -640,7 +642,7 @@ struct test_node_register {



              node_id = rte_node_from_name("test_node00");

              dummy_node_id = rte_node_clone(node_id, "dummy_node");

-            if (rte_node_is_invalid(dummy_node_id)) {

+           if (rte_node_is_invalid(dummy_node_id) && (rte_errno != EEXIST)) {

                             printf("Got invalid node id\n");

                             return -1;

              }

@@ -672,7 +674,7 @@ struct test_node_register {

              main_graph_id = rte_graph_from_name("worker0");

              if (main_graph_id == RTE_GRAPH_ID_INVALID) {

                             printf("Must create main graph first\n");

-                            ret = -1;

+                           return -1;

              }



              graph_conf.dispatch.mp_capacity = 1024;

@@ -682,7 +684,7 @@ struct test_node_register {



              if (cloned_graph_id == RTE_GRAPH_ID_INVALID) {

                             printf("Graph creation failed with error = %d\n", rte_errno);

-                            ret = -1;

+                           return -1;

              }



              if (strcmp(rte_graph_id_to_name(cloned_graph_id), "worker0-cloned-test0")) {

@@ -787,7 +789,7 @@ struct test_node_register {

              cloned_graph_id = rte_graph_clone(graph_id, "cloned-test1", &graph_conf);

              node = rte_graph_node_get(cloned_graph_id, nid);



-            if (node->dispatch.lcore_id != worker_lcore) {

+           if (!node || node->dispatch.lcore_id != worker_lcore) {

                             printf("set node affinity failed\n");

                             ret = -1;

              }

@@ -859,7 +861,8 @@ struct test_node_register {

              }



              graph = rte_graph_lookup("worker0-cloned-test3");

-            if (rte_graph_worker_model_get(graph) != RTE_GRAPH_MODEL_MCORE_DISPATCH) {

+           if (!graph || rte_graph_worker_model_get(graph) !=

+                               RTE_GRAPH_MODEL_MCORE_DISPATCH) {

                             printf("Get graph worker model failed\n");

                             ret = -1;

              }

--

1.8.3.1



[-- Attachment #2: Type: text/html, Size: 23371 bytes --]

  reply	other threads:[~2024-10-22 13:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-22 11:28 Huichao cai
2024-10-22 13:38 ` Kiran Kumar Kokkilagadda [this message]
2024-10-23  2:44   ` Re:RE: [EXTERNAL] " Huichao Cai
2024-10-23 12:42     ` Kiran Kumar Kokkilagadda
2024-10-24  6:46       ` Huichao Cai
2024-10-25  8:38         ` Kiran Kumar Kokkilagadda
2024-10-25  9:30           ` Huichao Cai
2024-10-28  9:48             ` Kiran Kumar Kokkilagadda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PH0PR18MB507187E28ADF207715BE0FA0AC4C2@PH0PR18MB5071.namprd18.prod.outlook.com \
    --to=kirankumark@marvell.com \
    --cc=chcchc88@163.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=yanzhirun_163@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).