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()

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

Reply via email to