[v2] net/i40e: fix scattered Rx enabling

Message ID 20190410152623.27995-1-qi.z.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [v2] net/i40e: fix scattered Rx enabling |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Qi Zhang April 10, 2019, 3:26 p.m. UTC
  No need to add additional vlan tag size for max packet size, since
for i40e, the queue's Rx Max Frame Size (rxq->max_pkt_len) already
includes the vlan header size.

Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
Fixes: 4861cde46116 ("i40e: new poll mode driver")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---

v2:
- add missing fix in i40evf_rxq_init.
- fix checkpatch warning.

 drivers/net/i40e/i40e_ethdev_vf.c | 3 +--
 drivers/net/i40e/i40e_rxtx.c      | 5 ++---
 2 files changed, 3 insertions(+), 5 deletions(-)
  

Comments

Wenzhuo Lu April 12, 2019, 1:44 a.m. UTC | #1
Hi Qi,

> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Wednesday, April 10, 2019 11:26 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/i40e: fix scattered Rx enabling
> 
> No need to add additional vlan tag size for max packet size, since for i40e,
> the queue's Rx Max Frame Size (rxq->max_pkt_len) already includes the vlan
> header size.
> 
> Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Looks good to me. Except it seems that the fixes don't include the VF change.
  
Qi Zhang April 12, 2019, 2:12 a.m. UTC | #2
> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Friday, April 12, 2019 9:44 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: RE: [PATCH v2] net/i40e: fix scattered Rx enabling
> 
> Hi Qi,
> 
> > -----Original Message-----
> > From: Zhang, Qi Z
> > Sent: Wednesday, April 10, 2019 11:26 PM
> > To: Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>
> > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
> > Subject: [PATCH v2] net/i40e: fix scattered Rx enabling
> >
> > No need to add additional vlan tag size for max packet size, since for
> > i40e, the queue's Rx Max Frame Size (rxq->max_pkt_len) already
> > includes the vlan header size.
> >
> > Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
> > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> Looks good to me. Except it seems that the fixes don't include the VF change.

Added missing fixline
Fixes: c1715402df8f ("i40evf: fix jumbo frame support")

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index add7b2223..87c45f278 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1785,9 +1785,8 @@  i40evf_rxq_init(struct rte_eth_dev *dev, struct i40e_rx_queue *rxq)
 	}
 
 	if ((dev_data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) ||
-	    (rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
+	    rxq->max_pkt_len > buf_size)
 		dev_data->scattered_rx = 1;
-	}
 
 	return 0;
 }
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 8f727fae6..58ed8145d 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -1718,7 +1718,7 @@  i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
 		(uint16_t)(rte_pktmbuf_data_room_size(rxq->mp) -
 			   RTE_PKTMBUF_HEADROOM);
 	int use_scattered_rx =
-		((rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size);
+		(rxq->max_pkt_len > buf_size);
 
 	if (i40e_rx_queue_init(rxq) != I40E_SUCCESS) {
 		PMD_DRV_LOG(ERR,
@@ -2708,9 +2708,8 @@  i40e_rx_queue_init(struct i40e_rx_queue *rxq)
 		RTE_PKTMBUF_HEADROOM);
 
 	/* Check if scattered RX needs to be used. */
-	if ((rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
+	if (rxq->max_pkt_len > buf_size)
 		dev_data->scattered_rx = 1;
-	}
 
 	/* Init the RX tail regieter. */
 	I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);