aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-03-13 15:17:38 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2018-03-13 21:16:37 +0700
commitfbf0eac21b0acdbc35eb978b1edf77c2075c546e (patch)
tree1233e94f2dbffcd76a04960d27aaeba4e406a834
parent5b8889ce6b4661a14e79c6103fdd0eaf57a872b0 (diff)
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
-rw-r--r--src/common/main.c3
1 files changed, 3 insertions, 0 deletions
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;