[dpdk-dev] ixgbe: Add missing rx_mbuf_alloc_failed statistics for vector PMD
Commit Message
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@intel.com>
---
lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 2 ++
1 file changed, 2 insertions(+)
Comments
On Fri, Nov 28, 2014 at 09:21:45AM +0000, Balazs Nemeth wrote:
> 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@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@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
>
> > 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@intel.com>
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied
Thanks
@@ -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;
}