From fbf0eac21b0acdbc35eb978b1edf77c2075c546e Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 13 Mar 2018 15:17:38 +0700 Subject: common/main.c: track talloc NULL contexts by default In order to be able to introspect not only the root application context, but also all other contexts, e.g. allocated within libosmocore or other libraries, let's enable tracking the use of NULL contexts using the corresponding talloc API. In order to obserbe all existing contexts, use the following VTY command: OsmoBTS# show talloc-context all ... Example of usage: OsmoBTS# show talloc-context all brief talloc report on 'null_context' (total 1302808 bytes in 5185 blocks) lapd context contains 129 bytes in 5 blocks struct signal_handler contains 40 bytes in 1 blocks struct pcu_sock_state contains 120 bytes in 1 blocks struct lookup_helper contains 24 bytes in 1 blocks struct signal_handler contains 40 bytes in 1 blocks struct signal_handler contains 40 bytes in 1 blocks abis contains 49065 bytes in 19 blocks struct signal_handler contains 40 bytes in 1 blocks struct signal_handler contains 40 bytes in 1 blocks struct signal_handler contains 40 bytes in 1 blocks vty contains 93690 bytes in 5008 blocks logging contains 2862 bytes in 7 blocks OsmoBTS context contains 1156678 bytes in 137 blocks Change-Id: I5e9381902dace7dfd37f98b657e4697b5afcff96 --- src/common/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/common/main.c b/src/common/main.c index df3c0464..d5dc4ea0 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -233,6 +233,9 @@ int bts_main(int argc, char **argv) printf("((*))\n |\n / \\ OsmoBTS\n"); + /* Track the use of talloc NULL memory contexts */ + talloc_enable_null_tracking(); + tall_bts_ctx = talloc_named_const(NULL, 1, "OsmoBTS context"); msgb_talloc_ctx_init(tall_bts_ctx, 100*1024); bts_vty_info.tall_ctx = tall_bts_ctx; -- cgit v1.2.3