[PATCH 06/20] port: use rte_pktmbuf_free_bulk
Stephen Hemminger
stephen at networkplumber.org
Fri May 8 22:33:27 CEST 2026
Replace open-coded loop with rte_pktmbuf_free_bulk().
Generated by devtools/cocci/free_bulk.cocci.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/port/rte_port_fd.c | 6 ++----
lib/port/rte_swx_port_fd.c | 8 ++------
lib/port/rte_swx_port_source_sink.c | 6 +-----
3 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/lib/port/rte_port_fd.c b/lib/port/rte_port_fd.c
index dbc9efef1b..2b021710d4 100644
--- a/lib/port/rte_port_fd.c
+++ b/lib/port/rte_port_fd.c
@@ -212,8 +212,7 @@ send_burst(struct rte_port_fd_writer *p)
RTE_PORT_FD_WRITER_STATS_PKTS_DROP_ADD(p, p->tx_buf_count - i);
- for (i = 0; i < p->tx_buf_count; i++)
- rte_pktmbuf_free(p->tx_buf[i]);
+ rte_pktmbuf_free_bulk(p->tx_buf, p->tx_buf_count);
p->tx_buf_count = 0;
}
@@ -397,8 +396,7 @@ send_burst_nodrop(struct rte_port_fd_writer_nodrop *p)
RTE_PORT_FD_WRITER_NODROP_STATS_PKTS_DROP_ADD(p, p->tx_buf_count - i);
- for (i = 0; i < p->tx_buf_count; i++)
- rte_pktmbuf_free(p->tx_buf[i]);
+ rte_pktmbuf_free_bulk(p->tx_buf, p->tx_buf_count);
p->tx_buf_count = 0;
}
diff --git a/lib/port/rte_swx_port_fd.c b/lib/port/rte_swx_port_fd.c
index 72783d2b0f..937b1e0945 100644
--- a/lib/port/rte_swx_port_fd.c
+++ b/lib/port/rte_swx_port_fd.c
@@ -73,14 +73,11 @@ static void
reader_free(void *port)
{
struct reader *p = port;
- uint32_t i;
if (!p)
return;
- for (i = 0; i < p->n_pkts; i++)
- rte_pktmbuf_free(p->pkts[i]);
-
+ rte_pktmbuf_free_bulk(p->pkts, p->n_pkts);
free(p->pkts);
free(p);
}
@@ -218,8 +215,7 @@ __writer_flush(struct writer *p)
(uint32_t)p->params.fd,
p->n_pkts);
- for (i = 0; i < p->n_pkts; i++)
- rte_pktmbuf_free(p->pkts[i]);
+ rte_pktmbuf_free_bulk(p->pkts, p->n_pkts);
p->n_pkts = 0;
}
diff --git a/lib/port/rte_swx_port_source_sink.c b/lib/port/rte_swx_port_source_sink.c
index af8b9ec68d..f651d5b5ad 100644
--- a/lib/port/rte_swx_port_source_sink.c
+++ b/lib/port/rte_swx_port_source_sink.c
@@ -52,16 +52,12 @@ static void
source_free(void *port)
{
struct source *p = port;
- uint32_t i;
if (!p)
return;
- for (i = 0; i < p->n_pkts; i++)
- rte_pktmbuf_free(p->pkts[i]);
-
+ rte_pktmbuf_free_bulk(p->pkts, p->n_pkts);
free(p->pkts);
-
free(p);
}
--
2.53.0
More information about the dev
mailing list