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, stephen@networkplumber.org,
	pbhagavatula@marvell.com, jerinjacobk@gmail.com,
	david.marchand@redhat.com
Cc: cunming.liang@intel.com, haiyue.wang@intel.com,
	mattias.ronnblom@ericsson.com, Zhirun Yan <zhirun.yan@intel.com>
Subject: [PATCH v13 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model
Date: Tue, 13 Jun 2023 18:14:04 +0800	[thread overview]
Message-ID: <20230613101404.1787790-17-zhirun.yan@intel.com> (raw)
In-Reply-To: <20230613101404.1787790-1-zhirun.yan@intel.com>

Add new parameter "model" to choose mcore dispatch or rtc model.
And in dispatch model, the node will affinity to worker core successively.

RTE_GRAPH_MODEL_SELECT is set to RTE_GRAPH_MODEL_RTC by default. Must set
model the same as RTE_GRAPH_MODEL_SELECT if set it as rtc or mcore
dispatch explicitly. If not define it, it could choose by param model
in runtime.
Only support one RX node for mcore dispatch model in current
implementation.

./dpdk-l3fwd-graph  -l 1,2,3,4 -n 4 -- -p 0x1 --config="(0,0,1)" -P
--model="dispatch"

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 doc/guides/sample_app_ug/l3_forward_graph.rst |  16 ++
 examples/l3fwd-graph/main.c                   | 230 +++++++++++++++---
 2 files changed, 208 insertions(+), 38 deletions(-)

diff --git a/doc/guides/sample_app_ug/l3_forward_graph.rst b/doc/guides/sample_app_ug/l3_forward_graph.rst
index 585ac8c898..7189fa33ec 100644
--- a/doc/guides/sample_app_ug/l3_forward_graph.rst
+++ b/doc/guides/sample_app_ug/l3_forward_graph.rst
@@ -54,6 +54,7 @@ The application has a number of command line options similar to l3fwd::
                                    [--pcap-enable]
                                    [--pcap-num-cap]
                                    [--pcap-file-name]
+                                   [--model]
 
 Where,
 
@@ -78,6 +79,8 @@ Where,
 
 * ``--pcap-file-name:`` Optional, Pcap filename to capture packets in.
 
+* ``--model:`` Optional, select graph walking model.
+
 For example, consider a dual processor socket platform with 8 physical cores, where cores 0-7 and 16-23 appear on socket 0,
 while cores 8-15 and 24-31 appear on socket 1.
 
@@ -122,6 +125,19 @@ In this command:
 
 *   The --pcap-file-name option enables user to give filename in which packets are to be captured.
 
+To enable mcore dispatch model, the application need change RTE_GRAPH_MODEL_SELECT to ``#define RTE_GRAPH_MODEL_SELECT RTE_GRAPH_MODEL_MCORE_DISPATCH``
+before including rte_graph_worker.h. Recompile and use following command:
+
+.. code-block:: console
+
+    ./<build_dir>/examples/dpdk-l3fwd-graph -l 1,2,3,4 -n 4 -- -p 0x1 --config="(0,0,1)" -P --model="dispatch"
+
+To enable graph walking model selection in run-time, remove the define of ``RTE_GRAPH_MODEL_SELECT``. Recompile and use the same command.
+
+In this command:
+
+*   The --model option enables user to select ``rtc`` or ``dispatch`` model.
+
 Refer to the *DPDK Getting Started Guide* for general information on running applications and
 the Environment Abstraction Layer (EAL) options.
 
diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c
index 5feeab4f0f..be69fcace1 100644
--- a/examples/l3fwd-graph/main.c
+++ b/examples/l3fwd-graph/main.c
@@ -23,6 +23,7 @@
 #include <rte_cycles.h>
 #include <rte_eal.h>
 #include <rte_ethdev.h>
+#define RTE_GRAPH_MODEL_SELECT RTE_GRAPH_MODEL_RTC
 #include <rte_graph_worker.h>
 #include <rte_launch.h>
 #include <rte_lcore.h>
@@ -55,6 +56,9 @@
 
 #define NB_SOCKETS 8
 
+/* Graph module */
+#define WORKER_MODEL_RTC "rtc"
+#define WORKER_MODEL_MCORE_DISPATCH "dispatch"
 /* Static global variables used within this file. */
 static uint16_t nb_rxd = RX_DESC_DEFAULT;
 static uint16_t nb_txd = TX_DESC_DEFAULT;
@@ -88,6 +92,8 @@ struct lcore_rx_queue {
 	char node_name[RTE_NODE_NAMESIZE];
 };
 
+static uint8_t model_conf = RTE_GRAPH_MODEL_DEFAULT;
+
 /* Lcore conf */
 struct lcore_conf {
 	uint16_t n_rx_queue;
@@ -153,6 +159,19 @@ static struct ipv4_l3fwd_lpm_route ipv4_l3fwd_lpm_route_array[] = {
 	{RTE_IPV4(198, 18, 6, 0), 24, 6}, {RTE_IPV4(198, 18, 7, 0), 24, 7},
 };
 
+static int
+check_worker_model_params(void)
+{
+	if (model_conf == RTE_GRAPH_MODEL_MCORE_DISPATCH &&
+	    nb_lcore_params > 1) {
+		printf("Exceeded max number of lcore params for remote model: %hu\n",
+		       nb_lcore_params);
+		return -1;
+	}
+
+	return 0;
+}
+
 static int
 check_lcore_params(void)
 {
@@ -276,6 +295,7 @@ print_usage(const char *prgname)
 		"  --eth-dest=X,MM:MM:MM:MM:MM:MM: Ethernet destination for "
 		"port X\n"
 		"  --max-pkt-len PKTLEN: maximum packet length in decimal (64-9600)\n"
+		"  --model NAME: walking model name, dispatch or rtc(by default)\n"
 		"  --no-numa: Disable numa awareness\n"
 		"  --per-port-pool: Use separate buffer pool per port\n"
 		"  --pcap-enable: Enables pcap capture\n"
@@ -318,6 +338,23 @@ parse_max_pkt_len(const char *pktlen)
 	return len;
 }
 
+static void
+parse_worker_model(const char *model)
+{
+	if (strcmp(model, WORKER_MODEL_MCORE_DISPATCH) == 0)
+		model_conf = RTE_GRAPH_MODEL_MCORE_DISPATCH;
+	else if (strcmp(model, WORKER_MODEL_RTC) == 0)
+		model_conf = RTE_GRAPH_MODEL_RTC;
+	else
+		rte_exit(EXIT_FAILURE, "Invalid worker model: %s", model);
+
+#if defined(RTE_GRAPH_MODEL_SELECT)
+	if (model_conf != RTE_GRAPH_MODEL_SELECT)
+		printf("Warning: model mismatch, will use the RTE_GRAPH_MODEL_SELECT model\n");
+	model_conf = RTE_GRAPH_MODEL_SELECT;
+#endif
+}
+
 static int
 parse_portmask(const char *portmask)
 {
@@ -434,6 +471,8 @@ static const char short_options[] = "p:" /* portmask */
 #define CMD_LINE_OPT_PCAP_ENABLE   "pcap-enable"
 #define CMD_LINE_OPT_NUM_PKT_CAP   "pcap-num-cap"
 #define CMD_LINE_OPT_PCAP_FILENAME "pcap-file-name"
+#define CMD_LINE_OPT_WORKER_MODEL  "model"
+
 enum {
 	/* Long options mapped to a short option */
 
@@ -449,6 +488,7 @@ enum {
 	CMD_LINE_OPT_PARSE_PCAP_ENABLE,
 	CMD_LINE_OPT_PARSE_NUM_PKT_CAP,
 	CMD_LINE_OPT_PCAP_FILENAME_CAP,
+	CMD_LINE_OPT_WORKER_MODEL_TYPE,
 };
 
 static const struct option lgopts[] = {
@@ -460,6 +500,7 @@ static const struct option lgopts[] = {
 	{CMD_LINE_OPT_PCAP_ENABLE, 0, 0, CMD_LINE_OPT_PARSE_PCAP_ENABLE},
 	{CMD_LINE_OPT_NUM_PKT_CAP, 1, 0, CMD_LINE_OPT_PARSE_NUM_PKT_CAP},
 	{CMD_LINE_OPT_PCAP_FILENAME, 1, 0, CMD_LINE_OPT_PCAP_FILENAME_CAP},
+	{CMD_LINE_OPT_WORKER_MODEL, 1, 0, CMD_LINE_OPT_WORKER_MODEL_TYPE},
 	{NULL, 0, 0, 0},
 };
 
@@ -551,6 +592,11 @@ parse_args(int argc, char **argv)
 			printf("Pcap file name: %s\n", pcap_filename);
 			break;
 
+		case CMD_LINE_OPT_WORKER_MODEL_TYPE:
+			printf("Use new worker model: %s\n", optarg);
+			parse_worker_model(optarg);
+			break;
+
 		default:
 			print_usage(prgname);
 			return -1;
@@ -788,6 +834,142 @@ config_port_max_pkt_len(struct rte_eth_conf *conf,
 	return 0;
 }
 
+static void
+graph_config_mcore_dispatch(struct rte_graph_param graph_conf)
+{
+	uint16_t nb_patterns = graph_conf.nb_node_patterns;
+	int worker_count = rte_lcore_count() - 1;
+	int main_lcore_id = rte_get_main_lcore();
+	rte_graph_t main_graph_id = 0;
+	struct rte_node *node_tmp;
+	struct lcore_conf *qconf;
+	struct rte_graph *graph;
+	rte_graph_t graph_id;
+	rte_graph_off_t off;
+	int n_rx_node = 0;
+	int worker_lcore;
+	rte_node_t count;
+	int i, j;
+	int ret;
+
+	for (j = 0; j < nb_lcore_params; j++) {
+		qconf = &lcore_conf[lcore_params[j].lcore_id];
+		/* Add rx node patterns of all lcore */
+		for (i = 0; i < qconf->n_rx_queue; i++) {
+			char *node_name = qconf->rx_queue_list[i].node_name;
+			unsigned int lcore_id = lcore_params[j].lcore_id;
+
+			graph_conf.node_patterns[nb_patterns + n_rx_node + i] = node_name;
+			n_rx_node++;
+			ret = rte_graph_model_mcore_dispatch_node_lcore_affinity_set(node_name,
+										     lcore_id);
+			if (ret == 0)
+				printf("Set node %s affinity to lcore %u\n", node_name,
+				       lcore_params[j].lcore_id);
+		}
+	}
+
+	graph_conf.nb_node_patterns = nb_patterns + n_rx_node;
+	graph_conf.socket_id = rte_lcore_to_socket_id(main_lcore_id);
+
+	qconf = &lcore_conf[main_lcore_id];
+	snprintf(qconf->name, sizeof(qconf->name), "worker_%u",
+		 main_lcore_id);
+
+	/* create main graph */
+	main_graph_id = rte_graph_create(qconf->name, &graph_conf);
+	if (main_graph_id == RTE_GRAPH_ID_INVALID)
+		rte_exit(EXIT_FAILURE,
+			 "rte_graph_create(): main_graph_id invalid for lcore %u\n",
+			 main_lcore_id);
+
+	/* set the graph model for the main graph */
+	rte_graph_worker_model_set(RTE_GRAPH_MODEL_MCORE_DISPATCH);
+	qconf->graph_id = main_graph_id;
+	qconf->graph = rte_graph_lookup(qconf->name);
+	if (!qconf->graph)
+		rte_exit(EXIT_FAILURE,
+			 "rte_graph_lookup(): graph %s not found\n",
+			 qconf->name);
+
+	graph = qconf->graph;
+	worker_lcore = lcore_params[nb_lcore_params - 1].lcore_id;
+	rte_graph_foreach_node(count, off, graph, node_tmp) {
+		/* Need to set the node Lcore affinity before clone graph for each lcore */
+		if (node_tmp->dispatch.lcore_id == RTE_MAX_LCORE) {
+			worker_lcore = rte_get_next_lcore(worker_lcore, true, 1);
+			ret = rte_graph_model_mcore_dispatch_node_lcore_affinity_set(node_tmp->name,
+										     worker_lcore);
+			if (ret == 0)
+				printf("Set node %s affinity to lcore %u\n",
+				       node_tmp->name, worker_lcore);
+		}
+	}
+
+	worker_lcore = main_lcore_id;
+	for (i = 0; i < worker_count; i++) {
+		worker_lcore = rte_get_next_lcore(worker_lcore, true, 1);
+
+		qconf = &lcore_conf[worker_lcore];
+		snprintf(qconf->name, sizeof(qconf->name), "cloned-%u", worker_lcore);
+		graph_id = rte_graph_clone(main_graph_id, qconf->name, &graph_conf);
+		ret = rte_graph_model_mcore_dispatch_core_bind(graph_id, worker_lcore);
+		if (ret == 0)
+			printf("bind graph %d to lcore %u\n", graph_id, worker_lcore);
+
+		/* full cloned graph name */
+		snprintf(qconf->name, sizeof(qconf->name), "%s",
+			 rte_graph_id_to_name(graph_id));
+		qconf->graph_id = graph_id;
+		qconf->graph = rte_graph_lookup(qconf->name);
+		if (!qconf->graph)
+			rte_exit(EXIT_FAILURE,
+				 "Failed to lookup graph %s\n",
+				 qconf->name);
+		continue;
+	}
+}
+
+static void
+graph_config_rtc(struct rte_graph_param graph_conf)
+{
+	uint16_t nb_patterns = graph_conf.nb_node_patterns;
+	struct lcore_conf *qconf;
+	rte_graph_t graph_id;
+	uint32_t lcore_id;
+	rte_edge_t i;
+
+	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
+		if (rte_lcore_is_enabled(lcore_id) == 0)
+			continue;
+
+		qconf = &lcore_conf[lcore_id];
+		/* Skip graph creation if no source exists */
+		if (!qconf->n_rx_queue)
+			continue;
+		/* Add rx node patterns of this lcore */
+		for (i = 0; i < qconf->n_rx_queue; i++) {
+			graph_conf.node_patterns[nb_patterns + i] =
+				qconf->rx_queue_list[i].node_name;
+		}
+		graph_conf.nb_node_patterns = nb_patterns + i;
+		graph_conf.socket_id = rte_lcore_to_socket_id(lcore_id);
+		snprintf(qconf->name, sizeof(qconf->name), "worker_%u",
+			 lcore_id);
+		graph_id = rte_graph_create(qconf->name, &graph_conf);
+		if (graph_id == RTE_GRAPH_ID_INVALID)
+			rte_exit(EXIT_FAILURE,
+				 "rte_graph_create(): graph_id invalid for lcore %u\n",
+				 lcore_id);
+		qconf->graph_id = graph_id;
+		qconf->graph = rte_graph_lookup(qconf->name);
+		if (!qconf->graph)
+			rte_exit(EXIT_FAILURE,
+				 "rte_graph_lookup(): graph %s not found\n",
+				 qconf->name);
+	}
+}
+
 int
 main(int argc, char **argv)
 {
@@ -840,6 +1022,9 @@ main(int argc, char **argv)
 	if (check_lcore_params() < 0)
 		rte_exit(EXIT_FAILURE, "check_lcore_params() failed\n");
 
+	if (check_worker_model_params() < 0)
+		rte_exit(EXIT_FAILURE, "check_worker_model_params() failed\n");
+
 	ret = init_lcore_rx_queues();
 	if (ret < 0)
 		rte_exit(EXIT_FAILURE, "init_lcore_rx_queues() failed\n");
@@ -1079,51 +1264,20 @@ main(int argc, char **argv)
 
 	memset(&graph_conf, 0, sizeof(graph_conf));
 	graph_conf.node_patterns = node_patterns;
+	graph_conf.nb_node_patterns = nb_patterns;
 
 	/* Pcap config */
 	graph_conf.pcap_enable = pcap_trace_enable;
 	graph_conf.num_pkt_to_capture = packet_to_capture;
 	graph_conf.pcap_filename = pcap_filename;
 
-	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		rte_graph_t graph_id;
-		rte_edge_t i;
-
-		if (rte_lcore_is_enabled(lcore_id) == 0)
-			continue;
-
-		qconf = &lcore_conf[lcore_id];
-
-		/* Skip graph creation if no source exists */
-		if (!qconf->n_rx_queue)
-			continue;
-
-		/* Add rx node patterns of this lcore */
-		for (i = 0; i < qconf->n_rx_queue; i++) {
-			graph_conf.node_patterns[nb_patterns + i] =
-				qconf->rx_queue_list[i].node_name;
-		}
-
-		graph_conf.nb_node_patterns = nb_patterns + i;
-		graph_conf.socket_id = rte_lcore_to_socket_id(lcore_id);
-
-		snprintf(qconf->name, sizeof(qconf->name), "worker_%u",
-			 lcore_id);
-
-		graph_id = rte_graph_create(qconf->name, &graph_conf);
-		if (graph_id == RTE_GRAPH_ID_INVALID)
-			rte_exit(EXIT_FAILURE,
-				 "rte_graph_create(): graph_id invalid"
-				 " for lcore %u\n", lcore_id);
+	if (model_conf == RTE_GRAPH_MODEL_MCORE_DISPATCH)
+		graph_config_mcore_dispatch(graph_conf);
+	else
+		graph_config_rtc(graph_conf);
 
-		qconf->graph_id = graph_id;
-		qconf->graph = rte_graph_lookup(qconf->name);
-		/* >8 End of graph initialization. */
-		if (!qconf->graph)
-			rte_exit(EXIT_FAILURE,
-				 "rte_graph_lookup(): graph %s not found\n",
-				 qconf->name);
-	}
+	rte_graph_worker_model_set(model_conf);
+	/* >8 End of graph initialization. */
 
 	memset(&rewrite_data, 0, sizeof(rewrite_data));
 	rewrite_len = sizeof(rewrite_data);
-- 
2.37.2


  parent reply	other threads:[~2023-06-13 10:26 UTC|newest]

Thread overview: 369+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-17  5:09 [PATCH v1 00/13] graph enhancement for multi-core dispatch Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 01/13] graph: split graph worker into common and default model Zhirun Yan
2023-02-20 13:38   ` Jerin Jacob
2023-02-24  6:29     ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 02/13] graph: move node process into inline function Zhirun Yan
2023-02-20 13:39   ` Jerin Jacob
2022-11-17  5:09 ` [PATCH v1 03/13] graph: add macro to walk on graph circular buffer Zhirun Yan
2023-02-20 13:45   ` Jerin Jacob
2023-02-24  6:30     ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 04/13] graph: add get/set graph worker model APIs Zhirun Yan
2022-12-06  3:35   ` [EXT] " Kiran Kumar Kokkilagadda
2022-12-08  7:26     ` Yan, Zhirun
2023-02-20 13:50   ` Jerin Jacob
2023-02-24  6:31     ` Yan, Zhirun
2023-02-26 22:23       ` Jerin Jacob
2023-03-02  8:38         ` Yan, Zhirun
2023-03-02 13:58           ` Jerin Jacob
2023-03-07  8:26             ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 05/13] graph: introduce core affinity API Zhirun Yan
2023-02-20 14:05   ` Jerin Jacob
2023-02-24  6:32     ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 06/13] graph: introduce graph " Zhirun Yan
2023-02-20 14:07   ` Jerin Jacob
2023-02-24  6:39     ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 07/13] graph: introduce graph clone API for other worker core Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 08/13] graph: introduce stream moving cross cores Zhirun Yan
2023-02-20 14:17   ` Jerin Jacob
2023-02-24  6:48     ` Yan, Zhirun
2022-11-17  5:09 ` [PATCH v1 09/13] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 10/13] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 11/13] graph: enable graph generic scheduler model Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 12/13] graph: add stats for corss-core dispatching Zhirun Yan
2022-11-17  5:09 ` [PATCH v1 13/13] examples/l3fwd-graph: introduce generic worker model Zhirun Yan
2023-02-20 14:20   ` Jerin Jacob
2023-02-24  6:49     ` Yan, Zhirun
2023-02-20  0:22 ` [PATCH v1 00/13] graph enhancement for multi-core dispatch Thomas Monjalon
2023-02-20  8:28   ` Yan, Zhirun
2023-02-20  9:33     ` Jerin Jacob
2023-03-24  2:16 ` [PATCH v2 00/15] " Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 01/15] graph: rename rte_graph_work as common Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 02/15] graph: split graph worker into common and default model Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 03/15] graph: move node process into inline function Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 04/15] graph: add get/set graph worker model APIs Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 05/15] graph: introduce graph node core affinity API Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 06/15] graph: introduce graph bind unbind API Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 07/15] graph: introduce graph clone API for other worker core Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 08/15] graph: add struct for stream moving between cores Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 09/15] graph: introduce stream moving cross cores Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 10/15] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 11/15] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 12/15] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 13/15] graph: add stats for corss-core dispatching Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 14/15] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-03-24  2:16   ` [PATCH v2 15/15] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-03-29  6:43   ` [PATCH v3 00/15] graph enhancement for multi-core dispatch Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 01/15] graph: rename rte_graph_work as common Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 02/15] graph: split graph worker into common and default model Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 03/15] graph: move node process into inline function Zhirun Yan
2023-03-29 15:34       ` Stephen Hemminger
2023-03-29 15:41         ` Jerin Jacob
2023-03-29  6:43     ` [PATCH v3 04/15] graph: add get/set graph worker model APIs Zhirun Yan
2023-03-29 15:35       ` Stephen Hemminger
2023-03-30  3:37         ` Yan, Zhirun
2023-03-29  6:43     ` [PATCH v3 05/15] graph: introduce graph node core affinity API Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 06/15] graph: introduce graph bind unbind API Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 07/15] graph: introduce graph clone API for other worker core Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 08/15] graph: add struct for stream moving between cores Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 09/15] graph: introduce stream moving cross cores Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 10/15] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 11/15] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 12/15] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 13/15] graph: add stats for cross-core dispatching Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 14/15] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-03-29  6:43     ` [PATCH v3 15/15] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-03-30  6:18     ` [PATCH v4 00/15] graph enhancement for multi-core dispatch Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 01/15] graph: rename rte_graph_work as common Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 02/15] graph: split graph worker into common and default model Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 03/15] graph: move node process into inline function Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 04/15] graph: add get/set graph worker model APIs Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 05/15] graph: introduce graph node core affinity API Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 06/15] graph: introduce graph bind unbind API Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 07/15] graph: introduce graph clone API for other worker core Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 08/15] graph: add struct for stream moving between cores Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 09/15] graph: introduce stream moving cross cores Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 10/15] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 11/15] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 12/15] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 13/15] graph: add stats for cross-core dispatching Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 14/15] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-03-30  6:18       ` [PATCH v4 15/15] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-03-31  4:02       ` [PATCH v5 00/15] graph enhancement for multi-core dispatch Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 01/15] graph: rename rte_graph_work as common Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 02/15] graph: split graph worker into common and default model Zhirun Yan
2023-04-27 14:11           ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-05-05  2:09             ` Yan, Zhirun
2023-03-31  4:02         ` [PATCH v5 03/15] graph: move node process into inline function Zhirun Yan
2023-04-27 15:03           ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-05-05  2:10             ` Yan, Zhirun
2023-03-31  4:02         ` [PATCH v5 04/15] graph: add get/set graph worker model APIs Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 05/15] graph: introduce graph node core affinity API Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 06/15] graph: introduce graph bind unbind API Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 07/15] graph: introduce graph clone API for other worker core Zhirun Yan
2023-03-31  4:02         ` [PATCH v5 08/15] graph: add struct for stream moving between cores Zhirun Yan
2023-03-31  4:03         ` [PATCH v5 09/15] graph: introduce stream moving cross cores Zhirun Yan
2023-04-27 14:52           ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-05-05  2:10             ` Yan, Zhirun
2023-03-31  4:03         ` [PATCH v5 10/15] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-03-31  4:03         ` [PATCH v5 11/15] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-04-27 14:58           ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-05-05  2:09             ` Yan, Zhirun
2023-03-31  4:03         ` [PATCH v5 12/15] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-03-31  4:03         ` [PATCH v5 13/15] graph: add stats for cross-core dispatching Zhirun Yan
2023-03-31  4:03         ` [PATCH v5 14/15] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-03-31  4:03         ` [PATCH v5 15/15] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-05-09  6:03         ` [PATCH v6 00/15] graph enhancement for multi-core dispatch Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 01/15] graph: rename rte_graph_work as common Zhirun Yan
2023-05-22  8:25             ` Jerin Jacob
2023-05-23  8:13               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 02/15] graph: split graph worker into common and default model Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 03/15] graph: move node process into inline function Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 04/15] graph: add get/set graph worker model APIs Zhirun Yan
2023-05-24  6:08             ` Jerin Jacob
2023-05-26  9:58               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 05/15] graph: introduce graph node core affinity API Zhirun Yan
2023-05-24  6:36             ` Jerin Jacob
2023-05-26 10:00               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 06/15] graph: introduce graph bind unbind API Zhirun Yan
2023-05-24  6:23             ` Jerin Jacob
2023-05-26 10:00               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 07/15] graph: introduce graph clone API for other worker core Zhirun Yan
2023-05-24  7:14             ` Jerin Jacob
2023-05-26 10:02               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 08/15] graph: add struct for stream moving between cores Zhirun Yan
2023-05-24  7:24             ` Jerin Jacob
2023-05-26 10:02               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 09/15] graph: introduce stream moving cross cores Zhirun Yan
2023-05-24  8:00             ` Jerin Jacob
2023-05-26 10:03               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 10/15] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 11/15] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 12/15] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-05-24  8:45             ` Jerin Jacob
2023-05-26 10:04               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 13/15] graph: add stats for cross-core dispatching Zhirun Yan
2023-05-24  8:08             ` Jerin Jacob
2023-05-26 10:03               ` Yan, Zhirun
2023-05-09  6:03           ` [PATCH v6 14/15] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-05-09  6:03           ` [PATCH v6 15/15] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-05-24  8:12             ` Jerin Jacob
2023-05-26 10:04               ` Yan, Zhirun
2023-06-05 11:19           ` [PATCH v7 00/15] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 01/17] graph: rename rte_graph_work as common Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 02/17] graph: split graph worker into common and default model Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 03/17] graph: move node process into inline function Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 04/17] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-05 12:38               ` Jerin Jacob
2023-06-06  4:30                 ` Yan, Zhirun
2023-06-06  5:48                   ` Jerin Jacob
2023-06-06  6:34                     ` Yan, Zhirun
2023-06-06  6:39                       ` Jerin Jacob
2023-06-05 11:19             ` [PATCH v7 05/17] graph: introduce graph node core affinity API Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 06/17] graph: introduce graph bind unbind API Zhirun Yan
2023-06-05 12:41               ` Jerin Jacob
2023-06-06  4:30                 ` Yan, Zhirun
2023-06-05 11:19             ` [PATCH v7 07/17] graph: move node clone name func into private as common Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 08/17] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 09/17] graph: add structure for stream moving between cores Zhirun Yan
2023-06-05 12:46               ` Jerin Jacob
2023-06-06  4:30                 ` Yan, Zhirun
2023-06-05 11:19             ` [PATCH v7 10/17] graph: introduce stream moving cross cores Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 11/17] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 12/17] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 13/17] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 14/17] graph: add stats for cross-core dispatching Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 15/17] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-06-05 13:42               ` Jerin Jacob
2023-06-06  5:10                 ` Yan, Zhirun
2023-06-06  5:55                   ` Jerin Jacob
2023-06-06  8:51                     ` Yan, Zhirun
2023-06-05 11:19             ` [PATCH v7 16/17] test/graph: add functional tests for mcore dispatch model Zhirun Yan
2023-06-05 11:19             ` [PATCH v7 17/17] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-06-06 14:47             ` [PATCH v8 00/17] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 01/17] graph: rename rte_graph_work as common Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 02/17] graph: split graph worker into common and default model Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 03/17] graph: move node process into inline function Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 04/17] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 05/17] graph: introduce graph node core affinity API Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 06/17] graph: introduce graph bind unbind API Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 07/17] graph: move node clone name func into private as common Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 08/17] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 09/17] graph: add structure for stream moving between cores Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 10/17] graph: introduce stream moving cross cores Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 11/17] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 12/17] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 13/17] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 14/17] graph: add stats for cross-core dispatching Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 15/17] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 16/17] test/graph: add functional tests for mcore dispatch model Zhirun Yan
2023-06-06 14:47               ` [PATCH v8 17/17] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-06-07  3:51               ` [PATCH v9 00/17] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-07  3:51                 ` [PATCH v9 01/17] graph: rename rte_graph_work as common Zhirun Yan
2023-06-07  7:28                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 02/17] graph: split graph worker into common and default model Zhirun Yan
2023-06-07  7:30                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 03/17] graph: move node process into inline function Zhirun Yan
2023-06-07  7:31                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 04/17] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-07  7:42                   ` Jerin Jacob
2023-06-07 12:25                     ` Yan, Zhirun
2023-06-07 13:28                       ` Jerin Jacob
2023-06-08  3:08                         ` Yan, Zhirun
2023-06-07  3:51                 ` [PATCH v9 05/17] graph: introduce graph node core affinity API Zhirun Yan
2023-06-07  7:56                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 06/17] graph: introduce graph bind unbind API Zhirun Yan
2023-06-07  7:59                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 07/17] graph: move node clone name func into private as common Zhirun Yan
2023-06-07  8:01                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 08/17] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-07  8:04                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 09/17] graph: add structure for stream moving between cores Zhirun Yan
2023-06-07  3:51                 ` [PATCH v9 10/17] graph: introduce stream moving cross cores Zhirun Yan
2023-06-07  3:51                 ` [PATCH v9 11/17] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-07  3:51                 ` [PATCH v9 12/17] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-07  8:09                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 13/17] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-07  8:15                   ` Jerin Jacob
2023-06-07 12:25                     ` Yan, Zhirun
2023-06-07 13:26                       ` Jerin Jacob
2023-06-08  3:08                         ` Yan, Zhirun
2023-06-08  5:33                           ` Jerin Jacob
2023-06-08  7:06                             ` Yan, Zhirun
2023-06-07  3:51                 ` [PATCH v9 14/17] graph: add stats for cross-core dispatching Zhirun Yan
2023-06-07  8:20                   ` Jerin Jacob
2023-06-07  3:51                 ` [PATCH v9 15/17] examples/l3fwd-graph: introduce multicore dispatch worker model Zhirun Yan
2023-06-07  8:27                   ` Jerin Jacob
2023-06-07 12:26                     ` Yan, Zhirun
2023-06-07 13:58                       ` Jerin Jacob
2023-06-08  2:58                         ` Yan, Zhirun
2023-06-07  3:51                 ` [PATCH v9 16/17] test/graph: add functional tests for mcore dispatch model Zhirun Yan
2023-06-07  3:51                 ` [PATCH v9 17/17] doc: update multicore dispatch model in graph guides Zhirun Yan
2023-06-07 12:45                   ` Jerin Jacob
2023-06-08  3:21                     ` Yan, Zhirun
2023-06-08  9:57                 ` [PATCH v10 00/16] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 01/16] graph: rename rte_graph_work as common Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 03/16] graph: move node process into inline function Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-08 10:38                     ` Jerin Jacob
2023-06-08  9:57                   ` [PATCH v10 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-08 10:40                     ` Jerin Jacob
2023-06-08 13:47                       ` Yan, Zhirun
2023-06-08  9:57                   ` [PATCH v10 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-08  9:57                   ` [PATCH v10 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-08 13:39                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-08 13:43                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-08 13:43                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-08 10:42                     ` Jerin Jacob
2023-06-08 14:29                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-08 13:11                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-08 12:27                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08  9:57                   ` [PATCH v10 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model Zhirun Yan
2023-06-08 10:45                     ` Jerin Jacob
2023-06-08 12:08                     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-06-08 13:50                       ` Yan, Zhirun
2023-06-08 15:18                   ` [PATCH v11 00/16] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 01/16] graph: rename rte_graph_work as common Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 03/16] graph: move node process into inline function Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-08 15:18                     ` [PATCH v11 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model Zhirun Yan
2023-06-08 15:30                     ` [PATCH v11 00/16] graph enhancement for multi-core dispatch Jerin Jacob
2023-06-09 13:39                       ` David Marchand
2023-06-09 14:36                         ` David Marchand
2023-06-09 15:47                           ` Yan, Zhirun
2023-06-12 14:55                             ` David Marchand
2023-06-13  8:06                               ` Yan, Zhirun
2023-06-09 19:12                     ` [PATCH v12 " Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 01/16] graph: rename rte_graph_work as common Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 03/16] graph: move node process into inline function Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-09 19:12                       ` [PATCH v12 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model Zhirun Yan
2023-06-13 10:13                       ` [PATCH v13 00/16] graph enhancement for multi-core dispatch Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 01/16] graph: rename rte_graph_work as common Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 03/16] graph: move node process into inline function Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-13 10:13                         ` [PATCH v13 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-13 10:14                         ` [PATCH v13 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-13 10:14                         ` [PATCH v13 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-13 10:14                         ` [PATCH v13 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-13 10:14                         ` [PATCH v13 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-13 10:14                         ` Zhirun Yan [this message]
2023-06-13 11:12                         ` [PATCH v13 00/16] graph enhancement for multi-core dispatch Jerin Jacob
2023-06-13 11:26                           ` Yan, Zhirun
2023-06-13 14:04                         ` [PATCH v14 " Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 01/16] graph: rename rte_graph_work as common Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 03/16] graph: move node process into inline function Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-13 14:04                           ` [PATCH v14 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model Zhirun Yan
2023-06-13 14:40                           ` [PATCH v14 00/16] graph enhancement for multi-core dispatch David Marchand
2023-06-13 16:08                             ` Jerin Jacob
2023-06-14  1:52                               ` Yan, Zhirun
2023-06-14 15:58                           ` [PATCH v15 " Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 01/16] graph: rename rte graph worker header as common Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 02/16] graph: split graph worker into common and default model Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 03/16] graph: move node process into inline function Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 04/16] graph: add get/set graph worker model APIs Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 05/16] graph: introduce graph node core affinity API Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 06/16] graph: introduce graph bind unbind API Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 07/16] graph: move node clone name func into private as common Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 08/16] graph: introduce graph clone API for other worker core Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 09/16] graph: add structure for stream moving between cores Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 10/16] graph: introduce stream moving cross cores Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 11/16] graph: enable create and destroy graph scheduling workqueue Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 12/16] graph: introduce graph walk by cross-core dispatch Zhirun Yan
2023-06-14 15:58                             ` [PATCH v15 13/16] graph: enable graph multicore dispatch scheduler model Zhirun Yan
2023-06-14 15:59                             ` [PATCH v15 14/16] graph: add stats for mcore dispatch model Zhirun Yan
2023-06-14 15:59                             ` [PATCH v15 15/16] test/graph: add functional tests " Zhirun Yan
2023-06-14 15:59                             ` [PATCH v15 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model Zhirun Yan
2023-06-19 20:45                             ` [PATCH v15 00/16] graph enhancement for multi-core dispatch David Marchand

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=20230613101404.1787790-17-zhirun.yan@intel.com \
    --to=zhirun.yan@intel.com \
    --cc=cunming.liang@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jerinjacobk@gmail.com \
    --cc=kirankumark@marvell.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=ndabilpuram@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=stephen@networkplumber.org \
    /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).