Subject: Re: [PATCH net-next] net: bcmgenet: rewrite bcmgenet_rx_refill()

From: Florian Fainelli <[email-masked]>
Date: Fri, 13 Mar 2015 11:28:52 -0700

On 12/03/15 15:48, Petri Gynther wrote:
> Currently, bcmgenet_desc_rx() calls bcmgenet_rx_refill() at the end of
> Rx packet processing loop, after the current Rx packet has already been
> passed to napi_gro_receive(). However, bcmgenet_rx_refill() might fail
> to allocate a new Rx skb, thus leaving a hole on the Rx queue where no
> valid Rx buffer exists.
> 
> To eliminate this situation:
> 1. Rewrite bcmgenet_rx_refill() to retain the current Rx skb on the Rx
>    queue if a new replacement Rx skb can't be allocated and DMA-mapped.
>    In this case, the data on the current Rx skb is effectively dropped.
> 2. Modify bcmgenet_desc_rx() to call bcmgenet_rx_refill() at the top of
>    Rx packet processing loop, so that the new replacement Rx skb is
>    already in place before the current Rx skb is processed.

Reviewed-by: Florian Fainelli <[email-masked]>
Tested-by: Florian Fainelli <[email-masked]>

Thanks! Have not noticed any performance impact doing 64B/1500B testing.
-- 
Florian