From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allain Legacy Subject: [PATCH] net/i40e: mbuf alloc failed counter not incremented Date: Mon, 27 Mar 2017 12:30:35 -0400 Message-ID: <20170327163035.76744-1-allain.legacy@windriver.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , To: , Return-path: Received: from mail1.windriver.com (mail1.windriver.com [147.11.146.13]) by dpdk.org (Postfix) with ESMTP id 00E2C11C5 for ; Mon, 27 Mar 2017 18:30:44 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Matt Peters When an mbuf alloc fails during the mempool get operation for the i40e bulk alloc receive function, the rx_mbuf_alloc_failed counter is not incremented to record the error. This fix ensures consistency with the other i40e receive procedures and other net drivers. Signed-off-by: Matt Peters Signed-off-by: Allain Legacy --- drivers/net/i40e/i40e_rxtx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index ec64a20eb..794d8717e 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -610,6 +610,7 @@ static inline uint16_t rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) { struct i40e_rx_queue *rxq = (struct i40e_rx_queue *)rx_queue; + struct rte_eth_dev *dev; uint16_t nb_rx = 0; if (!nb_pkts) @@ -630,6 +631,10 @@ rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) PMD_RX_LOG(DEBUG, "Rx mbuf alloc failed for " "port_id=%u, queue_id=%u", rxq->port_id, rxq->queue_id); + + dev = &rte_eth_devices[rxq->port_id]; + dev->data->rx_mbuf_alloc_failed += rxq->rx_free_thresh; + rxq->rx_nb_avail = 0; rxq->rx_tail = (uint16_t)(rxq->rx_tail - nb_rx); for (i = 0, j = rxq->rx_tail; i < nb_rx; i++, j++) -- 2.12.1