Hello all, I created a set of patches for Valgrind that add support for the rte_*alloc family of functions. We use it for memcheck (I added support for other all the other Valgrind tools like cachegrind as well, but it's less tested), and find it extremely useful, since the vanilla version cannot intercept and report leaks cause by rte_*alloc functions from librte_malloc.
While at FOSDEM last week I mentioned this to Mark Gray and Kevin Traynor after their presentations (sorry it took a while to remember to push this up :-) ), and they thought it would be useful for other DPDK-based applications developers, so I've uploaded it to Github [1]. I've also sent the patches upstream a while ago [2]. It works with both with a statically and dynamically linked DPDK library. To use it with a statically linked DPDK, pass the following parameter to Valgrind: --soname-synonyms=somalloc=NONE To use it with a dynamically linked DPDK no additional parameter is needed, but make sure that the SONAME matches either "lib*dpdk.so*" if building a single .so or "librte_malloc.so*" if building each library individually. If it doesn't match either of these regexp, then you can manually patch the file include/pub_tool_redir.h and rebuild. Please feel free to provide comments, feedback, or patches! All bug reports will be promptly redirected to /dev/null :-) -- Kind regards, Luca Boccassi Brocade Communications Systems [1] https://github.com/bluca/valgrind-dpdk [2] https://bugs.kde.org/show_bug.cgi?id=350405