[PATCH v3 3/5] ethdev: mark mbufs in burst functions
Thomas Monjalon
thomas at monjalon.net
Wed Oct 1 01:25:04 CEST 2025
From: Shani Peretz <shperetz at nvidia.com>
Mark the Rx/Tx steps in mbufs for debugging.
It has no performance impact if mbuf history is disabled (by default).
Signed-off-by: Shani Peretz <shperetz at nvidia.com>
---
lib/ethdev/rte_ethdev.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index d23c143eed..8a9683c5e9 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -6336,6 +6336,8 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,
nb_rx = p->rx_pkt_burst(qd, rx_pkts, nb_pkts);
+ rte_mbuf_history_mark_bulk(rx_pkts, nb_rx, RTE_MBUF_HISTORY_OP_RX);
+
#ifdef RTE_ETHDEV_RXTX_CALLBACKS
{
void *cb;
@@ -6688,8 +6690,19 @@ rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id,
}
#endif
+#if RTE_MBUF_HISTORY_DEBUG
+ uint16_t requested_pkts = nb_pkts;
+ rte_mbuf_history_mark_bulk(tx_pkts, nb_pkts, RTE_MBUF_HISTORY_OP_TX);
+#endif
+
nb_pkts = p->tx_pkt_burst(qd, tx_pkts, nb_pkts);
+#if RTE_MBUF_HISTORY_DEBUG
+ if (requested_pkts > nb_pkts)
+ rte_mbuf_history_mark_bulk(tx_pkts + nb_pkts,
+ requested_pkts - nb_pkts, RTE_MBUF_HISTORY_OP_BUSY_TX);
+#endif
+
rte_ethdev_trace_tx_burst(port_id, queue_id, (void **)tx_pkts, nb_pkts);
return nb_pkts;
}
@@ -6785,6 +6798,8 @@ rte_eth_tx_prepare(uint16_t port_id, uint16_t queue_id,
}
#endif
+ rte_mbuf_history_mark_bulk(tx_pkts, nb_pkts, RTE_MBUF_HISTORY_OP_PREP_TX);
+
return p->tx_pkt_prepare(qd, tx_pkts, nb_pkts);
}
--
2.51.0
More information about the dev
mailing list