From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH] net/mlx4: fix rx not working after mbuf alloc failure Date: Thu, 13 Apr 2017 14:05:08 +0200 Message-ID: <20170413120508.GD3790@6wind.com> References: <1492069426-123358-1-git-send-email-Charles.Myers@spirent.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "nelio.laranjeiro@6wind.com" , "dev@dpdk.org" To: "Myers, Charles" Return-path: Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) by dpdk.org (Postfix) with ESMTP id C6A3C316B for ; Thu, 13 Apr 2017 14:05:16 +0200 (CEST) Received: by mail-wr0-f170.google.com with SMTP id c55so34338982wrc.3 for ; Thu, 13 Apr 2017 05:05:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Charles, On Thu, Apr 13, 2017 at 07:52:34AM +0000, Myers, Charles wrote: > I ran into an issue where the 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 the > (wc.status != IBV_WC_SUCCESS) case. > > Copying the code from the above case before jumping to repost fixes the issue for me. > > Signed-off-by: Charles Myers Thanks, this addresses a very old bug present since v2.1.0. As a fix, the subject line should contain the word "fix", something like: net/mlx4: fix Rx after mbuf allocation failure And since it's a fix: Fixes: acac55f16412 ("mlx4: use MOFED 3.0 fast verbs interface for Rx operations") Cc: stable@dpdk.org Please also make sure the commit log is formatted according to the submission guidelines (50 chars max for subject line, 75 chars for the rest (except for the Fixes line), yada yada - see check-git-log.sh). > --- > drivers/net/mlx4/mlx4.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index aff9155..59d26fe 100644 > --- a/drivers/net/mlx4/mlx4.c > +++ b/drivers/net/mlx4/mlx4.c > @@ -3169,6 +3169,9 @@ struct txq_mp2mr_mbuf_check_data { > /* Increase out of memory counters. */ > ++rxq->stats.rx_nombuf; > ++rxq->priv->dev->data->rx_mbuf_alloc_failed; > + Another nit here, the above blank line is unnecessary. > + /* Add SGE to array for repost. */ > + sges[i] = elt->sge; > goto repost; > } > > -- > 1.7.9.5 > Otherwise, Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND