The statistics that is reported through the rx_nombuf fields in struct rte_eth_stats was not set when the vector PMD was used. The statistics should report the number of mbufs that could _not_ be allocated during rearm of the RX queue. The non-vector PMD reports it correctly. The use of either vector PMD or non-vector PMD depends on runtime configuration. Hence it is possible that a change in configuration would disable this statistics. To prevent this from happening, the statistics should be reported by both implementations.
Signed-off-by: Balazs Nemeth <balazs.nemeth at intel.com> --- lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c index 42c0f60..579bc46 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c @@ -71,6 +71,8 @@ ixgbe_rxq_rearm(struct igb_rx_queue *rxq) dma_addr0); } } + rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed += + RTE_IXGBE_RXQ_REARM_THRESH; return; } -- 2.1.2