From: Jerin Jacob <jerinj@marvell.com>
To: Huichao Cai <chcchc88@163.com>,
Kiran Kumar Kokkilagadda <kirankumark@marvell.com>,
Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
"yanzhirun_163@163.com" <yanzhirun_163@163.com>,
"david.marchand@redhat.com" <david.marchand@redhat.com>,
Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [EXTERNAL] [PATCH v2] graph: mcore: optimize graph search
Date: Mon, 11 Nov 2024 05:46:20 +0000 [thread overview]
Message-ID: <BY3PR18MB4785C45B9D002142FD3218C3C8582@BY3PR18MB4785.namprd18.prod.outlook.com> (raw)
In-Reply-To: <1731297797-3662-1-git-send-email-chcchc88@163.com>
> -----Original Message-----
> From: Huichao Cai <chcchc88@163.com>
> Sent: Monday, November 11, 2024 9:33 AM
> To: Jerin Jacob <jerinj@marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; yanzhirun_163@163.com
> Cc: dev@dpdk.org; Huichao cai <chcchc88@163.com>
> Subject: [EXTERNAL] [PATCH v2] graph: mcore: optimize graph search
>
> From: Huichao cai <chcchc88@ 163. com> In the function
> __rte_graph_mcore_dispatch_sched_node_enqueue, use a slower loop to
> search for the graph, modify the search logic to record the result of the first
> search, and use this record for subsequent
> From: Huichao cai <chcchc88@163.com>
>
> In the function __rte_graph_mcore_dispatch_sched_node_enqueue,
> use a slower loop to search for the graph, modify the search logic to record the
> result of the first search, and use this record for subsequent searches to
> improve search speed.
>
> Signed-off-by: Huichao cai <chcchc88@163.com>
> ---
> lib/graph/rte_graph_model_mcore_dispatch.c | 11 +++++++----
> lib/graph/rte_graph_worker_common.h | 1 +
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/lib/graph/rte_graph_model_mcore_dispatch.c
> b/lib/graph/rte_graph_model_mcore_dispatch.c
> index a590fc9..a81d338 100644
> --- a/lib/graph/rte_graph_model_mcore_dispatch.c
> +++ b/lib/graph/rte_graph_model_mcore_dispatch.c
> @@ -118,11 +118,14 @@
> struct rte_graph_rq_head *rq) {
> const unsigned int lcore_id = node->dispatch.lcore_id;
> - struct rte_graph *graph;
> + struct rte_graph *graph = node->dispatch.graph;
>
> - SLIST_FOREACH(graph, rq, next)
> - if (graph->dispatch.lcore_id == lcore_id)
> - break;
> + if (unlikely((!graph) || (graph->dispatch.lcore_id != lcore_id))) {
> + SLIST_FOREACH(graph, rq, next)
> + if (graph->dispatch.lcore_id == lcore_id)
> + break;
> + node->dispatch.graph = graph;
> + }
>
> return graph != NULL ? __graph_sched_node_enqueue(node, graph) :
> false; } diff --git a/lib/graph/rte_graph_worker_common.h
> b/lib/graph/rte_graph_worker_common.h
> index a518af2..4c2432b 100644
> --- a/lib/graph/rte_graph_worker_common.h
> +++ b/lib/graph/rte_graph_worker_common.h
> @@ -110,6 +110,7 @@ struct __rte_cache_aligned rte_node {
> unsigned int lcore_id; /**< Node running lcore. */
> uint64_t total_sched_objs; /**< Number of objects
> scheduled. */
> uint64_t total_sched_fail; /**< Number of scheduled
> failure. */
> + struct rte_graph *graph; /**< Graph corresponding to
> lcore_id. */
Need to conclude the ABI related discussion here before making change
https://patches.dpdk.org/project/dpdk/patch/1730966682-2632-1-git-send-email-chcchc88@163.com/
> } dispatch;
> };
> rte_graph_off_t xstat_off; /**< Offset to xstat counters. */
> --
> 1.8.3.1
next prev parent reply other threads:[~2024-11-11 5:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-07 8:04 [PATCH] graph: optimize graph search when scheduling nodes Huichao cai
2024-11-07 9:37 ` [EXTERNAL] " Jerin Jacob
2024-11-08 1:39 ` Huichao Cai
2024-11-08 12:22 ` Jerin Jacob
2024-11-08 13:38 ` David Marchand
2024-11-11 5:38 ` Jerin Jacob
2024-11-12 8:51 ` David Marchand
2024-11-12 9:35 ` Jerin Jacob
2024-11-12 12:57 ` Huichao Cai
2024-11-13 9:22 ` Huichao Cai
2024-11-14 7:09 ` Jerin Jacob
2024-11-11 4:03 ` [PATCH v2] graph: mcore: optimize graph search Huichao Cai
2024-11-11 5:46 ` Jerin Jacob [this message]
2024-11-13 9:19 ` Re:RE: [EXTERNAL] " Huichao Cai
2024-11-13 7:35 ` [PATCH v3 1/2] " Huichao Cai
2024-11-13 7:35 ` [PATCH v3 2/2] graph: add alignment to the member of rte_node Huichao Cai
2024-11-14 7:14 ` [EXTERNAL] " Jerin Jacob
2024-11-14 8:45 ` [PATCH v4 1/2] graph: mcore: optimize graph search Huichao Cai
2024-11-14 8:45 ` [PATCH v4 2/2] graph: add alignment to the member of rte_node Huichao Cai
2024-11-14 10:05 ` [EXTERNAL] " Jerin Jacob
2024-11-14 12:06 ` Huichao Cai
2024-11-14 13:04 ` Jerin Jacob
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=BY3PR18MB4785C45B9D002142FD3218C3C8582@BY3PR18MB4785.namprd18.prod.outlook.com \
--to=jerinj@marvell.com \
--cc=chcchc88@163.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=kirankumark@marvell.com \
--cc=ndabilpuram@marvell.com \
--cc=thomas@monjalon.net \
--cc=yanzhirun_163@163.com \
/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).