DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Chengwen Feng <chengwen.feng@linux.dev>
To: thomas@monjalon.net, konstantin.v.ananyev@yandex.ru
Cc: dev@dpdk.org, Chengwen Feng <fengchengwen@huawei.com>
Subject: [PATCH 015/227] graph: use NUMA node terminology
Date: Tue,  3 Nov 2026 22:49:33 +0800	[thread overview]
Message-ID: <20261103145306.487255-16-chengwen.feng@linux.dev> (raw)
In-Reply-To: <20261103145306.487255-1-chengwen.feng@linux.dev>

From: Chengwen Feng <fengchengwen@huawei.com>

Rename the numa_id fields of rte_graph_param,
rte_graph_cluster_stats_param and rte_graph (were socket_id and
socket), keeping the old names as deprecated union aliases, and
update in-tree users accordingly.

Also rename socket_id parameters, internal variables, dump
output and comments to the NUMA node terminology, and switch
internal calls to rte_zmalloc_numa(), rte_realloc_numa(),
rte_numa_id(), rte_lcore_to_numa_id() and RTE_NUMA_ID_ANY.

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
 app/graph/graph.c                          |  4 ++--
 app/graph/l2fwd.c                          |  2 +-
 app/graph/l3fwd.c                          | 10 +++++-----
 app/test/test_graph.c                      |  6 +++---
 app/test/test_graph_feature_arc.c          |  2 +-
 lib/graph/graph.c                          | 14 +++++++-------
 lib/graph/graph_debug.c                    |  2 +-
 lib/graph/graph_feature_arc.c              |  4 ++--
 lib/graph/graph_pcap.c                     |  2 +-
 lib/graph/graph_populate.c                 |  4 ++--
 lib/graph/graph_private.h                  |  4 ++--
 lib/graph/graph_stats.c                    | 18 +++++++++---------
 lib/graph/rte_graph.h                      | 21 ++++++++++++++++++---
 lib/graph/rte_graph_model_mcore_dispatch.c |  4 ++--
 lib/graph/rte_graph_worker_common.h        | 10 +++++++++-
 15 files changed, 65 insertions(+), 42 deletions(-)

diff --git a/app/graph/graph.c b/app/graph/graph.c
index 77f1e7cd71..5afed64421 100644
--- a/app/graph/graph.c
+++ b/app/graph/graph.c
@@ -218,7 +218,7 @@ graph_stats_print_to_file(void)
 
 	memset(&s_param, 0, sizeof(s_param));
 	s_param.f = fp;
-	s_param.socket_id = SOCKET_ID_ANY;
+	s_param.numa_id = RTE_NUMA_ID_ANY;
 	s_param.graph_patterns = &pattern;
 	s_param.nb_graph_patterns = 1;
 
@@ -372,7 +372,7 @@ graph_stats_print(void)
 	/* Prepare stats object */
 	memset(&s_param, 0, sizeof(s_param));
 	s_param.f = stdout;
-	s_param.socket_id = SOCKET_ID_ANY;
+	s_param.numa_id = RTE_NUMA_ID_ANY;
 	s_param.graph_patterns = &pattern;
 	s_param.nb_graph_patterns = 1;
 
diff --git a/app/graph/l2fwd.c b/app/graph/l2fwd.c
index 20894b64fe..3011c70fa4 100644
--- a/app/graph/l2fwd.c
+++ b/app/graph/l2fwd.c
@@ -65,7 +65,7 @@ l2fwd_pattern_configure(void)
 		}
 
 		graph_conf.nb_node_patterns = nb_patterns + i;
-		graph_conf.socket_id = rte_lcore_to_socket_id(lcore_id);
+		graph_conf.numa_id = rte_lcore_to_numa_id(lcore_id);
 
 		snprintf(qconf->name, sizeof(qconf->name), "worker_%u",
 				lcore_id);
diff --git a/app/graph/l3fwd.c b/app/graph/l3fwd.c
index fe25e43da8..9dc84b7338 100644
--- a/app/graph/l3fwd.c
+++ b/app/graph/l3fwd.c
@@ -129,23 +129,23 @@ l3fwd_pattern_configure(void)
 		}
 
 		graph_conf.nb_node_patterns = nb_patterns + i;
-		graph_conf.socket_id = rte_lcore_to_socket_id(lcore_id);
+		graph_conf.numa_id = rte_lcore_to_numa_id(lcore_id);
 
 		snprintf(qconf->name, sizeof(qconf->name), "worker_%u",
 				lcore_id);
 
 		if (ip4_lookup_m == IP4_LOOKUP_FIB) {
-			rc = setup_fib(graph_conf.socket_id);
+			rc = setup_fib(graph_conf.numa_id);
 			if (rc < 0)
 				rte_exit(EXIT_FAILURE, "Unable to setup fib for socket %u\n",
-						graph_conf.socket_id);
+						graph_conf.numa_id);
 		}
 
 		if (ip6_lookup_m == IP6_LOOKUP_FIB) {
-			rc = setup_fib6(graph_conf.socket_id);
+			rc = setup_fib6(graph_conf.numa_id);
 			if (rc < 0)
 				rte_exit(EXIT_FAILURE, "Unable to setup fib6 for socket %u\n",
-						graph_conf.socket_id);
+						graph_conf.numa_id);
 		}
 
 		graph_id = rte_graph_create(qconf->name, &graph_conf);
diff --git a/app/test/test_graph.c b/app/test/test_graph.c
index 042fc9d3a2..c082aab3a6 100644
--- a/app/test/test_graph.c
+++ b/app/test/test_graph.c
@@ -694,7 +694,7 @@ test_create_graph(void)
 		"test_node00-test_node33", "test_node00-dummy_node",
 	};
 	struct rte_graph_param gconf = {
-		.socket_id = SOCKET_ID_ANY,
+		.numa_id = RTE_NUMA_ID_ANY,
 		.nb_node_patterns = 6,
 		.node_patterns = node_patterns_dummy,
 	};
@@ -764,7 +764,7 @@ test_graph_id_collisions(void)
 {
 	static const char *node_patterns[] = {"test_node_source1", "test_node00"};
 	struct rte_graph_param gconf = {
-		.socket_id = SOCKET_ID_ANY,
+		.numa_id = RTE_NUMA_ID_ANY,
 		.nb_node_patterns = 2,
 		.node_patterns = node_patterns,
 	};
@@ -1045,7 +1045,7 @@ test_print_stats(void)
 	/* Prepare stats object */
 	memset(&s_param, 0, sizeof(s_param));
 	s_param.f = stdout;
-	s_param.socket_id = SOCKET_ID_ANY;
+	s_param.numa_id = RTE_NUMA_ID_ANY;
 	s_param.graph_patterns = &pattern;
 	s_param.nb_graph_patterns = 1;
 	s_param.fn = graph_cluster_stats_cb_t;
diff --git a/app/test/test_graph_feature_arc.c b/app/test/test_graph_feature_arc.c
index 1a4bdeee49..114268c85c 100644
--- a/app/test/test_graph_feature_arc.c
+++ b/app/test/test_graph_feature_arc.c
@@ -787,7 +787,7 @@ static int
 create_graph(void)
 {
 	struct rte_graph_param gconf = {
-		.socket_id = SOCKET_ID_ANY,
+		.numa_id = RTE_NUMA_ID_ANY,
 		.nb_node_patterns = RTE_DIM(node_names_feature_arc),
 		.node_patterns = node_names_feature_arc,
 	};
diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index 9789065150..a7ec046d96 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -359,7 +359,7 @@ rte_graph_model_mcore_dispatch_core_bind(rte_graph_t id, int lcore)
 
 	graph->lcore_id = lcore;
 	graph->graph->dispatch.lcore_id = graph->lcore_id;
-	graph->socket = rte_lcore_to_socket_id(lcore);
+	graph->numa_id = rte_lcore_to_numa_id(lcore);
 
 	/* Rebuild source bitmap with only source nodes bound to this lcore */
 	graph_src_bitmap_rebuild(graph);
@@ -477,7 +477,7 @@ rte_graph_create(const char *name, struct rte_graph_param *prm)
 	graph_pcap_enable(prm->pcap_enable);
 
 	/* Initialize graph object */
-	graph->socket = prm->socket_id;
+	graph->numa_id = prm->numa_id;
 	graph->src_node_count = src_node_count;
 	graph->node_count = graph_nodes_count(graph);
 	graph->id = graph_next_free_id();
@@ -596,7 +596,7 @@ graph_clone(struct graph *parent_graph, const char *name, struct rte_graph_param
 	graph->node_count = parent_graph->node_count;
 	graph->parent_id = parent_graph->id;
 	graph->lcore_id = parent_graph->lcore_id;
-	graph->socket = parent_graph->socket;
+	graph->numa_id = parent_graph->numa_id;
 	graph->id = graph_next_free_id();
 
 	/* Allocate the Graph fast path memory and populate the data */
@@ -737,8 +737,8 @@ __rte_node_stream_alloc(struct rte_graph *graph, struct rte_node *node)
 	RTE_VERIFY(size != UINT16_MAX);
 	/* Allocate double amount of size to avoid immediate realloc */
 	size = RTE_MIN(UINT16_MAX, RTE_MAX(RTE_GRAPH_BURST_SIZE, size * 2));
-	node->objs = rte_realloc_socket(node->objs, size * sizeof(void *),
-					RTE_CACHE_LINE_SIZE, graph->socket);
+	node->objs = rte_realloc_numa(node->objs, size * sizeof(void *),
+					RTE_CACHE_LINE_SIZE, graph->numa_id);
 	RTE_VERIFY(node->objs);
 	node->size = size;
 	node->realloc_count++;
@@ -754,8 +754,8 @@ __rte_node_stream_alloc_size(struct rte_graph *graph, struct rte_node *node,
 	RTE_VERIFY(size != UINT16_MAX);
 	/* Allocate double amount of size to avoid immediate realloc */
 	size = RTE_MIN(UINT16_MAX, RTE_MAX(RTE_GRAPH_BURST_SIZE, req_size * 2));
-	node->objs = rte_realloc_socket(node->objs, size * sizeof(void *),
-					RTE_CACHE_LINE_SIZE, graph->socket);
+	node->objs = rte_realloc_numa(node->objs, size * sizeof(void *),
+					RTE_CACHE_LINE_SIZE, graph->numa_id);
 	RTE_VERIFY(node->objs);
 	node->size = size;
 	node->realloc_count++;
diff --git a/lib/graph/graph_debug.c b/lib/graph/graph_debug.c
index aa5cc241a7..89faf70e31 100644
--- a/lib/graph/graph_debug.c
+++ b/lib/graph/graph_debug.c
@@ -66,7 +66,7 @@ rte_graph_obj_dump(FILE *f, struct rte_graph *g, bool all)
 	fprintf(f, "  id=%" PRIu32 "\n", g->id);
 	fprintf(f, "  nb_nodes=%" PRId32 "\n", g->nb_nodes);
 	fprintf(f, "  nb_sched_words=%" PRIu16 "\n", g->nb_sched_words);
-	fprintf(f, "  socket=%d\n", g->socket);
+	fprintf(f, "  numa_id=%d\n", g->numa_id);
 	fprintf(f, "  fence=0x%" PRIx64 "\n", g->fence);
 	fprintf(f, "  nodes_start=0x%" PRIx32 "\n", g->nodes_start);
 	fprintf(f, "  sched_table=%p\n", g->sched_table);
diff --git a/lib/graph/graph_feature_arc.c b/lib/graph/graph_feature_arc.c
index 823aad3e73..9fbf31507a 100644
--- a/lib/graph/graph_feature_arc.c
+++ b/lib/graph/graph_feature_arc.c
@@ -799,7 +799,7 @@ feature_arc_main_init(rte_graph_feature_arc_main_t **pfl, uint32_t max_feature_a
 	sz = sizeof(rte_graph_feature_arc_main_t) +
 		(sizeof(pm->feature_arcs[0]) * max_feature_arcs);
 
-	mz = rte_memzone_reserve(FEATURE_ARC_MEMZONE_NAME, sz, SOCKET_ID_ANY, 0);
+	mz = rte_memzone_reserve(FEATURE_ARC_MEMZONE_NAME, sz, RTE_NUMA_ID_ANY, 0);
 	if (!mz) {
 		graph_err("memzone reserve failed for feature arc main");
 		return -1;
@@ -1260,7 +1260,7 @@ rte_graph_feature_arc_create(struct rte_graph_feature_arc_register *reg,
 	/* Calculate size of feature arc */
 	feature_arc_reg_calc_size(reg, &sz, &first_feat_off, &fdata_off, &feat_sz, &num_index);
 
-	mz = rte_memzone_reserve(reg->arc_name, sz, SOCKET_ID_ANY, 0);
+	mz = rte_memzone_reserve(reg->arc_name, sz, RTE_NUMA_ID_ANY, 0);
 
 	if (!mz) {
 		graph_err("memzone reserve failed for arc: %s of size: %"PRIu64,
diff --git a/lib/graph/graph_pcap.c b/lib/graph/graph_pcap.c
index 78859ec2d4..e4b3a8f78e 100644
--- a/lib/graph/graph_pcap.c
+++ b/lib/graph/graph_pcap.c
@@ -147,7 +147,7 @@ graph_pcap_mp_init(void)
 	pkt_mp = rte_pktmbuf_pool_create_by_ops(GRAPH_PCAP_PKT_POOL,
 			IOV_MAX + RTE_GRAPH_BURST_SIZE,	0, 0,
 			rte_pcapng_mbuf_size(RTE_MBUF_DEFAULT_BUF_SIZE),
-			SOCKET_ID_ANY, "ring_mp_mc");
+			RTE_NUMA_ID_ANY, "ring_mp_mc");
 	if (pkt_mp == NULL) {
 		graph_err("Cannot create mempool for graph pcap capture.");
 		return -1;
diff --git a/lib/graph/graph_populate.c b/lib/graph/graph_populate.c
index 5c6829a7c7..f5f8a78b57 100644
--- a/lib/graph/graph_populate.c
+++ b/lib/graph/graph_populate.c
@@ -74,7 +74,7 @@ graph_header_populate(struct graph *_graph)
 	graph->pending = RTE_PTR_ADD(graph, _graph->pending_off);
 	graph->src_pending = RTE_PTR_ADD(graph, _graph->src_pending_off);
 	graph->nodes_start = _graph->nodes_start;
-	graph->socket = _graph->socket;
+	graph->numa_id = _graph->numa_id;
 	graph->id = _graph->id;
 	memcpy(graph->name, _graph->name, RTE_GRAPH_NAMESIZE);
 	graph->fence = RTE_GRAPH_FENCE;
@@ -291,7 +291,7 @@ graph_fp_mem_create(struct graph *graph)
 	size_t sz;
 
 	sz = graph_fp_mem_calc_size(graph);
-	mz = rte_memzone_reserve(graph->name, sz, graph->socket, 0);
+	mz = rte_memzone_reserve(graph->name, sz, graph->numa_id, 0);
 	if (mz == NULL)
 		SET_ERR_JMP(ENOMEM, fail, "Memzone %s reserve failed",
 			    graph->name);
diff --git a/lib/graph/graph_private.h b/lib/graph/graph_private.h
index 6b986ea10b..b38c632ea5 100644
--- a/lib/graph/graph_private.h
+++ b/lib/graph/graph_private.h
@@ -124,8 +124,8 @@ struct graph {
 	/**< Lcore identifier where the graph prefer to run on. Used for mcore dispatch model. */
 	size_t mem_sz;
 	/**< Memory size of the graph. */
-	int socket;
-	/**< Socket identifier where memory is allocated. */
+	int numa_id;
+	/** NUMA node identifier where memory is allocated. */
 	uint64_t num_pkt_to_capture;
 	/**< Number of packets to be captured per core. */
 	char pcap_filename[RTE_GRAPH_PCAP_FILE_SZ];
diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c
index b87b5707f7..dc994392ab 100644
--- a/lib/graph/graph_stats.c
+++ b/lib/graph/graph_stats.c
@@ -34,7 +34,7 @@ struct __rte_cache_aligned rte_graph_cluster_stats {
 	rte_graph_cluster_stats_cb_t fn;
 	uint32_t cluster_node_size; /* Size of struct cluster_node */
 	rte_node_t max_nodes;
-	int socket_id;
+	int numa_id;
 	bool dispatch;
 	void *cookie;
 
@@ -219,7 +219,7 @@ stats_mem_init(struct cluster *cluster,
 {
 	struct rte_graph_cluster_stats *stats;
 	rte_graph_cluster_stats_cb_t fn;
-	int socket_id = prm->socket_id;
+	int numa_id = prm->numa_id;
 	uint32_t cluster_node_size;
 	uint32_t max_nodes;
 
@@ -242,13 +242,13 @@ stats_mem_init(struct cluster *cluster,
 	cluster_node_size += cluster->nb_graphs * sizeof(struct rte_node *);
 	cluster_node_size = RTE_ALIGN(cluster_node_size, RTE_CACHE_LINE_SIZE);
 
-	stats = rte_zmalloc_socket(NULL, sizeof(struct rte_graph_cluster_stats) +
-		max_nodes * cluster_node_size, 0, socket_id);
+	stats = rte_zmalloc_numa(NULL, sizeof(struct rte_graph_cluster_stats) +
+		max_nodes * cluster_node_size, 0, numa_id);
 	if (stats) {
 		stats->fn = fn;
 		stats->cluster_node_size = cluster_node_size;
 		stats->max_nodes = 0;
-		stats->socket_id = socket_id;
+		stats->numa_id = numa_id;
 		stats->cookie = prm->cookie;
 	}
 
@@ -294,16 +294,16 @@ stats_mem_populate(struct rte_graph_cluster_stats *stats,
 	cluster->nodes[cluster->nb_nodes++] = node;
 	if (graph_node->node->xstats) {
 		cluster->stat.xstat_cntrs = graph_node->node->xstats->nb_xstats;
-		cluster->stat.xstat_count = rte_zmalloc_socket(NULL,
+		cluster->stat.xstat_count = rte_zmalloc_numa(NULL,
 			sizeof(uint64_t) * graph_node->node->xstats->nb_xstats,
-			RTE_CACHE_LINE_SIZE, stats->socket_id);
+			RTE_CACHE_LINE_SIZE, stats->numa_id);
 		if (cluster->stat.xstat_count == NULL)
 			SET_ERR_JMP(ENOMEM, err, "Failed to allocate memory node %s graph %s",
 				    graph_node->node->name, graph->name);
 
-		cluster->stat.xstat_desc = rte_zmalloc_socket(NULL,
+		cluster->stat.xstat_desc = rte_zmalloc_numa(NULL,
 			RTE_NODE_XSTAT_DESC_SIZE * graph_node->node->xstats->nb_xstats,
-			RTE_CACHE_LINE_SIZE, stats->socket_id);
+			RTE_CACHE_LINE_SIZE, stats->numa_id);
 		if (cluster->stat.xstat_desc == NULL) {
 			rte_free(cluster->stat.xstat_count);
 			SET_ERR_JMP(ENOMEM, err, "Failed to allocate memory node %s graph %s",
diff --git a/lib/graph/rte_graph.h b/lib/graph/rte_graph.h
index b5eb5d820e..b80e0c775b 100644
--- a/lib/graph/rte_graph.h
+++ b/lib/graph/rte_graph.h
@@ -166,7 +166,15 @@ typedef void (*packets_enqueued_cb)(struct rte_graph *graph, uint64_t cb_priv);
  * @see rte_graph_create()
  */
 struct rte_graph_param {
-	int socket_id; /**< Socket id where memory is allocated. */
+	union {
+		/** NUMA node ID where memory is allocated. */
+		int numa_id;
+		/**
+		 * Deprecated alias of numa_id.
+		 */
+		__rte_deprecated_msg("use numa_id")
+		int socket_id;
+	};
 	uint16_t nb_node_patterns;  /**< Number of node patterns. */
 	const char **node_patterns;
 	/**< Array of node patterns based on shell pattern. */
@@ -194,8 +202,15 @@ struct rte_graph_param {
  * @see rte_graph_cluster_stats_create()
  */
 struct rte_graph_cluster_stats_param {
-	int socket_id;
-	/**< Socket id where memory is allocated */
+	union {
+		/** NUMA node ID where memory is allocated */
+		int numa_id;
+		/**
+		 * Deprecated alias of numa_id.
+		 */
+		__rte_deprecated_msg("use numa_id")
+		int socket_id;
+	};
 	rte_graph_cluster_stats_cb_t fn;
 	/**< Stats print callback function. NULL value allowed, in that case,
 	 *   default print stat function used.
diff --git a/lib/graph/rte_graph_model_mcore_dispatch.c b/lib/graph/rte_graph_model_mcore_dispatch.c
index 706b5469f0..ce0538f5b4 100644
--- a/lib/graph/rte_graph_model_mcore_dispatch.c
+++ b/lib/graph/rte_graph_model_mcore_dispatch.c
@@ -25,7 +25,7 @@ graph_sched_wq_create(struct graph *_graph, struct graph *_parent_graph,
 	if (!rte_is_power_of_2(wq_size))
 		flags |= RING_F_EXACT_SZ;
 
-	graph->dispatch.wq = rte_ring_create(graph->name, wq_size, graph->socket,
+	graph->dispatch.wq = rte_ring_create(graph->name, wq_size, graph->numa_id,
 					     flags);
 	if (graph->dispatch.wq == NULL)
 		SET_ERR_JMP(EIO, fail, "Failed to allocate graph WQ");
@@ -37,7 +37,7 @@ graph_sched_wq_create(struct graph *_graph, struct graph *_parent_graph,
 	graph->dispatch.mp = rte_mempool_create(graph->name, wq_size,
 						sizeof(struct graph_mcore_dispatch_wq_node),
 						0, 0, NULL, NULL, NULL, NULL,
-						graph->socket, MEMPOOL_F_SP_PUT);
+						graph->numa_id, MEMPOOL_F_SP_PUT);
 	if (graph->dispatch.mp == NULL)
 		SET_ERR_JMP(EIO, fail_mp,
 			    "Failed to allocate graph WQ schedule entry");
diff --git a/lib/graph/rte_graph_worker_common.h b/lib/graph/rte_graph_worker_common.h
index 7a7da1c34f..02990a4bab 100644
--- a/lib/graph/rte_graph_worker_common.h
+++ b/lib/graph/rte_graph_worker_common.h
@@ -74,7 +74,15 @@ struct __rte_cache_aligned rte_graph {
 	SLIST_ENTRY(rte_graph) next;   /* The next for rte_graph list */
 	/* End of Fast path area.*/
 	rte_graph_t id;	/**< Graph identifier. */
-	int socket;	/**< Socket ID where memory is allocated. */
+	union {
+		/** NUMA node ID where memory is allocated. */
+		int numa_id;
+		/**
+		 * Deprecated alias of numa_id.
+		 */
+		__rte_deprecated_msg("use numa_id")
+		int socket;
+	};
 	char name[RTE_GRAPH_NAMESIZE];	/**< Name of the graph. */
 	bool pcap_enable;	        /**< Pcap trace enabled. */
 	/** Number of packets captured per core. */
-- 
2.55.0


  parent reply	other threads:[~2026-11-03 14:55 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-03 14:49 [PATCH 000/227] use NUMA node terminology across the tree Chengwen Feng
2026-11-03 14:49 ` [PATCH 001/227] eal: add NUMA-aware APIs Chengwen Feng
2026-11-04  7:33   ` Stephen Hemminger
2026-11-04  8:53     ` fengchengwen
2026-11-03 14:49 ` [PATCH 002/227] mempool: use NUMA node terminology Chengwen Feng
2026-11-03 14:49 ` [PATCH 003/227] ring: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 004/227] hash: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 005/227] member: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 006/227] ethdev: rename device socket API to NUMA node API Chengwen Feng
2026-11-03 14:49 ` [PATCH 007/227] cryptodev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 008/227] compressdev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 009/227] rawdev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 010/227] mldev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 011/227] bbdev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 012/227] eventdev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 013/227] acl: use NUMA node terminology Chengwen Feng
2026-11-03 14:49 ` [PATCH 014/227] ipsec: " Chengwen Feng
2026-11-03 14:49 ` Chengwen Feng [this message]
2026-11-03 14:49 ` [PATCH 016/227] gro: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 017/227] fib: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 018/227] rib: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 019/227] lpm: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 020/227] efd: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 021/227] ip_frag: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 022/227] node: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 023/227] distributor: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 024/227] reorder: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 025/227] stack: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 026/227] regexdev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 027/227] metrics: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 028/227] mbuf: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 029/227] timer: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 030/227] table: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 031/227] rcu: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 032/227] pdump: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 033/227] pdcp: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 034/227] latencystats: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 035/227] gpudev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 036/227] dmadev: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 037/227] dispatcher: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 038/227] vhost: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 039/227] baseband/acc: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 040/227] baseband/fpga_5gnr_fec: " Chengwen Feng
2026-11-03 14:49 ` [PATCH 041/227] baseband/fpga_lte_fec: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 042/227] baseband/null: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 043/227] baseband/turbo_sw: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 044/227] bus/auxiliary: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 045/227] bus/dpaa: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 046/227] bus/fslmc: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 047/227] bus/ifpga: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 048/227] bus/pci: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 049/227] bus/platform: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 050/227] bus/vdev: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 051/227] bus/vmbus: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 052/227] common/cnxk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 053/227] common/nitrox: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 054/227] common/zsda: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 055/227] compress/isal: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 056/227] compress/mlx5: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 057/227] compress/nitrox: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 058/227] compress/octeontx: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 059/227] compress/uadk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 060/227] compress/zlib: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 061/227] compress/zsda: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 062/227] crypto/armv8: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 063/227] crypto/bcmfs: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 064/227] crypto/caam_jr: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 065/227] crypto/ccp: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 066/227] crypto/cnxk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 067/227] crypto/dpaa2_sec: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 068/227] crypto/dpaa_sec: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 069/227] crypto/ionic: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 070/227] crypto/ipsec_mb: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 071/227] crypto/mlx5: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 072/227] crypto/mvsam: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 073/227] crypto/nitrox: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 074/227] crypto/null: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 075/227] crypto/octeontx: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 076/227] crypto/openssl: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 077/227] crypto/scheduler: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 078/227] crypto/uadk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 079/227] crypto/virtio: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 080/227] crypto/zsda: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 081/227] dma/ae4dma: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 082/227] dma/cnxk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 083/227] dma/dpaa: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 084/227] dma/dpaa2: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 085/227] dma/hisi_acc: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 086/227] dma/idxd: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 087/227] dma/imx_edma5: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 088/227] dma/odm: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 089/227] dma/skeleton: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 090/227] event/cnxk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 091/227] event/dlb2: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 092/227] event/dpaa: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 093/227] event/dpaa2: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 094/227] event/dsw: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 095/227] event/octeontx: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 096/227] event/opdl: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 097/227] event/skeleton: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 098/227] event/sw: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 099/227] mempool/bucket: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 100/227] mempool/cnxk: " Chengwen Feng
2026-11-03 14:50 ` [PATCH 101/227] ml/cnxk: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 102/227] net/af_packet: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 103/227] net/af_xdp: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 104/227] net/ark: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 105/227] net/atlantic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 106/227] net/avp: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 107/227] net/axgbe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 108/227] net/bnx2x: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 109/227] net/bnxt: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 110/227] net/bonding: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 111/227] net/cnxk: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 112/227] net/cxgbe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 113/227] net/dpaa: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 114/227] net/dpaa2: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 115/227] net/ena: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 116/227] net/enetc: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 117/227] net/enetfec: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 118/227] net/enic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 119/227] net/failsafe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 120/227] net/gve: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 121/227] net/hinic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 122/227] net/hinic3: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 123/227] net/hns3: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 124/227] net/intel: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 125/227] net/ionic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 126/227] net/mana: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 127/227] net/memif: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 128/227] net/mlx4: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 129/227] net/mvneta: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 130/227] net/mvpp2: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 131/227] net/nbl: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 132/227] net/netvsc: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 133/227] net/nfb: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 134/227] net/nfp: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 135/227] net/ngbe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 136/227] net/ntnic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 137/227] net/null: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 138/227] net/octeon_ep: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 139/227] net/octeontx: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 140/227] net/pcap: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 141/227] net/pfe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 142/227] net/qede: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 143/227] net/r8169: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 144/227] net/ring: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 145/227] net/rnp: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 146/227] net/sfc: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 147/227] net/softnic: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 148/227] net/sxe2: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 149/227] net/tap: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 150/227] net/thunderx: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 151/227] net/txgbe: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 152/227] net/vhost: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 153/227] net/virtio: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 154/227] net/vmxnet3: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 155/227] net/xsc: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 156/227] net/zxdh: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 157/227] raw/cnxk_bphy: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 158/227] raw/cnxk_gpio: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 159/227] raw/cnxk_rvu_lf: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 160/227] raw/dpaa2_cmdif: " Chengwen Feng
2026-11-03 14:51 ` [PATCH 161/227] raw/gdtc: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 162/227] raw/ifpga: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 163/227] raw/ntb: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 164/227] raw/skeleton: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 165/227] regex/cn9k: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 166/227] regex/mlx5: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 167/227] vdpa/mlx5: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 168/227] drivers: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 169/227] " Chengwen Feng
2026-11-03 14:52 ` [PATCH 170/227] test: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 171/227] app/testpmd: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 172/227] app/proc-info: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 173/227] app/graph: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 174/227] app/pdump: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 175/227] app/dumpcap: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 176/227] app/test-mldev: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 177/227] app/test-eventdev: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 178/227] app/test-compress-perf: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 179/227] app/test-crypto-perf: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 180/227] app/test-bbdev: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 181/227] app/test-security-perf: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 182/227] app/test-regex: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 183/227] app/test-flow-perf: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 184/227] examples/bbdev_app: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 185/227] examples/bond: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 186/227] examples/distributor: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 187/227] examples/dma: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 188/227] examples/ethtool: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 189/227] examples/eventdev_pipeline: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 190/227] examples/fips_validation: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 191/227] examples/flow_filtering: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 192/227] examples/ip_fragmentation: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 193/227] examples/ip_reassembly: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 194/227] examples/ipsec-secgw: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 195/227] examples/ipv4_multicast: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 196/227] examples/l2fwd: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 197/227] examples/l2fwd-cat: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 198/227] examples/l2fwd-crypto: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 199/227] examples/l2fwd-event: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 200/227] examples/l2fwd-jobstats: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 201/227] examples/l2fwd-keepalive: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 202/227] examples/l2fwd-macsec: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 203/227] examples/l3fwd: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 204/227] examples/l3fwd-graph: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 205/227] examples/l3fwd-power: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 206/227] examples/link_status_interrupt: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 207/227] examples/multi_process: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 208/227] examples/ntb: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 209/227] examples/packet_ordering: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 210/227] examples/pipeline: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 211/227] examples/ptpclient: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 212/227] examples/ptp_tap_relay_sw: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 213/227] examples/qos_meter: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 214/227] examples/qos_sched: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 215/227] examples/rxtx_callbacks: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 216/227] examples/server_node_efd: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 217/227] examples/skeleton: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 218/227] examples/vhost: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 219/227] examples/vhost_crypto: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 220/227] examples/vm_power_manager: " Chengwen Feng
2026-11-03 14:52 ` [PATCH 221/227] examples/vmdq: " Chengwen Feng
2026-11-03 14:53 ` [PATCH 222/227] examples/vmdq_dcb: " Chengwen Feng
2026-11-03 14:53 ` [PATCH 223/227] eal: deprecate legacy socket API aliases Chengwen Feng
2026-11-03 14:53 ` [PATCH 224/227] doc: use NUMA node terminology Chengwen Feng
2026-11-03 14:53 ` [PATCH 225/227] test-dma-perf: " Chengwen Feng
2026-11-03 14:53 ` [PATCH 226/227] test/memzone: fix NUMA node terminology rename Chengwen Feng
2026-11-03 14:53 ` [PATCH 227/227] examples: fix NUMA node terminology residue Chengwen Feng
2026-11-03 16:16 ` [PATCH 000/227] use NUMA node terminology across the tree Aaron Conole
2026-11-04  2:05   ` fengchengwen
2026-11-04  7:34 ` Stephen Hemminger
2026-11-04  8:55   ` fengchengwen
2026-11-04  9:29     ` David Marchand

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=20261103145306.487255-16-chengwen.feng@linux.dev \
    --to=chengwen.feng@linux.dev \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=thomas@monjalon.net \
    /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