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 24, 2024
1 parent 57d95da commit 203101d
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions mem-pool.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
#include "git-compat-util.h"
#include "mem-pool.h"
#include "gettext.h"
#include "trace.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 @@ -63,12 +65,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 203101d

Please sign in to comment.