DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
To: Huichao Cai <chcchc88@163.com>, Jerin Jacob <jerinj@marvell.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	"yanzhirun_163@163.com" <yanzhirun_163@163.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [EXTERNAL] [PATCH v8] graph: mcore: optimize graph search
Date: Sat, 22 Feb 2025 06:59:29 +0000	[thread overview]
Message-ID: <PH0PR18MB507108E9C176A9D0DC0868A6ACC62@PH0PR18MB5071.namprd18.prod.outlook.com> (raw)
In-Reply-To: <20250207013939.1783-1-chcchc88@163.com>



> -----Original Message-----
> From: Huichao Cai <chcchc88@163.com>
> Sent: Friday, February 7, 2025 7:10 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
> Subject: [EXTERNAL] [PATCH v8] graph: mcore: optimize graph search
> 
> 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. 
> 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>
> ---

Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>



>  devtools/libabigail.abignore               |  5 +++++
>  doc/guides/rel_notes/release_25_03.rst     |  1 +
>  lib/graph/rte_graph_model_mcore_dispatch.c | 11 +++++++----
>  lib/graph/rte_graph_worker_common.h        |  1 +
>  4 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index
> 21b8cd6113..8876aaee2e 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -33,3 +33,8 @@
>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  ; Temporary exceptions till next major ABI version ;
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> +[suppress_type]
> +        name = rte_node
> +        has_size_change = no
> +        has_data_member_inserted_between =
> +{offset_after(original_process), offset_of(xstat_off)}
> \ No newline at end of file
> diff --git a/doc/guides/rel_notes/release_25_03.rst
> b/doc/guides/rel_notes/release_25_03.rst
> index 269ab6f68a..16a888fd19 100644
> --- a/doc/guides/rel_notes/release_25_03.rst
> +++ b/doc/guides/rel_notes/release_25_03.rst
> @@ -150,6 +150,7 @@ ABI Changes
> 
>  * No ABI change that would break compatibility with 24.11.
> 
> +* graph: Added ``graph`` field to the ``dispatch`` structure in the ``rte_node``
> structure.
> 
>  Known Issues
>  ------------
> diff --git a/lib/graph/rte_graph_model_mcore_dispatch.c
> b/lib/graph/rte_graph_model_mcore_dispatch.c
> index a590fc9497..a81d338227 100644
> --- a/lib/graph/rte_graph_model_mcore_dispatch.c
> +++ b/lib/graph/rte_graph_model_mcore_dispatch.c
> @@ -118,11 +118,14 @@
> __rte_graph_mcore_dispatch_sched_node_enqueue(struct rte_node *node,
>  					      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 d3ec88519d..aef0f65673 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. */
>  		} dispatch;
>  	};
> 
> --
> 2.33.0


      parent reply	other threads:[~2025-02-22  6:59 UTC|newest]

Thread overview: 40+ 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   ` [EXTERNAL] " Jerin Jacob
2024-11-13  9:19     ` 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
2024-11-15  1:55         ` [PATCH v5 1/1] graph: improve node layout Huichao Cai
2024-11-15 14:23           ` Thomas Monjalon
2024-11-15 15:57             ` [EXTERNAL] " Jerin Jacob
2024-11-19 10:31               ` Thomas Monjalon
2024-12-13  2:21       ` [PATCH v5] graph: mcore: optimize graph search Huichao Cai
2024-12-13 14:36         ` David Marchand
2024-12-16  1:43         ` [PATCH v6] " Huichao Cai
2024-12-16 14:49           ` David Marchand
2024-12-17  9:04             ` David Marchand
2024-12-20  2:05           ` Huichao Cai
2025-01-20 14:36           ` Huichao Cai
2025-01-20 14:55             ` Thomas Monjalon
2025-01-20 15:23           ` Huichao Cai
2025-02-06  2:53           ` [PATCH v7 1/1] " Huichao Cai
2025-02-06 20:10             ` Patrick Robb
2025-02-07  1:39             ` [PATCH v8] " Huichao Cai
2025-02-19 15:24               ` Thomas Monjalon
2025-02-22  6:59               ` Kiran Kumar Kokkilagadda [this message]

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=PH0PR18MB507108E9C176A9D0DC0868A6ACC62@PH0PR18MB5071.namprd18.prod.outlook.com \
    --to=kirankumark@marvell.com \
    --cc=chcchc88@163.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --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).