[dpdk-dev] [PATCH] net/mlx4: fix rx not working after mbuf alloc failure

Ferruh Yigit ferruh.yigit at intel.com
Thu Apr 13 14:22:39 CEST 2017


On 4/13/2017 1:05 PM, Adrien Mazarguil wrote:
> 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 <Charles.Myers at spirent.com>
> 
> 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:

Hi Adrien, Charles,

I can't see this patch, any chance that it doesn't hit the mail list? Is
there a patchwork link for patch?

> 
>  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 at 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 at 6wind.com>
> 



More information about the dev mailing list