[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