DPDK patches and discussions
 help / color / mirror / Atom feed
From: Zhirun Yan <zhirun.yan@intel.com>
To: dev@dpdk.org, jerinj@marvell.com, kirankumark@marvell.com,
	ndabilpuram@marvell.com
Cc: qi.fu@intel.com, Zhirun Yan <zhirun.yan@intel.com>
Subject: [PATCH v2] graph: fix graph model check in core binding
Date: Mon,  3 Jul 2023 17:55:42 +0800	[thread overview]
Message-ID: <20230703095542.1229602-1-zhirun.yan@intel.com> (raw)
In-Reply-To: <20230703072919.760043-1-zhirun.yan@intel.com>

Fix graph model check in core binding with graph. And rte_graph_clone()
need to use valid params rather than NULL pointer.
Update release notes for new mcore dispatch model.

Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
---
 app/test/test_graph.c                  | 15 ++++++++++++---
 doc/guides/rel_notes/release_23_07.rst | 12 ++++++++++++
 lib/graph/graph.c                      |  2 +-
 3 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/app/test/test_graph.c b/app/test/test_graph.c
index 8609c0b3a4..8983363c8e 100644
--- a/app/test/test_graph.c
+++ b/app/test/test_graph.c
@@ -702,6 +702,7 @@ test_graph_model_mcore_dispatch_node_lcore_affinity_set(void)
 	unsigned int worker_lcore = RTE_MAX_LCORE;
 	rte_node_t nid = RTE_NODE_ID_INVALID;
 	char node_name[64] = "test_node00";
+	struct rte_graph_param graph_conf;
 	struct rte_node *node;
 	int ret = 0;
 
@@ -711,7 +712,7 @@ test_graph_model_mcore_dispatch_node_lcore_affinity_set(void)
 		printf("Set node %s affinity to lcore %u\n", node_name, worker_lcore);
 
 	nid = rte_node_from_name(node_name);
-	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test1", NULL);
+	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) {
@@ -729,11 +730,18 @@ test_graph_model_mcore_dispatch_core_bind_unbind(void)
 {
 	rte_graph_t cloned_graph_id = RTE_GRAPH_ID_INVALID;
 	unsigned int worker_lcore = RTE_MAX_LCORE;
+	struct rte_graph_param graph_conf;
 	struct rte_graph *graph;
 	int ret = 0;
 
 	worker_lcore = rte_get_next_lcore(worker_lcore, true, 1);
-	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test2", NULL);
+	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test2", &graph_conf);
+
+	ret = rte_graph_worker_model_set(RTE_GRAPH_MODEL_MCORE_DISPATCH);
+	if (ret != 0) {
+		printf("Set graph mcore dispatch model failed\n");
+		ret = -1;
+	}
 
 	ret = rte_graph_model_mcore_dispatch_core_bind(cloned_graph_id, worker_lcore);
 	if (ret != 0) {
@@ -765,10 +773,11 @@ static int
 test_graph_worker_model_set_get(void)
 {
 	rte_graph_t cloned_graph_id = RTE_GRAPH_ID_INVALID;
+	struct rte_graph_param graph_conf;
 	struct rte_graph *graph;
 	int ret = 0;
 
-	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test3", NULL);
+	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test3", &graph_conf);
 	ret = rte_graph_worker_model_set(RTE_GRAPH_MODEL_MCORE_DISPATCH);
 	if (ret != 0) {
 		printf("Set graph mcore dispatch model failed\n");
diff --git a/doc/guides/rel_notes/release_23_07.rst b/doc/guides/rel_notes/release_23_07.rst
index 4459144140..adaecb3e7c 100644
--- a/doc/guides/rel_notes/release_23_07.rst
+++ b/doc/guides/rel_notes/release_23_07.rst
@@ -185,6 +185,13 @@ New Features
 
   * Added SM2 algorithm support in asymmetric crypto operations.
 
+* **Added mcore dispatch model in rte_graph library.**
+
+  * Added set, get and validate model APIs to enhance graph framework
+    to chose different walk models.
+  * Added clone graph, bind graph with lcore and affinity node with
+    lcore APIs to support mcore dispatch model.
+
 * **Added PDCP Library.**
 
   Added an experimental library to provide PDCP UL and DL processing of packets.
@@ -200,6 +207,11 @@ New Features
 
   Enhanced the GRO library to support TCP packets over IPv6 network.
 
+* **Update l3fwd-graph sample application.**
+
+  Added a new cmdline option ``--model`` which can be used to chose
+  RTC or mcore dispatch model.
+
 
 Removed Items
 -------------
diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index 0c28d925bc..26f0968a97 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -287,7 +287,7 @@ rte_graph_model_mcore_dispatch_core_bind(rte_graph_t id, int lcore)
 		if (graph->id == id)
 			break;
 
-	if (graph->graph->model == RTE_GRAPH_MODEL_MCORE_DISPATCH)
+	if (graph->graph->model != RTE_GRAPH_MODEL_MCORE_DISPATCH)
 		goto fail;
 
 	graph->lcore_id = lcore;
-- 
2.37.2


  reply	other threads:[~2023-07-03 10:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-03  7:29 [PATCH v1] " Zhirun Yan
2023-07-03  9:55 ` Zhirun Yan [this message]
2023-07-04  9:10   ` [PATCH v2] " Jerin Jacob
2023-07-05  0:50     ` Yan, Zhirun
2023-07-05  1:56   ` [PATCH v3] " Zhirun Yan
2023-07-07 10:16     ` Jerin Jacob
2023-07-10  5:08       ` Yan, Zhirun
2023-07-10  7:15     ` [PATCH v4 0/2] fix graph issues Zhirun Yan
2023-07-10  7:15       ` [PATCH v4 1/2] graph: fix graph functional tests with valid params Zhirun Yan
2023-07-10  9:21         ` Jerin Jacob
2023-07-10  7:15       ` [PATCH v4 2/2] graph: fix graph model check in core binding Zhirun Yan
2023-07-10  9:29         ` Jerin Jacob
2023-07-12 14:01       ` [PATCH v4 0/2] fix graph issues Thomas Monjalon

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=20230703095542.1229602-1-zhirun.yan@intel.com \
    --to=zhirun.yan@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=qi.fu@intel.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).