[dpdk-users] rte_pktmbuf_pool_create() performance
amit sehas
cun23 at yahoo.com
Thu Apr 23 02:28:08 CEST 2020
I switched from utilizing dpdk 16.11.1 to dpdk 18.11.6, in the process I started utilizing --single-file-segments,previously I was utilizing a patch for the same functionality on dpdk-16.11.1. And while linking I somehowneed to link in -lnuma now which I previously did not need to. I don't know what dependencies have beenintroduced by dpdk-18.11.6 but I can no longer build my executables without linking in numa.
That is the only notable change I made. And nothing else has changed, huge pages, tlbs etc are all the same.
yet the performance of rte_pktmbuf_pool_create() has completely tanked, it has become much much slower.I am quite new to dpdk and am not sure what is going on … so I went in with a debugger and this is whati find:
this function call is taking up all the time: rte_mempool_populate_default()
which in turn invokes the following which is taking all the time: rte_memzone_reserve_aligned()
which in turn invokes the following which is taking all the time:memzone_reserve_aligned_thread_unsafe()
which in turn invokes the following which is taking all the time: malloc_heap_alloc()
which in turn invokes the following which is taking all the time: malloc_get_numa_socket()
It could also be that this is the function that is the most time consuming:malloc_heap_alloc_on_heap_id()
My guess is that somehow numa has started interfering with the performance, but i am not quite sure what to do to fix it...
any help is greatly appreciated, i suspect someone familiar with the above should quickly identify the issue and its remedy...
regards
More information about the users
mailing list