DPDK usage discussions
 help / color / mirror / Atom feed
* rte_pktmbuf_free_bulk vs rte_pktmbuf_free
@ 2022-01-11 12:12 Filip Janiszewski
  2022-01-11 18:02 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Filip Janiszewski @ 2022-01-11 12:12 UTC (permalink / raw)
  To: users

Hi,

Is there any specific reason why using rte_pktmbuf_free_bulk seems to be
much slower than rte_pktmbuf_free in a loop? (DPDK 21.11)

I ran a bunch of tests on a 50GbE link where I'm getting packet drops
(running with too few RX cores on purpose, to make some performance
verification) and when the time comes to release the packets, i did a
quick change like this:

.
            //rte_pktmbuf_free_bulk( data, pkt_cnt );
            for( idx = 0 ; idx < pkt_cnt ; ++idx ) {
                rte_pktmbuf_free( data[ idx ] );
            }
.

And suddenly I'm dropping around 10% less packets (The traffic rate is
around ~95Mpps). In case that's relevant, RX from the nic is done on a
separate core than where the pkts are released (processed and released)

I did also the following experiment: Found the MPPs speed value where i
get around 2-5% drops using rte_pktmbuf_free_bulk, executed a bunch of
readings where I consistently get drops.. Then switched to the loop with
rte_pktmbuf_free and executed the same tests again, of a sudden I can't
drop anymore.

Isn't this strange? I was sure rte_pktmbuf_free_bulk would be kind of
optimized for bulk releases so people don't have to loop themselves.

Thanks

-- 
BR, Filip
+48 666 369 823

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-12  6:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-11 12:12 rte_pktmbuf_free_bulk vs rte_pktmbuf_free Filip Janiszewski
2022-01-11 18:02 ` Stephen Hemminger
2022-01-12  6:32   ` Filip Janiszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).