[dpdk-dev] Performance of rte_ring APIs
Gopakumar Choorakkot Edakkunni
gopakumar.c.e at gmail.com
Fri Aug 7 19:07:07 CEST 2015
Hi All,
I have an extremely simple test - I have just one single DPDK EAL
thread which pulls packets from one 10G port and just puts the packet
exactly as is (no changes) on another 10G port - I get 9.5million pps,
so far so good. So its like this
dpdk_rx
dpdk_tx
9.5 Millionpps
Now I do the below and the performance comes down to like 4 Million
pps, less than half !
dpdk_rx
rte_ring_mc_dequeue_bulk(my_ring1, my_array, nb_rx)
dpdk_tx
rte_ring_mp_enqueue_bulk(my_ring1, my_array, nb_rx)
Note that I do nothing with the things I dequeue from the ring, I just
enqueue it back. So is there any gotchas in using these rings ? I am
sure I am missing something, it cant drop from 9.5Mpps to 4Mpps just
because of a dequeue/enqueue ?
Rgds,
Gopa.
More information about the dev
mailing list