> -----Original Message----- > From: Xing, Beilei > Sent: Thursday, April 20, 2017 4:52 PM > To: Wu, Jingjing <jingjing...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> > Cc: dev@dpdk.org > Subject: [PATCH v2] net/i40e: fix testpmd setup error when bulk is disabled > > Testpmd failed to start when > CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC > is disabled, the root cause is the length of sw_ring and queue are incorrect > with the above configuration. > > Fixes: 0be295312966 ("net/i40e: fix compile error") > > Signed-off-by: Beilei Xing <beilei.x...@intel.com> > --- > v2 change: > Correct the length of queue when BULK is disabled. > > drivers/net/i40e/i40e_rxtx.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index > e5471b1..9f697d7 100644 > --- a/drivers/net/i40e/i40e_rxtx.c > +++ b/drivers/net/i40e/i40e_rxtx.c > @@ -1791,13 +1791,11 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev > *dev, > /* Allocate the maximun number of RX ring hardware descriptor. */ > len = I40E_MAX_RING_DESC; > > -#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC > /** > * Allocating a little more memory because vectorized/bulk_alloc Rx > * functions doesn't check boundaries each time. > */ > len += RTE_PMD_I40E_RX_MAX_BURST; > -#endif > > ring_size = RTE_ALIGN(len * sizeof(union i40e_rx_desc), > I40E_DMA_MEM_ALIGN); > @@ -1816,11 +1814,7 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev > *dev, > rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, > rz->phys_addr); > rxq->rx_ring = (union i40e_rx_desc *)rz->addr; > > -#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC > len = (uint16_t)(nb_desc + RTE_PMD_I40E_RX_MAX_BURST); -#else > - len = nb_desc; > -#endif > > /* Allocate the software ring. */ > rxq->sw_ring = > -- > 2.5.5
Acked-by: Qi Zhang <qi.z.zh...@intel.com>