FDIR
Zhirun Yan (2):
net/ice/base: extend VXLAN type with inner pattern for FDIR
net/ice: fix outer src mac as FDIR input field
drivers/net/ice/base/ice_fdir.c | 4 +-
drivers/net/ice/ice_ethdev.h | 11 +++
drivers/net/ice/ice_fdir_filter.c | 131 --
3
-by: Zhirun Yan
---
drivers/net/ice/base/ice_fdir.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
index ae76361102..6dbd70abaa 100644
--- a/drivers/net/ice/base/ice_fdir.c
+++ b/drivers/net/ice/base
Add src mac in input set map. If not add this, the src mac can not
be parsed and this field will be ignored.
Add outer mac as extracted key input to avoid rule conflict for VXLAN
rule when outer src mac change only.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_ethdev.h | 3
From: Xiao Wang
The supported protocol fields e.g. outer tuples should be included in
the key definition of rte_hash table. Besides, a protocol field should
be used only when the corresponding mask is set.
Signed-off-by: Xiao Wang
---
drivers/net/ice/ice_ethdev.h | 8 ++
drivers/net/ice
reserved field adjacent should always be 0.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 23 ---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ice/ice_fdir_filter.c
b/drivers/net/ice/ice_fdir_filter.c
index 3af5812660..92e18d59cc
, using input_set_f for outer,
input_set_l for inner or non-tunnel fields.
Adjust indentation for easy review.
Enable VXLAN inner/outer fields.
Zhirun Yan (3):
net/ice: clean input set macro definition
net/ice: refactor flow pattern parser
net/ice: add outer input set mask to distinguish outer
the redundant inner/outer info.
ICE_INSET_TUN_* is used by switch module, should be removed after
switch refactor.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 8 +-
drivers/net/ice/ice_generic_flow.h | 234 -
2 files changed, 104 insertions
ed as tunnel and QFI, TEID should
set into input_set_f.
todo:
1. Distinguish gtpu input set. Put QFI, TEID into input set outer.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 478 +++---
1 file changed, 239 insertions(+), 239 deletions(-)
diff --
Add 64-bit input_set_mask_f for outer inputset. input_set_mask_f is
used for inner fields or non-tunnel fields. Adjust indentation of
ice_pattern_match_item list in switch, ACL, RSS and FDIR for easy
review. For fields in tunnel layer, put them in outer part.
Signed-off-by: Zhirun Yan
, using input_set_f for outer,
input_set_l for inner or non-tunnel fields.
Adjust indentation for easy review.
Enable VXLAN inner/outer fields.
Zhirun Yan (6):
net/ice: clean input set macro definition
net/ice: refactor structure field
net/ice: refactor flow pattern parser
net/ice: refactor
the redundant inner/outer info.
ICE_INSET_TUN_* is used by switch module, should be removed after
switch refactor.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 8 +-
drivers/net/ice/ice_generic_flow.h | 234 -
2 files changed, 104 insertions
This patch use input_set_o and input_set_i to distinguish inner/outer
input set. input_set_i is only used for inner field.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_ethdev.h | 4 ++--
drivers/net/ice/ice_fdir_filter.c | 6 +++---
2 files changed, 5 insertions(+), 5 deletions
avior.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 475 +++---
1 file changed, 236 insertions(+), 239 deletions(-)
diff --git a/drivers/net/ice/ice_fdir_filter.c
b/drivers/net/ice/ice_fdir_filter.c
index 570ec56058..6bee2b1167 100644
--- a/drivers/ne
For tunnel or non-tunnel packet, the input set is in outer_input_set
and use seg_tun[0]. seg_tun[1] is only used for tunnel inner fields.
This patch make align with input_set inner/outer with seg_tun[] and
simplify it.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 12
use
input_set_mask_o and set the input_set_mask_i all none.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_acl_filter.c| 10 +-
drivers/net/ice/ice_fdir_filter.c | 72 ---
drivers/net/ice/ice_generic_flow.c | 6 +-
drivers/net/ice/ice_generic_flow.h | 3 +-
drivers/net/ice
Currently, FDIR only support GTPU outer fields in PF. Clean the
redundant GTPU inner info in flow type definition and align with
shared code.
Signed-off-by: Zhirun Yan
Signed-off-by: Junfeng Guo
---
drivers/net/ice/ice_fdir_filter.c | 19 ---
1 file changed, 8 insertions(+), 11
Support to add large action to set 32 bits markid via switch filter.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/base/ice_switch.c | 216 +-
drivers/net/ice/base/ice_switch.h | 44 ++
drivers/net/ice/base/ice_type.h | 1 +
3 files changed, 258 insertions
This patch add mark action in switch filter.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_switch_filter.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/net/ice/ice_switch_filter.c
b/drivers/net/ice/ice_switch_filter.c
index 110d8895fe..1ff4b1afda 100644
--- a
troduce graph clone API.
7. Introduce stream moving with scheduler work-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 th
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
---
MAINTAINERS | 1 +
lib/graph/graph_pcap.c
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
---
lib/graph/graph_pcap.c
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
---
lib/graph/rte_graph_model_rtc.h | 20 ++---
lib/graph/rte_graph_worker_common.h | 33
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
---
lib/graph/meson.build | 1 +
lib/graph/rte_graph_worker.c| 54
Add lcore_id for node to hold affinity core id and impl
rte_graph_model_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
---
lib/graph/graph_private.h| 1 +
lib/graph
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
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
---
lib/graph/graph.c | 110
Add graph_sched_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 | 1 +
lib/graph/graph_populate.c | 1 +
lib/graph/graph_private.h | 12
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.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph.c| 6 +-
lib/graph
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 | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/graph/graph.c b/lib/graph
queue first, then handle the local work queue.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_model_dispatch.h | 43
1 file changed, 43 insertions(+)
diff --git a/lib/graph/rte_graph_model_dispatch.h
b/lib
This patch enables to chose new scheduler model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_worker.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph
Add stats for cross-core dispatching scheduler if stats collection is
enabled.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_debug.c | 6 +++
lib/graph/graph_stats.c | 74 +---
lib/graph
Update graph documentation to introduce new multicore dispatch model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
doc/guides/prog_guide/graph_lib.rst | 59 +++--
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a
,9)" -P
--model="dispatch"
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
examples/l3fwd-graph/main.c | 236 +---
1 file changed, 194 insertions(+), 42 deletions(-)
diff --git a/examples/l3fwd-graph/main.c b/exa
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
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
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)" -P
--model
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
---
MAINTAINERS | 1 +
lib/graph/graph_pcap.c
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
---
lib/graph/graph_pcap.c
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
---
lib/graph/rte_graph_model_rtc.h | 20 ++---
lib/graph/rte_graph_worker_common.h | 33
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
---
lib/graph/meson.build | 1 +
lib/graph/rte_graph_worker.c| 54
Add lcore_id for node to hold affinity core id and impl
rte_graph_model_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
---
lib/graph/graph_private.h| 1 +
lib/graph
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
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
---
lib/graph/graph.c | 110
Add graph_sched_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 | 1 +
lib/graph/graph_populate.c | 1 +
lib/graph/graph_private.h | 12
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.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_private.h| 27 +
lib/graph
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 | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/graph/graph.c b/lib/graph
queue first, then handle the local work queue.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_model_dispatch.h | 42
1 file changed, 42 insertions(+)
diff --git a/lib/graph/rte_graph_model_dispatch.h
b/lib
This patch enables to chose new scheduler model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_worker.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph
Add stats for cross-core dispatching scheduler if stats collection is
enabled.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_debug.c | 6 +++
lib/graph/graph_stats.c | 74 +---
lib/graph
,9)" -P
--model="dispatch"
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
examples/l3fwd-graph/main.c | 237 +---
1 file changed, 195 insertions(+), 42 deletions(-)
diff --git a/examples/l3fwd-graph/main.c b/exa
Update graph documentation to introduce new multicore dispatch model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
doc/guides/prog_guide/graph_lib.rst | 59 +++--
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a
r 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"
R
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
---
MAINTAINERS | 1 +
lib/graph/graph_pcap.c
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
---
lib/graph/graph_pcap.c
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
---
lib/graph/rte_graph_model_rtc.h | 20 ++---
lib/graph/rte_graph_worker_common.h | 33
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
---
lib/graph/meson.build | 1 +
lib/graph/rte_graph_worker.c| 54
Add lcore_id for node to hold affinity core id and impl
rte_graph_model_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
---
lib/graph/graph_private.h| 1 +
lib/graph
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
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
---
lib/graph/graph.c | 110
Add graph_sched_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 | 1 +
lib/graph/graph_populate.c | 1 +
lib/graph/graph_private.h | 12
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.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_private.h| 27 +
lib/graph
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 | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/graph/graph.c b/lib/graph
queue first, then handle the local work queue.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_model_dispatch.h | 42
1 file changed, 42 insertions(+)
diff --git a/lib/graph/rte_graph_model_dispatch.h
b/lib
This patch enables to chose new scheduler model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_worker.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph
Add stats for cross-core dispatching scheduler if stats collection is
enabled.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_debug.c | 6 +++
lib/graph/graph_stats.c | 74 +---
lib/graph
,9)" -P
--model="dispatch"
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
examples/l3fwd-graph/main.c | 237 +---
1 file changed, 195 insertions(+), 42 deletions(-)
diff --git a/examples/l3fwd-graph/main.c b/exa
Update graph documentation to introduce new multicore dispatch model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
doc/guides/prog_guide/graph_lib.rst | 59 +++--
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a
raph clone API.
7. Introduce stream moving with scheduler work-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-l3f
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
---
MAINTAINERS | 1 +
lib/graph/graph_pcap.c
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
---
lib/graph/graph_pcap.c
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
---
lib/graph/rte_graph_model_rtc.h | 20 ++---
lib/graph/rte_graph_worker_common.h | 33
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
---
lib/graph/meson.build | 1 +
lib/graph/rte_graph_worker.c| 54
Add lcore_id for node to hold affinity core id and impl
rte_graph_model_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
---
lib/graph/graph_private.h| 1 +
lib/graph
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
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
---
lib/graph/graph.c | 110
Add graph_sched_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 | 1 +
lib/graph/graph_populate.c | 1 +
lib/graph/graph_private.h | 12
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.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_private.h| 27 +
lib/graph
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 | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/graph/graph.c b/lib/graph
queue first, then handle the local work queue.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_model_dispatch.h | 42
1 file changed, 42 insertions(+)
diff --git a/lib/graph/rte_graph_model_dispatch.h
b/lib
This patch enables to chose new scheduler model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_worker.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph
Add stats for cross-core dispatching scheduler if stats collection is
enabled.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_debug.c | 6 +++
lib/graph/graph_stats.c | 74 +---
lib/graph
,9)" -P
--model="dispatch"
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
examples/l3fwd-graph/main.c | 237 +---
1 file changed, 195 insertions(+), 42 deletions(-)
diff --git a/examples/l3fwd-graph/main.c b/exa
Update graph documentation to introduce new multicore dispatch model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
doc/guides/prog_guide/graph_lib.rst | 59 +++--
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a
hoosing.
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
Zhirun
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
---
MAINTAINERS | 1 +
lib/graph/graph_pcap.c
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
---
lib/graph/rte_graph_model_rtc.h | 20 ++---
lib/graph/rte_graph_worker_common.h | 33
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
---
lib/graph/graph_pcap.c
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
---
lib/graph/meson.build | 1 +
lib/graph/rte_graph_worker.c| 54
Add lcore_id for node to hold affinity core id and impl
rte_graph_model_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
---
lib/graph/graph_private.h| 1 +
lib/graph
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
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
---
lib/graph/graph.c | 110
Add graph_sched_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 | 1 +
lib/graph/graph_populate.c | 1 +
lib/graph/graph_private.h | 12
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.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_private.h| 27 +
lib/graph
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 | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/graph/graph.c b/lib/graph
queue first, then handle the local work queue.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_model_dispatch.h | 42
1 file changed, 42 insertions(+)
diff --git a/lib/graph/rte_graph_model_dispatch.h
b/lib
This patch enables to chose new scheduler model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/rte_graph_worker.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph
Add stats for cross-core dispatching scheduler if stats collection is
enabled.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
lib/graph/graph_debug.c | 6 +++
lib/graph/graph_stats.c | 74 +---
lib/graph
,9)" -P
--model="dispatch"
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
examples/l3fwd-graph/main.c | 236 +---
1 file changed, 194 insertions(+), 42 deletions(-)
diff --git a/examples/l3fwd-graph/main.c b/exa
Update graph documentation to introduce new multicore dispatch model.
Signed-off-by: Haiyue Wang
Signed-off-by: Cunming Liang
Signed-off-by: Zhirun Yan
---
doc/guides/prog_guide/graph_lib.rst | 59 +++--
1 file changed, 55 insertions(+), 4 deletions(-)
diff --git a
1 - 100 of 362 matches
Mail list logo