diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-07-27 18:33:37 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-07-27 18:33:37 +0000 |
commit | bc9a7be9432c779a4e47c8a58a33b5cfbc23e58e (patch) | |
tree | c2d1c59dabb1325804725e1f8e3931c7b94082d8 /src/or/buffers.c | |
parent | 65cdda20b30c29b1b2d53c1025dcb5856dbc3288 (diff) | |
download | tor-bc9a7be9432c779a4e47c8a58a33b5cfbc23e58e.tar.gz tor-bc9a7be9432c779a4e47c8a58a33b5cfbc23e58e.zip |
r13939@catbus: nickm | 2007-07-27 14:33:22 -0400
When dumping memory usage, list bytes used in buffer memory free-lists.
svn:r10947
Diffstat (limited to 'src/or/buffers.c')
-rw-r--r-- | src/or/buffers.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/or/buffers.c b/src/or/buffers.c index 99271de7f9..1087a7a6fa 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -196,6 +196,25 @@ get_free_mem_list(size_t sz) } } +/** Write the sizes of the buffer freelists at log level <b>severity</b> */ +void +buf_dump_freelist_sizes(int severity) +{ + size_t sz; + log(severity, LD_MM, "======= Buffer freelists."); + for (sz = 4096; sz <= 16384; sz *= 2) { + uint64_t total_size; + free_mem_list_t *lst; + if (!IS_FREELIST_SIZE(sz)) + continue; + lst = get_free_mem_list(sz); + total_size = ((uint64_t)sz)*lst->len; + log(severity, LD_MM, + U64_FORMAT" bytes in %d %d-byte buffers. (low-water: %d)", + U64_PRINTF_ARG(total_size), lst->len, (int)sz, lst->lowwater); + } +} + /** Throw the memory from <b>buf</b> onto the appropriate freelist. * Return true if we added the memory, 0 if the freelist was full. */ static int |