[dpdk-dev] What's the performance significance of ixgbe_recv_pkts_bulk_alloc

Jayakumar, Muthurajan muthurajan.jayakumar at intel.com
Mon Feb 24 00:57:46 CET 2014


If some one is interested in more of improving throughput, they will want to enable bulk_allocation.
If someone wants to have lesser latency, then they may want to go for non bulk version.

With 10 Gb, it is more critical to use bulk for achieving the desired throughput.



-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Daniel Kan
Sent: Sunday, February 23, 2014 3:43 PM
To: dev at dpdk.org
Subject: [dpdk-dev] What's the performance significance of ixgbe_recv_pkts_bulk_alloc

Hi,
While browsing through the ixgbe pmd code, I noticed that there is ixgbe_recv_pkts_bulk_alloc, which can be enabled if the following preconditions are met. 

     *   rxq->rx_free_thresh >= RTE_PMD_IXGBE_RX_MAX_BURST
     *   rxq->rx_free_thresh < rxq->nb_rx_desc
     *   (rxq->nb_rx_desc % rxq->rx_free_thresh) == 0
     *   rxq->nb_rx_desc<(IXGBE_MAX_RING_DESC-RTE_PMD_IXGBE_RX_MAX_BURST)

I presume the difference from the normal (non bulk) version has to do with buffer allocation. Can someone please explain the inner working of bulk_alloc and why one may or may not want to enable bulk_alloc mode? 

I only see bulk_alloc is available for ixgbe driver and not igb and e1000. Why is that?

Thanks.

Dan


More information about the dev mailing list