mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
r13939@catbus: nickm | 2007-07-27 14:33:22 -0400
When dumping memory usage, list bytes used in buffer memory free-lists. svn:r10947
This commit is contained in:
parent
65cdda20b3
commit
bc9a7be943
@ -12,6 +12,7 @@ Changes in version 0.2.0.3-alpha - 2007-??-??
|
||||
write-protects the authority identity key.
|
||||
- New ConstrainedSockets option to set SO_SNDBUF and SO_RCVBUF on TCP
|
||||
sockets. (Patch from coderman.)
|
||||
- When dumping memory usage, list bytes used in buffer memory free-lists.
|
||||
|
||||
o Minor features (directory authority):
|
||||
- Fail quickly and (relatively) harmlessly if we generate a network
|
||||
|
@ -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
|
||||
|
@ -1542,6 +1542,7 @@ dumpmemusage(int severity)
|
||||
U64_PRINTF_ARG(rephist_total_alloc), rephist_total_num);
|
||||
dump_routerlist_mem_usage(severity);
|
||||
dump_cell_pool_usage(severity);
|
||||
buf_dump_freelist_sizes(severity);
|
||||
}
|
||||
|
||||
/** Write all statistics to the log, with log level 'severity'. Called
|
||||
|
@ -2170,6 +2170,7 @@ void buf_free(buf_t *buf);
|
||||
void buf_clear(buf_t *buf);
|
||||
void buf_shrink(buf_t *buf);
|
||||
void buf_shrink_freelists(int free_all);
|
||||
void buf_dump_freelist_sizes(int severity);
|
||||
|
||||
size_t buf_datalen(const buf_t *buf);
|
||||
size_t buf_capacity(const buf_t *buf);
|
||||
|
Loading…
Reference in New Issue
Block a user