Currently, vector Rx queue release mbufs function is only called from inside the scalar variant. Decouple them to allow both to be defined separately from each other, and provide a common function that picks between the two when necessary.
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> Acked-by: Bruce Richardson <bruce.richard...@intel.com> --- Notes: v5 -> v6: - Rename functions to _vec and _non_vec, and keep common name as is v5: - Add this commit drivers/net/intel/ixgbe/ixgbe_rxtx.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.c b/drivers/net/intel/ixgbe/ixgbe_rxtx.c index 0777f70a4b..0b949c3cfc 100644 --- a/drivers/net/intel/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.c @@ -2967,16 +2967,10 @@ ixgbe_free_sc_cluster(struct rte_mbuf *m) } static void __rte_cold -ixgbe_rx_queue_release_mbufs(struct ixgbe_rx_queue *rxq) +ixgbe_rx_queue_release_mbufs_non_vec(struct ixgbe_rx_queue *rxq) { unsigned i; - /* SSE Vector driver has a different way of releasing mbufs. */ - if (rxq->vector_rx) { - ixgbe_rx_queue_release_mbufs_vec(rxq); - return; - } - if (rxq->sw_ring != NULL) { for (i = 0; i < rxq->nb_rx_desc; i++) { if (rxq->sw_ring[i].mbuf != NULL) { @@ -3003,6 +2997,15 @@ ixgbe_rx_queue_release_mbufs(struct ixgbe_rx_queue *rxq) } } +static void __rte_cold +ixgbe_rx_queue_release_mbufs(struct ixgbe_rx_queue *rxq) +{ + if (rxq->vector_rx) + ixgbe_rx_queue_release_mbufs_vec(rxq); + else + ixgbe_rx_queue_release_mbufs_non_vec(rxq); +} + static void __rte_cold ixgbe_rx_queue_release(struct ixgbe_rx_queue *rxq) { -- 2.47.1