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 118/227] net/enic: use NUMA node terminology
Date: Tue, 3 Nov 2026 22:51:16 +0800 [thread overview]
Message-ID: <20261103145306.487255-119-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, internal structure fields, variables
and comments to the NUMA node terminology, and switch calls to
the NUMA-named APIs.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
drivers/net/enic/base/vnic_cq.c | 8 +++----
drivers/net/enic/base/vnic_cq.h | 4 ++--
drivers/net/enic/base/vnic_dev.c | 4 ++--
drivers/net/enic/base/vnic_dev.h | 2 +-
drivers/net/enic/base/vnic_rq.c | 6 ++---
drivers/net/enic/base/vnic_rq.h | 2 +-
drivers/net/enic/base/vnic_wq.c | 8 +++----
drivers/net/enic/base/vnic_wq.h | 2 +-
drivers/net/enic/enic.h | 4 ++--
drivers/net/enic/enic_ethdev.c | 8 +++----
drivers/net/enic/enic_main.c | 32 +++++++++++++-------------
drivers/net/enic/enic_sriov.c | 10 ++++----
drivers/net/enic/enic_vf_representor.c | 8 +++----
13 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/drivers/net/enic/base/vnic_cq.c b/drivers/net/enic/base/vnic_cq.c
index e966de2f67..2c538a4b5d 100644
--- a/drivers/net/enic/base/vnic_cq.c
+++ b/drivers/net/enic/base/vnic_cq.c
@@ -15,7 +15,7 @@ void vnic_cq_free(struct vnic_cq *cq)
}
int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
- unsigned int socket_id,
+ unsigned int numa_id,
unsigned int desc_count, unsigned int desc_size)
{
int err;
@@ -34,7 +34,7 @@ int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
snprintf(res_name, sizeof(res_name), "%d-cq-%u", instance++, index);
err = vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size,
- socket_id, res_name);
+ numa_id, res_name);
if (err)
return err;
@@ -42,7 +42,7 @@ int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
}
int vnic_admin_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
- unsigned int socket_id, unsigned int desc_count, unsigned int desc_size)
+ unsigned int numa_id, unsigned int desc_count, unsigned int desc_size)
{
int err;
char res_name[RTE_MEMZONE_NAMESIZE];
@@ -60,7 +60,7 @@ int vnic_admin_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int
snprintf(res_name, sizeof(res_name), "%d-admin-cq-%u", instance++, index);
err = vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size,
- socket_id, res_name);
+ numa_id, res_name);
if (err)
return err;
diff --git a/drivers/net/enic/base/vnic_cq.h b/drivers/net/enic/base/vnic_cq.h
index 6469a5c12a..9b3462ba4f 100644
--- a/drivers/net/enic/base/vnic_cq.h
+++ b/drivers/net/enic/base/vnic_cq.h
@@ -64,10 +64,10 @@ struct vnic_cq {
void vnic_cq_free(struct vnic_cq *cq);
int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
- unsigned int socket_id,
+ unsigned int numa_id,
unsigned int desc_count, unsigned int desc_size);
int vnic_admin_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
- unsigned int socket_id, unsigned int desc_count, unsigned int desc_size);
+ unsigned int numa_id, unsigned int desc_count, unsigned int desc_size);
void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable,
unsigned int color_enable, unsigned int cq_head, unsigned int cq_tail,
unsigned int cq_tail_color, unsigned int interrupt_enable,
diff --git a/drivers/net/enic/base/vnic_dev.c b/drivers/net/enic/base/vnic_dev.c
index ba8ecc16f2..73596fd62b 100644
--- a/drivers/net/enic/base/vnic_dev.c
+++ b/drivers/net/enic/base/vnic_dev.c
@@ -260,7 +260,7 @@ void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring)
int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev,
struct vnic_dev_ring *ring,
unsigned int desc_count, unsigned int desc_size,
- __rte_unused unsigned int socket_id,
+ __rte_unused unsigned int numa_id,
char *z_name)
{
void *alloc_addr;
@@ -1199,7 +1199,7 @@ struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev,
char name[RTE_MEMZONE_NAMESIZE];
snprintf((char *)name, sizeof(name), "%s-vnic",
pdev->device.name);
- vdev = (struct vnic_dev *)rte_zmalloc_socket(name,
+ vdev = (struct vnic_dev *)rte_zmalloc_numa(name,
sizeof(struct vnic_dev),
RTE_CACHE_LINE_SIZE,
pdev->device.numa_node);
diff --git a/drivers/net/enic/base/vnic_dev.h b/drivers/net/enic/base/vnic_dev.h
index 0336e07ffc..d8ab91ac15 100644
--- a/drivers/net/enic/base/vnic_dev.h
+++ b/drivers/net/enic/base/vnic_dev.h
@@ -96,7 +96,7 @@ unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring,
unsigned int desc_count, unsigned int desc_size);
void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring);
int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring,
- unsigned int desc_count, unsigned int desc_size, unsigned int socket_id,
+ unsigned int desc_count, unsigned int desc_size, unsigned int numa_id,
char *z_name);
void vnic_dev_free_desc_ring(struct vnic_dev *vdev,
struct vnic_dev_ring *ring);
diff --git a/drivers/net/enic/base/vnic_rq.c b/drivers/net/enic/base/vnic_rq.c
index 88def104ad..933a00b14e 100644
--- a/drivers/net/enic/base/vnic_rq.c
+++ b/drivers/net/enic/base/vnic_rq.c
@@ -39,7 +39,7 @@ int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index,
snprintf(res_name, sizeof(res_name), "%d-rq-%u", instance++, index);
rc = vnic_dev_alloc_desc_ring(vdev, &rq->ring, desc_count, desc_size,
- rq->socket_id, res_name);
+ rq->numa_id, res_name);
return rc;
}
@@ -53,7 +53,7 @@ int vnic_admin_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq,
rq->index = 0;
rq->vdev = vdev;
rq->admin_chan = true;
- rq->socket_id = SOCKET_ID_ANY;
+ rq->numa_id = RTE_NUMA_ID_ANY;
rq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_ADMIN_RQ, 0);
if (!rq->ctrl) {
@@ -65,7 +65,7 @@ int vnic_admin_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq,
snprintf(res_name, sizeof(res_name), "%d-admin-rq", instance++);
rc = vnic_dev_alloc_desc_ring(vdev, &rq->ring, desc_count, desc_size,
- rq->socket_id, res_name);
+ rq->numa_id, res_name);
return rc;
}
diff --git a/drivers/net/enic/base/vnic_rq.h b/drivers/net/enic/base/vnic_rq.h
index 0f068d2e18..985dfae9ac 100644
--- a/drivers/net/enic/base/vnic_rq.h
+++ b/drivers/net/enic/base/vnic_rq.h
@@ -60,7 +60,7 @@ struct vnic_rq {
unsigned int pkts_outstanding;
uint16_t rx_nb_hold;
uint16_t rx_free_thresh;
- unsigned int socket_id;
+ unsigned int numa_id;
struct rte_mempool *mp;
uint16_t rxst_idx;
uint32_t tot_pkts;
diff --git a/drivers/net/enic/base/vnic_wq.c b/drivers/net/enic/base/vnic_wq.c
index 04eabefae7..cca99151e1 100644
--- a/drivers/net/enic/base/vnic_wq.c
+++ b/drivers/net/enic/base/vnic_wq.c
@@ -26,16 +26,16 @@ int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq,
snprintf(res_name, sizeof(res_name), "%d-%swq-%u",
instance++, wq->admin_chan ? "admin-" : "", wq->index);
return vnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, desc_size,
- wq->socket_id, res_name);
+ wq->numa_id, res_name);
}
static int vnic_wq_alloc_bufs(struct vnic_wq *wq)
{
unsigned int count = wq->ring.desc_count;
/* Allocate the mbuf ring */
- wq->bufs = (struct rte_mbuf **)rte_zmalloc_socket(wq->admin_chan ? "admin-wq-bufs" : "wq-bufs",
+ wq->bufs = (struct rte_mbuf **)rte_zmalloc_numa(wq->admin_chan ? "admin-wq-bufs" : "wq-bufs",
sizeof(struct rte_mbuf *) * count,
- RTE_CACHE_LINE_SIZE, wq->socket_id);
+ RTE_CACHE_LINE_SIZE, wq->numa_id);
wq->head_idx = 0;
wq->tail_idx = 0;
if (wq->bufs == NULL)
@@ -94,7 +94,7 @@ int vnic_admin_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq,
wq->index = 0;
wq->vdev = vdev;
wq->admin_chan = true;
- wq->socket_id = SOCKET_ID_ANY;
+ wq->numa_id = RTE_NUMA_ID_ANY;
err = vnic_wq_get_ctrl(vdev, wq, 0, RES_TYPE_ADMIN_WQ);
if (err) {
diff --git a/drivers/net/enic/base/vnic_wq.h b/drivers/net/enic/base/vnic_wq.h
index 381f78431c..8529a8d0f9 100644
--- a/drivers/net/enic/base/vnic_wq.h
+++ b/drivers/net/enic/base/vnic_wq.h
@@ -46,7 +46,7 @@ struct vnic_wq {
unsigned int head_idx;
unsigned int cq_pend;
unsigned int tail_idx;
- unsigned int socket_id;
+ unsigned int numa_id;
const struct rte_memzone *cqmsg_rz;
uint16_t last_completed_index;
uint64_t offloads;
diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
index 0a8d4a29ca..d2806c8a89 100644
--- a/drivers/net/enic/enic.h
+++ b/drivers/net/enic/enic.h
@@ -399,14 +399,14 @@ void enic_free_wq(void *txq);
int enic_alloc_intr_resources(struct enic *enic);
int enic_setup_finish(struct enic *enic);
int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
- unsigned int socket_id, uint16_t nb_desc);
+ unsigned int numa_id, uint16_t nb_desc);
void enic_start_wq(struct enic *enic, uint16_t queue_idx);
int enic_stop_wq(struct enic *enic, uint16_t queue_idx);
void enic_start_rq(struct enic *enic, uint16_t queue_idx);
int enic_stop_rq(struct enic *enic, uint16_t queue_idx);
void enic_free_rq(void *rxq);
int enic_alloc_rq(struct enic *enic, uint16_t queue_idx,
- unsigned int socket_id, struct rte_mempool *mp,
+ unsigned int numa_id, struct rte_mempool *mp,
uint16_t nb_desc, uint16_t free_thresh);
int enic_set_vnic_res(struct enic *enic);
int enic_init_rss_nic_cfg(struct enic *enic);
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 648aa67a85..ea34a05a06 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -166,7 +166,7 @@ static int enicpmd_dev_setup_intr(struct enic *enic)
static int enicpmd_dev_tx_queue_setup(struct rte_eth_dev *eth_dev,
uint16_t queue_idx,
uint16_t nb_desc,
- unsigned int socket_id,
+ unsigned int numa_id,
const struct rte_eth_txconf *tx_conf)
{
int ret;
@@ -183,7 +183,7 @@ static int enicpmd_dev_tx_queue_setup(struct rte_eth_dev *eth_dev,
eth_dev->data->dev_conf.txmode.offloads;
eth_dev->data->tx_queues[queue_idx] = (void *)wq;
- ret = enic_alloc_wq(enic, queue_idx, socket_id, nb_desc);
+ ret = enic_alloc_wq(enic, queue_idx, numa_id, nb_desc);
if (ret) {
dev_err(enic, "error in allocating wq\n");
return ret;
@@ -285,7 +285,7 @@ static int enicpmd_dev_rx_queue_count(void *rx_queue)
static int enicpmd_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
uint16_t queue_idx,
uint16_t nb_desc,
- unsigned int socket_id,
+ unsigned int numa_id,
const struct rte_eth_rxconf *rx_conf,
struct rte_mempool *mp)
{
@@ -300,7 +300,7 @@ static int enicpmd_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
eth_dev->data->rx_queues[queue_idx] =
(void *)&enic->rq[enic_rte_rq_idx_to_sop_idx(queue_idx)];
- ret = enic_alloc_rq(enic, queue_idx, socket_id, mp, nb_desc,
+ ret = enic_alloc_rq(enic, queue_idx, numa_id, mp, nb_desc,
rx_conf->rx_free_thresh);
if (ret) {
dev_err(enic, "error in allocating rq\n");
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 0c7f085d66..414ee5e3b9 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -333,7 +333,7 @@ enic_alloc_consistent(void *priv, size_t size,
struct enic_memzone_entry *mze;
rz = rte_memzone_reserve_aligned((const char *)name, size,
- SOCKET_ID_ANY, RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
+ RTE_NUMA_ID_ANY, RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
if (!rz) {
pr_err("%s : Failed to allocate memory requested for %s\n",
__func__, name);
@@ -787,7 +787,7 @@ int enic_stop_rq(struct enic *enic, uint16_t queue_idx)
}
int enic_alloc_rq(struct enic *enic, uint16_t queue_idx,
- unsigned int socket_id, struct rte_mempool *mp,
+ unsigned int numa_id, struct rte_mempool *mp,
uint16_t nb_desc, uint16_t free_thresh)
{
struct enic_vf_representor *vf;
@@ -824,9 +824,9 @@ int enic_alloc_rq(struct enic *enic, uint16_t queue_idx,
rq_sop->data_queue_idx = data_queue_idx;
rq_data->is_sop = 0;
rq_data->data_queue_idx = 0;
- rq_sop->socket_id = socket_id;
+ rq_sop->numa_id = numa_id;
rq_sop->mp = mp;
- rq_data->socket_id = socket_id;
+ rq_data->numa_id = numa_id;
rq_data->mp = mp;
rq_sop->in_use = 1;
rq_sop->rx_free_thresh = free_thresh;
@@ -952,7 +952,7 @@ int enic_alloc_rq(struct enic *enic, uint16_t queue_idx,
}
rc = vnic_cq_alloc(enic->vdev, &enic->cq[cq_idx], cq_idx,
- socket_id, nb_sop_desc + nb_data_desc,
+ numa_id, nb_sop_desc + nb_data_desc,
enic->cq64 ? sizeof(struct cq_enet_rq_desc_64) :
sizeof(struct cq_enet_rq_desc));
if (rc) {
@@ -962,26 +962,26 @@ int enic_alloc_rq(struct enic *enic, uint16_t queue_idx,
/* Allocate the mbuf rings */
rq_sop->mbuf_ring = (struct rte_mbuf **)
- rte_zmalloc_socket("rq->mbuf_ring",
+ rte_zmalloc_numa("rq->mbuf_ring",
sizeof(struct rte_mbuf *) * nb_sop_desc,
- RTE_CACHE_LINE_SIZE, rq_sop->socket_id);
+ RTE_CACHE_LINE_SIZE, rq_sop->numa_id);
if (rq_sop->mbuf_ring == NULL)
goto err_free_cq;
if (rq_data->in_use) {
rq_data->mbuf_ring = (struct rte_mbuf **)
- rte_zmalloc_socket("rq->mbuf_ring",
+ rte_zmalloc_numa("rq->mbuf_ring",
sizeof(struct rte_mbuf *) * nb_data_desc,
- RTE_CACHE_LINE_SIZE, rq_sop->socket_id);
+ RTE_CACHE_LINE_SIZE, rq_sop->numa_id);
if (rq_data->mbuf_ring == NULL)
goto err_free_sop_mbuf;
}
rq_sop->free_mbufs = (struct rte_mbuf **)
- rte_zmalloc_socket("rq->free_mbufs",
+ rte_zmalloc_numa("rq->free_mbufs",
sizeof(struct rte_mbuf *) *
ENIC_RX_BURST_MAX,
- RTE_CACHE_LINE_SIZE, rq_sop->socket_id);
+ RTE_CACHE_LINE_SIZE, rq_sop->numa_id);
if (rq_sop->free_mbufs == NULL)
goto err_free_data_mbuf;
rq_sop->num_free_mbufs = 0;
@@ -1022,7 +1022,7 @@ void enic_free_wq(void *txq)
}
int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
- unsigned int socket_id, uint16_t nb_desc)
+ unsigned int numa_id, uint16_t nb_desc)
{
struct enic_vf_representor *vf;
int err;
@@ -1045,7 +1045,7 @@ int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
cq_index = enic_cq_wq(enic, queue_idx);
}
wq = &enic->wq[queue_idx];
- wq->socket_id = socket_id;
+ wq->numa_id = numa_id;
/*
* rte_eth_tx_queue_setup() checks min, max, and alignment. So just
* print an info message for diagnostics.
@@ -1062,7 +1062,7 @@ int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
}
err = vnic_cq_alloc(enic->vdev, &enic->cq[cq_index], cq_index,
- socket_id, nb_desc,
+ numa_id, nb_desc,
sizeof(struct cq_enet_wq_desc));
if (err) {
vnic_wq_free(wq);
@@ -1075,7 +1075,7 @@ int enic_alloc_wq(struct enic *enic, uint16_t queue_idx,
instance++);
wq->cqmsg_rz = rte_memzone_reserve_aligned((const char *)name,
- sizeof(uint32_t), SOCKET_ID_ANY,
+ sizeof(uint32_t), RTE_NUMA_ID_ANY,
RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
if (!wq->cqmsg_rz)
return -ENOMEM;
@@ -1682,7 +1682,7 @@ int enic_set_mtu(struct enic *enic, uint16_t new_mtu)
continue;
enic_free_rq(rq);
- rc = enic_alloc_rq(enic, rq_idx, rq->socket_id, rq->mp,
+ rc = enic_alloc_rq(enic, rq_idx, rq->numa_id, rq->mp,
rq->tot_nb_desc, rq->rx_free_thresh);
if (rc) {
dev_err(enic,
diff --git a/drivers/net/enic/enic_sriov.c b/drivers/net/enic/enic_sriov.c
index 29faa31512..42b6440357 100644
--- a/drivers/net/enic/enic_sriov.c
+++ b/drivers/net/enic/enic_sriov.c
@@ -79,7 +79,7 @@ static int enic_enable_admin_rq(struct enic *enic)
return err;
}
err = vnic_admin_cq_alloc(enic->vdev, cq, cq_idx,
- SOCKET_ID_ANY, desc_count, sizeof(struct cq_enet_rq_desc));
+ RTE_NUMA_ID_ANY, desc_count, sizeof(struct cq_enet_rq_desc));
if (err) {
dev_err(enic, "failed to allocate CQ for admin RQ\n");
return err;
@@ -106,7 +106,7 @@ static int enic_enable_admin_rq(struct enic *enic)
*/
snprintf((char *)name, sizeof(name), "admin-rq-buf-%d", instance++);
rq->admin_msg_rz = rte_memzone_reserve_aligned((const char *)name,
- desc_count * rqbuf_size, SOCKET_ID_ANY,
+ desc_count * rqbuf_size, RTE_NUMA_ID_ANY,
RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
if (!rq->admin_msg_rz)
return -ENOMEM;
@@ -151,7 +151,7 @@ static int enic_enable_admin_wq(struct enic *enic)
return err;
}
err = vnic_admin_cq_alloc(enic->vdev, cq, cq_idx,
- SOCKET_ID_ANY, desc_count, sizeof(struct cq_enet_wq_desc));
+ RTE_NUMA_ID_ANY, desc_count, sizeof(struct cq_enet_wq_desc));
if (err) {
vnic_wq_free(wq);
dev_err(enic, "failed to allocate CQ for admin WQ\n");
@@ -160,7 +160,7 @@ static int enic_enable_admin_wq(struct enic *enic)
snprintf((char *)name, sizeof(name),
"vnic_cqmsg-%s-admin-wq-%d", enic->bdf_name, instance++);
wq->cqmsg_rz = rte_memzone_reserve_aligned((const char *)name,
- sizeof(uint32_t), SOCKET_ID_ANY,
+ sizeof(uint32_t), RTE_NUMA_ID_ANY,
RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
if (!wq->cqmsg_rz)
return -ENOMEM;
@@ -183,7 +183,7 @@ static int enic_enable_admin_wq(struct enic *enic)
snprintf((char *)name, sizeof(name), "admin-wq-buf-%d", instance++);
wq->admin_msg_rz = rte_memzone_reserve_aligned((const char *)name,
- desc_count * wqbuf_size, SOCKET_ID_ANY,
+ desc_count * wqbuf_size, RTE_NUMA_ID_ANY,
RTE_MEMZONE_IOVA_CONTIG, ENIC_PAGE_SIZE);
if (!wq->admin_msg_rz)
return -ENOMEM;
diff --git a/drivers/net/enic/enic_vf_representor.c b/drivers/net/enic/enic_vf_representor.c
index fc836100b4..bb6adb3e6c 100644
--- a/drivers/net/enic/enic_vf_representor.c
+++ b/drivers/net/enic/enic_vf_representor.c
@@ -41,7 +41,7 @@ static uint16_t enic_vf_xmit_pkts(void *tx_queue,
static int enic_vf_dev_tx_queue_setup(struct rte_eth_dev *eth_dev,
uint16_t queue_idx,
uint16_t nb_desc,
- unsigned int socket_id,
+ unsigned int numa_id,
const struct rte_eth_txconf *tx_conf)
{
struct enic_vf_representor *vf;
@@ -62,7 +62,7 @@ static int enic_vf_dev_tx_queue_setup(struct rte_eth_dev *eth_dev,
eth_dev->data->dev_conf.txmode.offloads;
eth_dev->data->tx_queues[0] = (void *)wq;
/* Pass vf not pf because of cq index calculation. See enic_alloc_wq */
- err = enic_alloc_wq(&vf->enic, queue_idx, socket_id, nb_desc);
+ err = enic_alloc_wq(&vf->enic, queue_idx, numa_id, nb_desc);
if (err) {
ENICPMD_LOG(ERR, "error in allocating wq");
return err;
@@ -83,7 +83,7 @@ static void enic_vf_dev_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
static int enic_vf_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
uint16_t queue_idx,
uint16_t nb_desc,
- unsigned int socket_id,
+ unsigned int numa_id,
const struct rte_eth_rxconf *rx_conf,
struct rte_mempool *mp)
{
@@ -101,7 +101,7 @@ static int enic_vf_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
pf = vf->pf;
eth_dev->data->rx_queues[queue_idx] =
(void *)&pf->rq[vf->pf_rq_sop_idx];
- ret = enic_alloc_rq(&vf->enic, queue_idx, socket_id, mp, nb_desc,
+ ret = enic_alloc_rq(&vf->enic, queue_idx, numa_id, mp, nb_desc,
rx_conf->rx_free_thresh);
if (ret) {
ENICPMD_LOG(ERR, "error in allocating rq");
--
2.55.0
next prev parent reply other threads:[~2026-11-03 15:12 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 ` Chengwen Feng [this message]
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
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-119-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