From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id E5C112C72 for ; Fri, 21 Apr 2017 08:23:08 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2017 23:23:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,229,1488873600"; d="scan'208";a="77100541" Received: from yliu-dev.sh.intel.com ([10.239.67.162]) by orsmga002.jf.intel.com with ESMTP; 20 Apr 2017 23:23:07 -0700 From: Yuanhan Liu To: Charles Myers Cc: Yuanhan Liu , Adrien Mazarguil , dpdk stable Date: Fri, 21 Apr 2017 14:19:35 +0800 Message-Id: <1492755587-28967-10-git-send-email-yuanhan.liu@linux.intel.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1492755587-28967-1-git-send-email-yuanhan.liu@linux.intel.com> References: <1492755587-28967-1-git-send-email-yuanhan.liu@linux.intel.com> Subject: [dpdk-stable] patch 'net/mlx4: fix Rx after mbuf alloc failure' has been queued to LTS release 16.11.2 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Apr 2017 06:23:09 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 04/26/17. So please shout if anyone has objections. Thanks. --yliu --- >>From dbe0a318476b3d12e6a24abd2d3c9879a2ad4fd3 Mon Sep 17 00:00:00 2001 From: Charles Myers Date: Thu, 13 Apr 2017 12:15:24 -1000 Subject: [PATCH] net/mlx4: fix Rx after mbuf alloc failure [ upstream commit 1193edaa828725bead4d54fa7c1214f105d203c4 ] Fixes issue where mlx4 driver stops receiving packets when mbuf allocation fails in mlx4_rx_burst(). This issue appears to be caused because the code doesn't recycle the existing mbuf to the sges array when mbuf allocation fails as is done in the code right above it which handles (wc.status != IBV_WC_SUCCESS). Copying the code from the above case fixes the issue. Fixes: acac55f16412 ("mlx4: use MOFED 3.0 fast verbs interface for Rx operations") Signed-off-by: Charles Myers Acked-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 695efe3..83f9143 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -3340,6 +3340,8 @@ mlx4_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) /* Increase out of memory counters. */ ++rxq->stats.rx_nombuf; ++rxq->priv->dev->data->rx_mbuf_alloc_failed; + /* Add SGE to array for repost. */ + sges[i] = elt->sge; goto repost; } -- 1.9.0