Skip to content

Commit

Permalink
mem_pool: add GIT_TRACE_MEMPOOL support
Browse files Browse the repository at this point in the history
Add tracing around initializing and discarding mempools. In discard report
on the amount of memory unused in the current block to help tune setting
the initial_size.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
  • Loading branch information
benpeart authored and dscho committed Sep 22, 2022
1 parent 2096c0e commit 511e2cd
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions mem-pool.c
Expand Up @@ -5,6 +5,7 @@
#include "cache.h"
#include "mem-pool.h"

static struct trace_key trace_mem_pool = TRACE_KEY_INIT(MEMPOOL);
#define BLOCK_GROWTH_SIZE (1024 * 1024 - sizeof(struct mp_block))

/*
Expand Down Expand Up @@ -62,12 +63,20 @@ void mem_pool_init(struct mem_pool *pool, size_t initial_size)

if (initial_size > 0)
mem_pool_alloc_block(pool, initial_size, NULL);

trace_printf_key(&trace_mem_pool,
"mem_pool (%p): init (%"PRIuMAX") initial size\n",
(void *)pool, (uintmax_t)initial_size);
}

void mem_pool_discard(struct mem_pool *pool, int invalidate_memory)
{
struct mp_block *block, *block_to_free;

trace_printf_key(&trace_mem_pool,
"mem_pool (%p): discard (%"PRIuMAX") unused\n",
(void *)pool,
(uintmax_t)(pool->mp_block->end - pool->mp_block->next_free));
block = pool->mp_block;
while (block)
{
Expand Down

0 comments on commit 511e2cd

Please sign in to comment.