[dpdk-dev] [PATCH v1] ixgbe: remove vector pmd burst size restriction

Liang, Cunming cunming.liang at intel.com
Mon Aug 3 11:59:52 CEST 2015


Hi,

[...]
> > Another thing, that I just thought about:
> > Right now we invoke ixgbe_rxq_rearm() only at the start of
> > _recv_raw_pkts_vec().
> > Before it was ok, as _recv_raw_pkts_vec() would never try to read more then
> 32
> > RXDs.
> > But what would happen if nb_pkts > rxq->nb_desc and rxq->rxrearm_nb == 0?
> > I suppose,  _recv_raw_pkts_vec() can wrpa around RXD ring and 'receive'
> same
> > packet twice?
> > So we probably better still limit nb_pkts <= 32 at _recv_raw_pkts_vec().
> 
> The _recv_raw_pkts_vec() won't wrap around RXD ring. When it reaches the last
> one, the DD bit of padding desc. always 0.
> So in the case nb_pkts > rxq->nb_desc, the '_recv_raw_pkts_vec()' can only get
> no more than 'rxq->nb_desc' packets.
> 
I think the violation is true when rx_id in some middle position of desc_ring, and nb_pkts > rxq->nb_desc.
The DD checking may exceed the boundary (access the entry whose DD is set and waiting for rearm).
So I agree to keep the max burst size as 32.

/Steve


More information about the dev mailing list