[PATCH] maintainers: update for graph libraries

2024-02-22 Thread Zhirun Yan
Update the email address for graph libraries. Signed-off-by: Zhirun Yan --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 962c359cdd..ff71dc2825 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1738,7 +1738,7 @@ Graph M: Jerin

[PATCH v1] test/graph: fix unused return value

2023-07-20 Thread Zhirun Yan
Return value stored in "ret" but it may be overwritten before use. Add goto to return when meet an error. Issue reported by coverity scan. Coverity issue: 395532 Fixes: 15f483feec65 ("graph: fix model check in core binding") Signed-off-by: Zhirun Yan --- app/te

[PATCH v4 2/2] graph: fix graph model check in core binding

2023-07-10 Thread Zhirun Yan
nbind API") Signed-off-by: Zhirun Yan --- 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

[PATCH v4 1/2] graph: fix graph functional tests with valid params

2023-07-10 Thread Zhirun Yan
rte_graph_clone() should use valid param rather than NULL pointer, cause it needs the param for alloc work queue memory for mcore dispatch model in graph_sched_wq_create(). Fixes: 67e2303cd823 ("test/graph: add functional tests for mcore dispatch model") Signed-off-by: Zhirun Yan ---

[PATCH v4 0/2] fix graph issues

2023-07-10 Thread Zhirun Yan
Fix graph clone issue in functional test. Correct graph model check in graph core binding. Update release note for mcore dispatch model. Zhirun Yan (2): graph: fix graph functional tests with valid params graph: fix graph model check in core binding app/test/test_graph.c

[PATCH v3] graph: fix graph model check in core binding

2023-07-04 Thread Zhirun Yan
ional tests for mcore dispatch model") Signed-off-by: Zhirun Yan --- app/test/test_graph.c | 15 --- doc/guides/rel_notes/release_23_07.rst | 11 +++ lib/graph/graph.c | 2 +- 3 files changed, 24 insertions(+), 4 deletions(-) d

[PATCH v2] graph: fix graph model check in core binding

2023-07-03 Thread Zhirun Yan
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 --- app/test/test_graph.c | 15 --- doc/guides/rel_notes

[PATCH v1] graph: fix graph model check in core binding

2023-07-03 Thread Zhirun Yan
Fix graph model check in core binding with graph. Update release notes for new mcore dispatch model. Signed-off-by: Zhirun Yan --- doc/guides/rel_notes/release_23_07.rst | 12 lib/graph/graph.c | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff

[PATCH v15 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-14 Thread Zhirun Yan
-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- doc/guides/sample_app_ug/l3_forward_graph.rst | 16 ++ examples/l3fwd-graph/main.c | 230 +++--- 2 files changed, 208 insertions(+), 38 deletions(-) diff --

[PATCH v15 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-14 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- app/test/test_graph.c | 130

[PATCH v15 14/16] graph: add stats for mcore dispatch model

2023-06-14 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c

[PATCH v15 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-14 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh

[PATCH v15 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-14 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/rte_graph_model_mcore_dispatch.h | 43 ++ 1 file changed, 43 insertions(+) diff

[PATCH v15 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-14 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib/graph/graph.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion

[PATCH v15 10/16] graph: introduce stream moving cross cores

2023-06-14 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib

[PATCH v15 09/16] graph: add structure for stream moving between cores

2023-06-14 Thread Zhirun Yan
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 2 ++ lib/graph/graph_populate.c | 1 + lib/graph/graph_private.h | 12

[PATCH v15 08/16] graph: introduce graph clone API for other worker core

2023-06-14 Thread Zhirun Yan
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph.c | 89

[PATCH v15 07/16] graph: move node clone name func into private as common

2023-06-14 Thread Zhirun Yan
Move clone_name() into graph_private.h as a common function for both node and graph to naming a new cloned object. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h | 41

[PATCH v15 06/16] graph: introduce graph bind unbind API

2023-06-14 Thread Zhirun Yan
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan

[PATCH v15 05/16] graph: introduce graph node core affinity API

2023-06-14 Thread Zhirun Yan
Add lcore_id for node to hold affinity core id and impl rte_graph_model_mcore_dispatch_lcore_affinity_set to set node affinity with specific lcore. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h

[PATCH v15 04/16] graph: add get/set graph worker model APIs

2023-06-14 Thread Zhirun Yan
Add new get/set APIs to configure graph worker model which is used to determine which model will be chosen. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/meson.build | 1 + lib/graph/rte_graph_worker.c

[PATCH v15 03/16] graph: move node process into inline function

2023-06-14 Thread Zhirun Yan
Node process is a single and reusable block, move the code into an inline function. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_rtc.h | 20 ++--- lib/graph/rte_graph_worker_common.h | 33

[PATCH v15 02/16] graph: split graph worker into common and default model

2023-06-14 Thread Zhirun Yan
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion). Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob

[PATCH v15 01/16] graph: rename rte graph worker header as common

2023-06-14 Thread Zhirun Yan
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- MAINTAINERS | 3 ++- app/test/test_graph.c

[PATCH v15 00/16] graph enhancement for multi-core dispatch

2023-06-14 Thread Zhirun Yan
l choosing. We could run with new worker model by this: ./dpdk-l3fwd-graph -l 8,9,10,11 -n 4 -- -p 0x1 --config="(0,0,9)" -P --model="dispatch" References: https://static.sched.com/hosted_files/dpdkuserspace22/a6/graph%20introduce%20remote%20dispatch%20for%20mult-core%20scaling.pdf

[PATCH v14 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-13 Thread Zhirun Yan
-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- doc/guides/sample_app_ug/l3_forward_graph.rst | 16 ++ examples/l3fwd-graph/main.c | 230 +++--- 2 files changed, 208 insertions(+), 38 deletions(-) diff --

[PATCH v14 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-13 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- app/test/test_graph.c | 130

[PATCH v14 14/16] graph: add stats for mcore dispatch model

2023-06-13 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c

[PATCH v14 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-13 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh

[PATCH v14 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-13 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/rte_graph_model_mcore_dispatch.h | 44 ++ 1 file changed, 44 insertions(+) diff

[PATCH v14 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-13 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib/graph/graph.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib

[PATCH v14 10/16] graph: introduce stream moving cross cores

2023-06-13 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib

[PATCH v14 09/16] graph: add structure for stream moving between cores

2023-06-13 Thread Zhirun Yan
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 2 ++ lib/graph/graph_populate.c | 1 + lib/graph/graph_private.h | 12

[PATCH v14 08/16] graph: introduce graph clone API for other worker core

2023-06-13 Thread Zhirun Yan
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph.c | 89

[PATCH v14 07/16] graph: move node clone name func into private as common

2023-06-13 Thread Zhirun Yan
Move clone_name() into graph_private.h as a common function for both node and graph to naming a new cloned object. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h | 41

[PATCH v14 06/16] graph: introduce graph bind unbind API

2023-06-13 Thread Zhirun Yan
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan

[PATCH v14 05/16] graph: introduce graph node core affinity API

2023-06-13 Thread Zhirun Yan
Add lcore_id for node to hold affinity core id and impl rte_graph_model_mcore_dispatch_lcore_affinity_set to set node affinity with specific lcore. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h

[PATCH v14 04/16] graph: add get/set graph worker model APIs

2023-06-13 Thread Zhirun Yan
Add new get/set APIs to configure graph worker model which is used to determine which model will be chosen. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/meson.build | 1 + lib/graph/rte_graph_worker.c

[PATCH v14 03/16] graph: move node process into inline function

2023-06-13 Thread Zhirun Yan
Node process is a single and reusable block, move the code into an inline function. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_rtc.h | 20 ++--- lib/graph/rte_graph_worker_common.h | 33

[PATCH v14 02/16] graph: split graph worker into common and default model

2023-06-13 Thread Zhirun Yan
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion). Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob

[PATCH v14 01/16] graph: rename rte_graph_work as common

2023-06-13 Thread Zhirun Yan
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- MAINTAINERS | 3 ++- app/test/test_graph.c

[PATCH v14 00/16] graph enhancement for multi-core dispatch

2023-06-13 Thread Zhirun Yan
for new models. 9. Abstract default graph config process and integrate new model into example/l3fwd-graph. Add new parameters for model choosing. We could run with new worker model by this: ./dpdk-l3fwd-graph -l 8,9,10,11 -n 4 -- -p 0x1 --config="(0,0,9)" -P --model="dispatch"

[PATCH v13 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-13 Thread Zhirun Yan
-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- doc/guides/sample_app_ug/l3_forward_graph.rst | 16 ++ examples/l3fwd-graph/main.c | 230 +++--- 2 files changed, 208 insertions(+), 38 deletions(-) diff --

[PATCH v13 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-13 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- app/test/test_graph.c | 130

[PATCH v13 14/16] graph: add stats for mcore dispatch model

2023-06-13 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c

[PATCH v13 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-13 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh

[PATCH v13 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-13 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/rte_graph_model_mcore_dispatch.h | 44 ++ 1 file changed, 44 insertions(+) diff

[PATCH v13 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-13 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib/graph/graph.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib

[PATCH v13 10/16] graph: introduce stream moving cross cores

2023-06-13 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib

[PATCH v13 09/16] graph: add structure for stream moving between cores

2023-06-13 Thread Zhirun Yan
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 2 ++ lib/graph/graph_populate.c | 1 + lib/graph/graph_private.h | 12

[PATCH v13 08/16] graph: introduce graph clone API for other worker core

2023-06-13 Thread Zhirun Yan
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph.c | 89

[PATCH v13 07/16] graph: move node clone name func into private as common

2023-06-13 Thread Zhirun Yan
Move clone_name() into graph_private.h as a common function for both node and graph to naming a new cloned object. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h | 41

[PATCH v13 06/16] graph: introduce graph bind unbind API

2023-06-13 Thread Zhirun Yan
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan

[PATCH v13 05/16] graph: introduce graph node core affinity API

2023-06-13 Thread Zhirun Yan
Add lcore_id for node to hold affinity core id and impl rte_graph_model_mcore_dispatch_lcore_affinity_set to set node affinity with specific lcore. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h

[PATCH v13 04/16] graph: add get/set graph worker model APIs

2023-06-13 Thread Zhirun Yan
Add new get/set APIs to configure graph worker model which is used to determine which model will be chosen. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/meson.build | 1 + lib/graph/rte_graph_worker.c

[PATCH v13 03/16] graph: move node process into inline function

2023-06-13 Thread Zhirun Yan
Node process is a single and reusable block, move the code into an inline function. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_rtc.h | 20 ++--- lib/graph/rte_graph_worker_common.h | 33

[PATCH v13 02/16] graph: split graph worker into common and default model

2023-06-13 Thread Zhirun Yan
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion). Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob

[PATCH v13 01/16] graph: rename rte_graph_work as common

2023-06-13 Thread Zhirun Yan
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- MAINTAINERS | 3 ++- app/test/test_graph.c

[PATCH v13 00/16] graph enhancement for multi-core dispatch

2023-06-13 Thread Zhirun Yan
into example/l3fwd-graph. Add new parameters for model choosing. We could run with new worker model by this: ./dpdk-l3fwd-graph -l 8,9,10,11 -n 4 -- -p 0x1 --config="(0,0,9)" -P --model="dispatch" References: https://static.sched.com/hosted_files/dpdkuserspace22/a6/graph%20int

[PATCH v12 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-09 Thread Zhirun Yan
-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- doc/guides/sample_app_ug/l3_forward_graph.rst | 16 ++ examples/l3fwd-graph/main.c | 230 +++--- 2 files changed, 208 insertions(+), 38 deletions(-) diff --

[PATCH v12 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-09 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- app/test/test_graph.c | 130

[PATCH v12 14/16] graph: add stats for mcore dispatch model

2023-06-09 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c

[PATCH v12 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-09 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh

[PATCH v12 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-09 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib/graph/graph.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib

[PATCH v12 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-09 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/rte_graph_model_mcore_dispatch.h | 44 ++ 1 file changed, 44 insertions(+) diff

[PATCH v12 10/16] graph: introduce stream moving cross cores

2023-06-09 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib

[PATCH v12 09/16] graph: add structure for stream moving between cores

2023-06-09 Thread Zhirun Yan
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 2 ++ lib/graph/graph_populate.c | 1 + lib/graph/graph_private.h | 12

[PATCH v12 08/16] graph: introduce graph clone API for other worker core

2023-06-09 Thread Zhirun Yan
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph.c | 89

[PATCH v12 07/16] graph: move node clone name func into private as common

2023-06-09 Thread Zhirun Yan
Move clone_name() into graph_private.h as a common function for both node and graph to naming a new cloned object. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h | 41

[PATCH v12 06/16] graph: introduce graph bind unbind API

2023-06-09 Thread Zhirun Yan
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan

[PATCH v12 05/16] graph: introduce graph node core affinity API

2023-06-09 Thread Zhirun Yan
Add lcore_id for node to hold affinity core id and impl rte_graph_model_mcore_dispatch_lcore_affinity_set to set node affinity with specific lcore. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h

[PATCH v12 04/16] graph: add get/set graph worker model APIs

2023-06-09 Thread Zhirun Yan
Add new get/set APIs to configure graph worker model which is used to determine which model will be chosen. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/meson.build | 1 + lib/graph/rte_graph_worker.c

[PATCH v12 03/16] graph: move node process into inline function

2023-06-09 Thread Zhirun Yan
Node process is a single and reusable block, move the code into an inline function. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_rtc.h | 20 ++--- lib/graph/rte_graph_worker_common.h | 33

[PATCH v12 02/16] graph: split graph worker into common and default model

2023-06-09 Thread Zhirun Yan
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion). Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob

[PATCH v12 01/16] graph: rename rte_graph_work as common

2023-06-09 Thread Zhirun Yan
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- MAINTAINERS | 3 ++- app/test/test_graph.c

[PATCH v12 00/16] graph enhancement for multi-core dispatch

2023-06-09 Thread Zhirun Yan
-queue in patch 8~12. 8. Add stats for new models. 9. Abstract default graph config process and integrate new model into example/l3fwd-graph. Add new parameters for model choosing. We could run with new worker model by this: ./dpdk-l3fwd-graph -l 8,9,10,11 -n 4 -- -p 0x1 --config="(0,0,9)&q

[PATCH v11 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-08 Thread Zhirun Yan
-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- doc/guides/sample_app_ug/l3_forward_graph.rst | 16 ++ examples/l3fwd-graph/main.c | 230 +++--- 2 files changed, 208 insertions(+), 38 deletions(-) diff --

[PATCH v11 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-08 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- app/test/test_graph.c | 130

[PATCH v11 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-08 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh

[PATCH v11 14/16] graph: add stats for mcore dispatch model

2023-06-08 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c

[PATCH v11 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-08 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob Acked-by: Pavan Nikhilesh --- lib/graph/rte_graph_model_mcore_dispatch.h | 44 ++ 1 file changed, 44 insertions(+) diff

[PATCH v11 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-08 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib/graph/graph.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib

[PATCH v11 10/16] graph: introduce stream moving cross cores

2023-06-08 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Pavan Nikhilesh --- lib

[PATCH v11 08/16] graph: introduce graph clone API for other worker core

2023-06-08 Thread Zhirun Yan
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph.c | 89

[PATCH v11 09/16] graph: add structure for stream moving between cores

2023-06-08 Thread Zhirun Yan
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 2 ++ lib/graph/graph_populate.c | 1 + lib/graph/graph_private.h | 12

[PATCH v11 07/16] graph: move node clone name func into private as common

2023-06-08 Thread Zhirun Yan
Move clone_name() into graph_private.h as a common function for both node and graph to naming a new cloned object. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h | 41

[PATCH v11 06/16] graph: introduce graph bind unbind API

2023-06-08 Thread Zhirun Yan
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan

[PATCH v11 05/16] graph: introduce graph node core affinity API

2023-06-08 Thread Zhirun Yan
Add lcore_id for node to hold affinity core id and impl rte_graph_model_mcore_dispatch_lcore_affinity_set to set node affinity with specific lcore. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_private.h

[PATCH v11 04/16] graph: add get/set graph worker model APIs

2023-06-08 Thread Zhirun Yan
Add new get/set APIs to configure graph worker model which is used to determine which model will be chosen. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/meson.build | 1 + lib/graph/rte_graph_worker.c

[PATCH v11 03/16] graph: move node process into inline function

2023-06-08 Thread Zhirun Yan
Node process is a single and reusable block, move the code into an inline function. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_rtc.h | 20 ++--- lib/graph/rte_graph_worker_common.h | 33

[PATCH v11 02/16] graph: split graph worker into common and default model

2023-06-08 Thread Zhirun Yan
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion). Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob

[PATCH v11 01/16] graph: rename rte_graph_work as common

2023-06-08 Thread Zhirun Yan
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- MAINTAINERS | 3 ++- lib/graph

[PATCH v11 00/16] graph enhancement for multi-core dispatch

2023-06-08 Thread Zhirun Yan
-queue in patch 8~12. 8. Add stats for new models. 9. Abstract default graph config process and integrate new model into example/l3fwd-graph. Add new parameters for model choosing. We could run with new worker model by this: ./dpdk-l3fwd-graph -l 8,9,10,11 -n 4 -- -p 0x1 --config="(0,0,9)

[PATCH v10 15/16] test/graph: add functional tests for mcore dispatch model

2023-06-08 Thread Zhirun Yan
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- app/test/test_graph.c | 130

[PATCH v10 16/16] examples/l3fwd-graph: introduce mcore dispatch worker model

2023-06-08 Thread Zhirun Yan
-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- 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.r

[PATCH v10 14/16] graph: add stats for mcore dispatch model

2023-06-08 Thread Zhirun Yan
Add stats for mcore dispatch model if stats collection is enabled. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/graph_debug.c| 6 ++ lib/graph/graph_stats.c| 76

[PATCH v10 12/16] graph: introduce graph walk by cross-core dispatch

2023-06-08 Thread Zhirun Yan
queue first, then handle the local work queue. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan Acked-by: Jerin Jacob --- lib/graph/rte_graph_model_mcore_dispatch.h | 44 ++ 1 file changed, 44 insertions(+) diff --git a/lib/graph

[PATCH v10 13/16] graph: enable graph multicore dispatch scheduler model

2023-06-08 Thread Zhirun Yan
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- doc/guides/prog_guide/graph_lib.rst | 71

[PATCH v10 11/16] graph: enable create and destroy graph scheduling workqueue

2023-06-08 Thread Zhirun Yan
This patch enables to create and destroy scheduling workqueue into common graph operations. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib/graph/graph.c b/lib/graph

[PATCH v10 10/16] graph: introduce stream moving cross cores

2023-06-08 Thread Zhirun Yan
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch model. Signed-off-by: Haiyue Wang Signed-off-by: Cunming Liang Signed-off-by: Zhirun Yan --- lib/graph/graph.c

  1   2   3   4   >