[dpdk-dev] ixgbe vPMD RX functions and buffer number minimum requirement

Zoltan Kiss zoltan.kiss at linaro.org
Fri Jul 24 16:59:58 CEST 2015


Hi,

I was thinking how to handle the situation when you call 
rte_eth_rx_burst with less than RTE_IXGBE_VPMD_RX_BURST buffers. In 
ODP-DPDK unfortunately we can't force this requirement onto the calling 
application.
One idea I had to check in ixgbe_recv_pkts_vec() if nb_pkts < 
RTE_IXGBE_VPMD_RX_BURST, and call ixgbe_recv_pkts_bulk_alloc in that 
case. Accordingly, in ixgbe_recv_scattered_pkts_vec() we could call 
ixgbe_recv_scattered_pkts() in this case. A branch predictor can easily 
eliminate the performance penalty of this, and applications can use 
whatever burst size feasible for them.
The obvious problem could be whether you can mix the receive functions 
this way. I have a feeling it wouldn't fly, but I wanted to ask first 
before spending time investigate this option further.

Regards,

Zoltan


More information about the dev mailing list