DPDK uses second level memory allocation management, this makes regular memory profiler tool not applicant. This patch trys to provide a lightweight malloc and free logging, then show leaked memory entries based on logs.
This tool only target to malloc and free tracking, for memzone used by ring and mempool, "dump_memzone" in testpmd list them. There will be another example that enable and dump tracking as secondary process. This tool came from Mellanox internal Hackathon, thanks Shahaf Shuler <shah...@mellanox.com> who provided the idea. V0: initial version V1: log rte_realloc function rename log size to req_size, real_size to size(total) log padding and include padding in total size rename log "free" field to "type", alloc_free to "paired" rename malloc_log_index to malloc_log_count split testpmd part into separate patch add rte_malloc_log_stop() function add log entry number check change log dump detail level from (-1,0,1) to (0,1,2) Xueming Li (2): malloc: support malloc and free tracking log app/testpmd: support malloc and free tracking log app/test-pmd/cmdline.c | 60 ++++++- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 15 ++ lib/librte_eal/common/eal_memcfg.h | 26 +++ lib/librte_eal/common/malloc_elem.h | 6 +- lib/librte_eal/common/rte_malloc.c | 259 +++++++++++++++++++++++++++- lib/librte_eal/include/rte_malloc.h | 39 ++++- lib/librte_eal/rte_eal_version.map | 3 + 7 files changed, 399 insertions(+), 9 deletions(-) -- 1.8.3.1