Harald Welte has submitted this change and it was merged.

Change subject: common/main.c: track talloc NULL contexts by default
......................................................................


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
---
M src/common/main.c
1 file changed, 3 insertions(+), 0 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/main.c b/src/common/main.c
index df3c046..d5dc4ea 100644
--- a/src/common/main.c
+++ b/src/common/main.c
@@ -233,6 +233,9 @@
 
        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;

-- 
To view, visit https://gerrit.osmocom.org/7265
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5e9381902dace7dfd37f98b657e4697b5afcff96
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <axilira...@gmail.com>
Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofm...@sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilira...@gmail.com>

Reply via email to