Message ID | 1587110623-405-1-git-send-email-xuemingl@mellanox.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 21455A058A; Fri, 17 Apr 2020 10:03:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 061491DE40; Fri, 17 Apr 2020 10:03:56 +0200 (CEST) Received: from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130]) by dpdk.org (Postfix) with ESMTP id 0EEC21DAA6 for <dev@dpdk.org>; Fri, 17 Apr 2020 10:03:55 +0200 (CEST) From: Xueming Li <xuemingl@mellanox.com> To: Anatoly Burakov <anatoly.burakov@intel.com>, Ferruh Yigit <ferruh.yigit@intel.com>, Stephen Hemminger <stephen@networkplumber.org> Cc: dev@dpdk.org, Asaf Penso <asafp@mellanox.com> Date: Fri, 17 Apr 2020 08:03:41 +0000 Message-Id: <1587110623-405-1-git-send-email-xuemingl@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1586318694-31358-1-git-send-email-xuemingl@mellanox.com> References: <1586318694-31358-1-git-send-email-xuemingl@mellanox.com> Subject: [dpdk-dev] [RFC v2 0/2] malloc: support malloc and free tracking log X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
malloc: support malloc and free tracking log
|
|
Message
Xueming Li
April 17, 2020, 8:03 a.m. UTC
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 <shahafs@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) V2: fix map file indent change type of counter variables to unsigned fix CI error 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 | 261 +++++++++++++++++++++++++++- lib/librte_eal/include/rte_malloc.h | 39 ++++- lib/librte_eal/rte_eal_version.map | 3 + 7 files changed, 401 insertions(+), 9 deletions(-)