<div dir="ltr">Recheck-request: iol-intel-Performance<div><br></div><div>Triggering a retest due to testbed instability yesterday.</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Feb 5, 2025 at 9:53 PM Huichao Cai <<a href="mailto:chcchc88@163.com">chcchc88@163.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the function __rte_graph_mcore_dispatch_sched_node_enqueue,<br>
use a slower loop to search for the graph, modify the search logic<br>
to record the result of the first search, and use this record for<br>
subsequent searches to improve search speed.<br>
<br>
Signed-off-by: Huichao Cai <<a href="mailto:chcchc88@163.com" target="_blank">chcchc88@163.com</a>><br>
---<br>
devtools/libabigail.abignore | 5 +++++<br>
doc/guides/rel_notes/release_25_03.rst | 1 +<br>
lib/graph/rte_graph_model_mcore_dispatch.c | 11 +++++++----<br>
lib/graph/rte_graph_worker_common.h | 1 +<br>
4 files changed, 14 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore<br>
index 21b8cd6113..8876aaee2e 100644<br>
--- a/devtools/libabigail.abignore<br>
+++ b/devtools/libabigail.abignore<br>
@@ -33,3 +33,8 @@<br>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>
; Temporary exceptions till next major ABI version ;<br>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>
+[suppress_type]<br>
+ name = rte_node<br>
+ has_size_change = no<br>
+ has_data_member_inserted_between =<br>
+{offset_after(original_process), offset_of(xstat_off)}<br>
\ No newline at end of file<br>
diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst<br>
index 269ab6f68a..16a888fd19 100644<br>
--- a/doc/guides/rel_notes/release_25_03.rst<br>
+++ b/doc/guides/rel_notes/release_25_03.rst<br>
@@ -150,6 +150,7 @@ ABI Changes<br>
<br>
* No ABI change that would break compatibility with 24.11.<br>
<br>
+* graph: Added ``graph`` field to the ``dispatch`` structure in the ``rte_node`` structure.<br>
<br>
Known Issues<br>
------------<br>
diff --git a/lib/graph/rte_graph_model_mcore_dispatch.c b/lib/graph/rte_graph_model_mcore_dispatch.c<br>
index a590fc9497..a81d338227 100644<br>
--- a/lib/graph/rte_graph_model_mcore_dispatch.c<br>
+++ b/lib/graph/rte_graph_model_mcore_dispatch.c<br>
@@ -118,11 +118,14 @@ __rte_graph_mcore_dispatch_sched_node_enqueue(struct rte_node *node,<br>
struct rte_graph_rq_head *rq)<br>
{<br>
const unsigned int lcore_id = node->dispatch.lcore_id;<br>
- struct rte_graph *graph;<br>
+ struct rte_graph *graph = node->dispatch.graph;<br>
<br>
- SLIST_FOREACH(graph, rq, next)<br>
- if (graph->dispatch.lcore_id == lcore_id)<br>
- break;<br>
+ if (unlikely((!graph) || (graph->dispatch.lcore_id != lcore_id))) {<br>
+ SLIST_FOREACH(graph, rq, next)<br>
+ if (graph->dispatch.lcore_id == lcore_id)<br>
+ break;<br>
+ node->dispatch.graph = graph;<br>
+ }<br>
<br>
return graph != NULL ? __graph_sched_node_enqueue(node, graph) : false;<br>
}<br>
diff --git a/lib/graph/rte_graph_worker_common.h b/lib/graph/rte_graph_worker_common.h<br>
index d3ec88519d..aef0f65673 100644<br>
--- a/lib/graph/rte_graph_worker_common.h<br>
+++ b/lib/graph/rte_graph_worker_common.h<br>
@@ -110,6 +110,7 @@ struct __rte_cache_aligned rte_node {<br>
unsigned int lcore_id; /**< Node running lcore. */<br>
uint64_t total_sched_objs; /**< Number of objects scheduled. */<br>
uint64_t total_sched_fail; /**< Number of scheduled failure. */<br>
+ struct rte_graph *graph; /**< Graph corresponding to lcore_id. */<br>
} dispatch;<br>
};<br>
<br>
-- <br>
2.33.0<br>
<br>
</blockquote></div>