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 180/227] app/test-bbdev: use NUMA node terminology
Date: Tue, 3 Nov 2026 22:52:18 +0800 [thread overview]
Message-ID: <20261103145306.487255-181-chengwen.feng@linux.dev> (raw)
In-Reply-To: <20261103145306.487255-1-chengwen.feng@linux.dev>
From: Chengwen Feng <fengchengwen@huawei.com>
Rename socket_id parameters, local variables and comments to the
NUMA node terminology, and switch calls to the NUMA-named APIs.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/test-bbdev/test_bbdev.c | 26 ++++-----
app/test-bbdev/test_bbdev_perf.c | 90 ++++++++++++++++----------------
2 files changed, 58 insertions(+), 58 deletions(-)
diff --git a/app/test-bbdev/test_bbdev.c b/app/test-bbdev/test_bbdev.c
index 1f4246a6fa..71e93436a5 100644
--- a/app/test-bbdev/test_bbdev.c
+++ b/app/test-bbdev/test_bbdev.c
@@ -71,7 +71,7 @@ ut_setup(void)
num_queues = 1;
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(null_dev_id, num_queues,
- SOCKET_ID_ANY), "Failed to setup queues for bbdev %u",
+ RTE_NUMA_ID_ANY), "Failed to setup queues for bbdev %u",
0);
/* Start the device */
@@ -97,7 +97,7 @@ test_bbdev_configure_invalid_dev_id(void)
for (dev_id = 0; dev_id < RTE_BBDEV_MAX_DEVS; dev_id++) {
if (!rte_bbdev_is_valid(dev_id)) {
TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id,
- num_queues, SOCKET_ID_ANY),
+ num_queues, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"invalid dev_num %u", dev_id);
TEST_ASSERT(rte_bbdev_intr_enable(dev_id) == -ENODEV,
@@ -130,12 +130,12 @@ test_bbdev_configure_invalid_num_queues(void)
/* Stop the device in case it's started so it can be configured */
rte_bbdev_stop(dev_id);
- TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 0, SOCKET_ID_ANY),
+ TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 0, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"invalid num_queues %d", 0);
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(dev_id, num_queues,
- SOCKET_ID_ANY),
+ RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"invalid dev_num %u", dev_id);
@@ -153,13 +153,13 @@ test_bbdev_configure_invalid_num_queues(void)
num_queues = info.drv.max_num_queues;
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(dev_id, num_queues,
- SOCKET_ID_ANY),
+ RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"invalid num_queues: %u", num_queues);
num_queues++;
TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, num_queues,
- SOCKET_ID_ANY),
+ RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"invalid num_queues: %u", num_queues);
@@ -188,7 +188,7 @@ test_bbdev_configure_stop_device(void)
"started value: %u", info.started);
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(dev_id,
- info.drv.max_num_queues, SOCKET_ID_ANY),
+ info.drv.max_num_queues, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"device should be stopped, dev_id: %u", dev_id);
@@ -213,7 +213,7 @@ test_bbdev_configure_stop_device(void)
"started value: %u", info.started);
TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id,
- info.drv.max_num_queues, SOCKET_ID_ANY),
+ info.drv.max_num_queues, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"device should be started, dev_id: %u", dev_id);
@@ -238,7 +238,7 @@ test_bbdev_configure_stop_device(void)
"started value: %u", info.started);
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(dev_id,
- info.drv.max_num_queues, SOCKET_ID_ANY),
+ info.drv.max_num_queues, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"device should be stopped, dev_id: %u", dev_id);
@@ -1104,7 +1104,7 @@ test_bbdev_invalid_driver(void)
/* Tests for rte_bbdev_setup_queues */
dev2->dev_ops = NULL;
- TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, SOCKET_ID_ANY),
+ TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"NULL dev_ops structure ");
dev2->dev_ops = dev1.dev_ops;
@@ -1112,7 +1112,7 @@ test_bbdev_invalid_driver(void)
dev_ops_tmp = *dev2->dev_ops;
dev_ops_tmp.info_get = NULL;
dev2->dev_ops = &dev_ops_tmp;
- TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, SOCKET_ID_ANY),
+ TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"NULL info_get ");
dev2->dev_ops = dev1.dev_ops;
@@ -1120,14 +1120,14 @@ test_bbdev_invalid_driver(void)
dev_ops_tmp = *dev2->dev_ops;
dev_ops_tmp.queue_release = NULL;
dev2->dev_ops = &dev_ops_tmp;
- TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, SOCKET_ID_ANY),
+ TEST_ASSERT_FAIL(rte_bbdev_setup_queues(dev_id, 1, RTE_NUMA_ID_ANY),
"Failed test for rte_bbdev_setup_queues: "
"NULL queue_release ");
dev2->dev_ops = dev1.dev_ops;
dev2->data->numa_id = RTE_NUMA_ID_ANY;
TEST_ASSERT_SUCCESS(rte_bbdev_setup_queues(dev_id, 1,
- SOCKET_ID_ANY), "Failed to configure bbdev %u", dev_id);
+ RTE_NUMA_ID_ANY), "Failed to configure bbdev %u", dev_id);
/* Test for rte_bbdev_queue_configure */
dev2->dev_ops = NULL;
diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 8e2a26905d..35e3394495 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -22,7 +22,7 @@
#include "main.h"
#include "test_bbdev_vector.h"
-#define GET_SOCKET(socket_id) (((socket_id) == SOCKET_ID_ANY) ? 0 : (socket_id))
+#define GET_SOCKET(numa_id) (((numa_id) == RTE_NUMA_ID_ANY) ? 0 : (numa_id))
#define MAX_QUEUES RTE_MAX_LCORE
#define TEST_REPETITIONS 100
@@ -511,7 +511,7 @@ optimal_mempool_size(unsigned int val)
/* allocates mbuf mempool for inputs and outputs */
static struct rte_mempool *
create_mbuf_pool(struct op_data_entries *entries, uint8_t dev_id,
- int socket_id, unsigned int mbuf_pool_size,
+ int numa_id, unsigned int mbuf_pool_size,
const char *op_type_str)
{
unsigned int i;
@@ -528,11 +528,11 @@ create_mbuf_pool(struct op_data_entries *entries, uint8_t dev_id,
return rte_pktmbuf_pool_create(pool_name, mbuf_pool_size, 0, 0,
RTE_MAX(max_seg_sz + RTE_PKTMBUF_HEADROOM
+ FILLER_HEADROOM,
- (unsigned int)RTE_MBUF_DEFAULT_BUF_SIZE), socket_id);
+ (unsigned int)RTE_MBUF_DEFAULT_BUF_SIZE), numa_id);
}
static int
-create_mempools(struct active_device *ad, int socket_id,
+create_mempools(struct active_device *ad, int numa_id,
enum rte_bbdev_op_type org_op_type, uint16_t num_ops)
{
struct rte_mempool *mp;
@@ -568,12 +568,12 @@ create_mempools(struct active_device *ad, int socket_id,
snprintf(pool_name, sizeof(pool_name), "%s_pool_%u", op_type_str,
ad->dev_id);
mp = rte_bbdev_op_pool_create(pool_name, op_type,
- ops_pool_size, OPS_CACHE_SIZE, socket_id);
+ ops_pool_size, OPS_CACHE_SIZE, numa_id);
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %u items ops pool for dev %u on socket %u.",
ops_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->ops_mempool = mp;
/* Do not create inputs and outputs mbufs for BaseBand Null Device */
@@ -584,13 +584,13 @@ create_mempools(struct active_device *ad, int socket_id,
if (in->nb_segments > 0) {
mbuf_pool_size = optimal_mempool_size(ops_pool_size *
in->nb_segments);
- mp = create_mbuf_pool(in, ad->dev_id, socket_id,
+ mp = create_mbuf_pool(in, ad->dev_id, numa_id,
mbuf_pool_size, "in");
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %u items input pktmbuf pool for dev %u on socket %u.",
mbuf_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->in_mbuf_pool = mp;
}
@@ -598,14 +598,14 @@ create_mempools(struct active_device *ad, int socket_id,
if (hard_out->nb_segments > 0) {
mbuf_pool_size = optimal_mempool_size(ops_pool_size *
hard_out->nb_segments);
- mp = create_mbuf_pool(hard_out, ad->dev_id, socket_id,
+ mp = create_mbuf_pool(hard_out, ad->dev_id, numa_id,
mbuf_pool_size,
"hard_out");
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %u items hard output pktmbuf pool for dev %u on socket %u.",
mbuf_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->hard_out_mbuf_pool = mp;
}
@@ -613,14 +613,14 @@ create_mempools(struct active_device *ad, int socket_id,
if (soft_out->nb_segments > 0) {
mbuf_pool_size = optimal_mempool_size(ops_pool_size *
soft_out->nb_segments);
- mp = create_mbuf_pool(soft_out, ad->dev_id, socket_id,
+ mp = create_mbuf_pool(soft_out, ad->dev_id, numa_id,
mbuf_pool_size,
"soft_out");
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %uB soft output pktmbuf pool for dev %u on socket %u.",
mbuf_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->soft_out_mbuf_pool = mp;
}
@@ -628,14 +628,14 @@ create_mempools(struct active_device *ad, int socket_id,
if (harq_in->nb_segments > 0) {
mbuf_pool_size = optimal_mempool_size(ops_pool_size *
harq_in->nb_segments);
- mp = create_mbuf_pool(harq_in, ad->dev_id, socket_id,
+ mp = create_mbuf_pool(harq_in, ad->dev_id, numa_id,
mbuf_pool_size,
"harq_in");
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %uB harq input pktmbuf pool for dev %u on socket %u.",
mbuf_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->harq_in_mbuf_pool = mp;
}
@@ -643,14 +643,14 @@ create_mempools(struct active_device *ad, int socket_id,
if (harq_out->nb_segments > 0) {
mbuf_pool_size = optimal_mempool_size(ops_pool_size *
harq_out->nb_segments);
- mp = create_mbuf_pool(harq_out, ad->dev_id, socket_id,
+ mp = create_mbuf_pool(harq_out, ad->dev_id, numa_id,
mbuf_pool_size,
"harq_out");
TEST_ASSERT_NOT_NULL(mp,
"ERROR Failed to create %uB harq output pktmbuf pool for dev %u on socket %u.",
mbuf_pool_size,
ad->dev_id,
- socket_id);
+ numa_id);
ad->harq_out_mbuf_pool = mp;
}
@@ -1222,13 +1222,13 @@ allocate_buffers_on_socket(struct rte_bbdev_op_data **buffers, const int len,
{
int i;
- *buffers = rte_zmalloc_socket(NULL, len, 0, socket);
+ *buffers = rte_zmalloc_numa(NULL, len, 0, socket);
if (*buffers == NULL) {
printf("WARNING: Failed to allocate op_data on socket %d\n",
socket);
/* try to allocate memory on other detected sockets */
for (i = 0; i < socket; i++) {
- *buffers = rte_zmalloc_socket(NULL, len, 0, i);
+ *buffers = rte_zmalloc_numa(NULL, len, 0, i);
if (*buffers != NULL)
break;
}
@@ -1344,7 +1344,7 @@ fill_queue_buffers(struct test_op_params *op_params,
struct rte_mempool *harq_in_mp, struct rte_mempool *harq_out_mp,
uint16_t queue_id,
const struct rte_bbdev_op_cap *capabilities,
- uint16_t min_alignment, const int socket_id)
+ uint16_t min_alignment, const int numa_id)
{
int ret;
enum op_data_type type;
@@ -1359,11 +1359,11 @@ fill_queue_buffers(struct test_op_params *op_params,
};
struct rte_bbdev_op_data **queue_ops[DATA_NUM_TYPES] = {
- &op_params->q_bufs[socket_id][queue_id].inputs,
- &op_params->q_bufs[socket_id][queue_id].soft_outputs,
- &op_params->q_bufs[socket_id][queue_id].hard_outputs,
- &op_params->q_bufs[socket_id][queue_id].harq_inputs,
- &op_params->q_bufs[socket_id][queue_id].harq_outputs,
+ &op_params->q_bufs[numa_id][queue_id].inputs,
+ &op_params->q_bufs[numa_id][queue_id].soft_outputs,
+ &op_params->q_bufs[numa_id][queue_id].hard_outputs,
+ &op_params->q_bufs[numa_id][queue_id].harq_inputs,
+ &op_params->q_bufs[numa_id][queue_id].harq_outputs,
};
for (type = DATA_INPUT; type < DATA_NUM_TYPES; ++type) {
@@ -1374,7 +1374,7 @@ fill_queue_buffers(struct test_op_params *op_params,
ret = allocate_buffers_on_socket(queue_ops[type],
n * sizeof(struct rte_bbdev_op_data),
- socket_id);
+ numa_id);
TEST_ASSERT_SUCCESS(ret,
"Couldn't allocate memory for rte_bbdev_op_data structs");
@@ -3035,7 +3035,7 @@ static int
run_test_case_on_device(test_case_function *test_case_func, uint8_t dev_id,
struct test_op_params *op_params)
{
- int t_ret, f_ret, socket_id = SOCKET_ID_ANY;
+ int t_ret, f_ret, numa_id = RTE_NUMA_ID_ANY;
unsigned int i;
struct active_device *ad;
unsigned int burst_sz = get_burst_sz();
@@ -3050,9 +3050,9 @@ run_test_case_on_device(test_case_function *test_case_func, uint8_t dev_id,
struct rte_bbdev_info info;
rte_bbdev_info_get(ad->dev_id, &info);
- socket_id = GET_SOCKET(info.socket_id);
+ numa_id = GET_SOCKET(info.numa_id);
- f_ret = create_mempools(ad, socket_id, op_type,
+ f_ret = create_mempools(ad, numa_id, op_type,
get_num_ops());
if (f_ret != TEST_SUCCESS) {
printf("Couldn't create mempools");
@@ -3109,7 +3109,7 @@ run_test_case_on_device(test_case_function *test_case_func, uint8_t dev_id,
ad->queue_ids[i],
capabilities,
info.drv.min_alignment,
- socket_id);
+ numa_id);
if (f_ret != TEST_SUCCESS) {
printf("Couldn't init queue buffers");
goto fail;
@@ -3474,7 +3474,7 @@ throughput_intr_lcore_ldpc_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -3578,7 +3578,7 @@ throughput_intr_lcore_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -3675,7 +3675,7 @@ throughput_intr_lcore_enc(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -3769,7 +3769,7 @@ throughput_intr_lcore_ldpc_enc(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -3865,7 +3865,7 @@ throughput_intr_lcore_fft(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -3959,7 +3959,7 @@ throughput_intr_lcore_mldts(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_atomic_store_explicit(&tp->processing_status, 0, rte_memory_order_relaxed);
rte_atomic_store_explicit(&tp->nb_dequeued, 0, rte_memory_order_relaxed);
@@ -4049,7 +4049,7 @@ throughput_pmd_lcore_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4169,7 +4169,7 @@ bler_pmd_lcore_ldpc_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4305,7 +4305,7 @@ bler_pmd_lcore_turbo_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4429,7 +4429,7 @@ throughput_pmd_lcore_ldpc_dec(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4561,7 +4561,7 @@ throughput_pmd_lcore_enc(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4663,7 +4663,7 @@ throughput_pmd_lcore_ldpc_enc(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4765,7 +4765,7 @@ throughput_pmd_lcore_fft(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -4864,7 +4864,7 @@ throughput_pmd_lcore_mldts(void *arg)
"NUM_OPS cannot exceed %u for this device",
info.drv.queue_size_lim);
- bufs = &tp->op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &tp->op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
rte_wait_until_equal_16((uint16_t *)(uintptr_t)&tp->op_params->sync, SYNC_START,
rte_memory_order_relaxed);
@@ -5772,7 +5772,7 @@ validation_latency_test(struct active_device *ad,
"BURST_SIZE should be <= %u", MAX_BURST);
rte_bbdev_info_get(ad->dev_id, &info);
- bufs = &op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
op_type_str = rte_bbdev_op_type_str(op_type);
TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
@@ -6378,7 +6378,7 @@ offload_cost_test(struct active_device *ad,
"BURST_SIZE should be <= %u", MAX_BURST);
rte_bbdev_info_get(ad->dev_id, &info);
- bufs = &op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+ bufs = &op_params->q_bufs[GET_SOCKET(info.numa_id)][queue_id];
op_type_str = rte_bbdev_op_type_str(op_type);
TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
--
2.55.0
next prev parent reply other threads:[~2026-11-03 15:21 UTC|newest]
Thread overview: 229+ 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-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 ` [PATCH 015/227] graph: " Chengwen Feng
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 ` Chengwen Feng [this message]
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
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-181-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