[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