[dpdk-dev] [PATCH] igb: fix i350 VF RX issue

Ananyev, Konstantin konstantin.ananyev at intel.com
Fri Apr 1 14:28:08 CEST 2016



> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Friday, April 01, 2016 3:09 AM
> To: dev at dpdk.org
> Cc: Ananyev, Konstantin
> Subject: [PATCH] igb: fix i350 VF RX issue
> 
> A problem is found on i350 VF. We found TX will happen once
> per 4 packets. If only 1~3 packets are received, they will
> not be forwarded. But the real problem is on RX side. The
> reason is the default RX write-back threshold is changed to
> 4, so every first 3 packets may be hung there.
> 
> This patch checks the RX wthresh when setting up the RX
> queue, and forces it to be 1, so every packet can be handled
> immediately.
> 
> Fixes: 4a41c17dba18 (igb: set default thresholds based on MAC type)
> ---
>  drivers/net/e1000/igb_rxtx.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
> index 529dba4..4a987e3 100644
> --- a/drivers/net/e1000/igb_rxtx.c
> +++ b/drivers/net/e1000/igb_rxtx.c
> @@ -1466,7 +1466,8 @@ eth_igb_rx_queue_setup(struct rte_eth_dev *dev,
>  	rxq->pthresh = rx_conf->rx_thresh.pthresh;
>  	rxq->hthresh = rx_conf->rx_thresh.hthresh;
>  	rxq->wthresh = rx_conf->rx_thresh.wthresh;
> -	if (rxq->wthresh > 0 && hw->mac.type == e1000_82576)
> +	if (rxq->wthresh > 0 &&
> +	    (hw->mac.type == e1000_82576 || hw->mac.type == e1000_vfadapt_i350))
>  		rxq->wthresh = 1;
>  	rxq->drop_en = rx_conf->rx_drop_en;
>  	rxq->rx_free_thresh = rx_conf->rx_free_thresh;
> --

 Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

> 1.9.3



More information about the dev mailing list