From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id D252642E38;
	Mon, 10 Jul 2023 09:39:06 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 9170642BAC;
	Mon, 10 Jul 2023 09:39:01 +0200 (CEST)
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by mails.dpdk.org (Postfix) with ESMTP id E52A2410F1
 for <dev@dpdk.org>; Mon, 10 Jul 2023 09:38:58 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1688974739; x=1720510739;
 h=from:to:cc:subject:date:message-id:in-reply-to:
 references:mime-version:content-transfer-encoding;
 bh=FLewvDoxl1jYohzb29SyCYpA4HAurNNPNmrEo9wB9Ik=;
 b=BoIKOunioVIy0hvYys9NwkhIVZ/QaGGpGbg9/uqneQmQL6ZOf39L93nO
 K5p7MU/gqAaV1tJjYB2Xk0dDzNeRh+SvIXozN+xTigXflTqilVQEaf7lh
 I3pc92jy7NgBTKQZ8rtZd5YTtYxfuCC2NPJi8z7eyHtCa8E4K+CttTmcf
 NXAtpxc3TdMXSBDLk3gu+kTiSjBi26YgXTIQ20ng13PPpBCGCIxqSxzU5
 FNp2imMqlF2+BanQoomnDDTCm2/ZT6F/WMZRjZLV3VoMU9ni6W/UEzo+I
 DpzMeN3Mdb8r18XZ27M+QMcn8FvGaw+OdSOCGWLVJdrqlM2nAlgZgZMbw g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="364314497"
X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="364314497"
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Jul 2023 00:38:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="790696509"
X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="790696509"
Received: from dpdk-zhirun-lmm.sh.intel.com ([10.67.119.138])
 by fmsmga004.fm.intel.com with ESMTP; 10 Jul 2023 00:38:56 -0700
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 v4 2/2] graph: fix graph model check in core binding
Date: Mon, 10 Jul 2023 15:15:15 +0800
Message-Id: <20230710071515.3143533-3-zhirun.yan@intel.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20230710071515.3143533-1-zhirun.yan@intel.com>
References: <20230705015633.1465235-1-zhirun.yan@intel.com>
 <20230710071515.3143533-1-zhirun.yan@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

This function is used for mcore dispatch model only, correct the check to
make sure it is the expected model. And specific the model by
rte_graph_worker_model_set() before call it in test. Update release notes
for new mcore dispatch model.

Fixes: ecb22a294980 ("graph: introduce graph bind unbind API")

Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
---
 app/test/test_graph.c                  |  6 ++++++
 doc/guides/rel_notes/release_23_07.rst | 10 ++++++++++
 lib/graph/graph.c                      |  2 +-
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/app/test/test_graph.c b/app/test/test_graph.c
index 47f5ab8395..af90ac07ec 100644
--- a/app/test/test_graph.c
+++ b/app/test/test_graph.c
@@ -737,6 +737,12 @@ test_graph_model_mcore_dispatch_core_bind_unbind(void)
 	worker_lcore = rte_get_next_lcore(worker_lcore, true, 1);
 	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) {
 		printf("bind graph %d to lcore %u failed\n", graph_id, worker_lcore);
diff --git a/doc/guides/rel_notes/release_23_07.rst b/doc/guides/rel_notes/release_23_07.rst
index dcfd692425..7f1c2e66d5 100644
--- a/doc/guides/rel_notes/release_23_07.rst
+++ b/doc/guides/rel_notes/release_23_07.rst
@@ -185,6 +185,12 @@ 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 mcore dispatch model to support cross-core dispatching mechanism.
+
 * **Added PDCP Library.**
 
   Added an experimental library to provide PDCP UL and DL processing of packets.
@@ -206,6 +212,10 @@ New Features
 
   See the :doc:`../tools/dmaperf` for more details.
 
+* **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