mirror of
https://github.com/matrix-construct/construct
synced 2024-12-25 23:14:13 +01:00
ircd::db: Move allocator log debug to separate define; use constexpr.
This commit is contained in:
parent
5e3ae3771d
commit
305c6e8075
2 changed files with 112 additions and 120 deletions
|
@ -26,6 +26,7 @@
|
||||||
#define RB_DEBUG_DB_PREFETCH 0
|
#define RB_DEBUG_DB_PREFETCH 0
|
||||||
#define RB_DEBUG_DB_CACHE 0
|
#define RB_DEBUG_DB_CACHE 0
|
||||||
#define RB_DEBUG_DB_CACHE_HIT 0
|
#define RB_DEBUG_DB_CACHE_HIT 0
|
||||||
|
#define RB_DEBUG_DB_ALLOCATOR 0
|
||||||
|
|
||||||
/// Set this #define to 1 or 2 to enable extensive log messages for the
|
/// Set this #define to 1 or 2 to enable extensive log messages for the
|
||||||
/// experimental db environment-port implementation. This is only useful
|
/// experimental db environment-port implementation. This is only useful
|
||||||
|
|
|
@ -142,21 +142,20 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
|
||||||
assert(zero);
|
assert(zero);
|
||||||
assert(commit);
|
assert(commit);
|
||||||
log::debug
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
{
|
log::debug
|
||||||
log, "cache arena:%u alloc addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
{
|
||||||
database::allocator::cache_arena,
|
log, "cache arena:%u alloc addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
||||||
new_addr,
|
database::allocator::cache_arena,
|
||||||
size,
|
new_addr,
|
||||||
alignment,
|
size,
|
||||||
*zero,
|
alignment,
|
||||||
*commit,
|
*zero,
|
||||||
arena_ind,
|
*commit,
|
||||||
};
|
arena_ind,
|
||||||
#endif
|
};
|
||||||
|
|
||||||
void *const ret
|
void *const ret
|
||||||
{
|
{
|
||||||
|
@ -189,17 +188,16 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u dalloc addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
log, "cache arena:%u dalloc addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
committed,
|
committed,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
const bool ret
|
const bool ret
|
||||||
{
|
{
|
||||||
|
@ -231,17 +229,17 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
|
||||||
log::debug
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
{
|
log::debug
|
||||||
log, "cache arena:%u destroy addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
{
|
||||||
database::allocator::cache_arena,
|
log, "cache arena:%u destroy addr:%p size:%zu align:%zu z:%b c:%b ind:%u",
|
||||||
ptr,
|
database::allocator::cache_arena,
|
||||||
size,
|
ptr,
|
||||||
committed,
|
size,
|
||||||
arena_ind,
|
committed,
|
||||||
};
|
arena_ind,
|
||||||
#endif
|
};
|
||||||
|
|
||||||
#if defined(HAVE_MLOCK2)
|
#if defined(HAVE_MLOCK2)
|
||||||
if(database::allocator::mlock_current)
|
if(database::allocator::mlock_current)
|
||||||
|
@ -269,18 +267,17 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u commit addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
log, "cache arena:%u commit addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
offset,
|
offset,
|
||||||
length,
|
length,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.commit(hooks, ptr, size, offset, length, arena_ind);
|
return their_hooks.commit(hooks, ptr, size, offset, length, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -299,18 +296,17 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u decommit addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
log, "cache arena:%u decommit addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
offset,
|
offset,
|
||||||
length,
|
length,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.decommit(hooks, ptr, size, offset, length, arena_ind);
|
return their_hooks.decommit(hooks, ptr, size, offset, length, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -329,18 +325,17 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u purge lazy addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
log, "cache arena:%u purge lazy addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
offset,
|
offset,
|
||||||
length,
|
length,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.purge_lazy(hooks, ptr, size, offset, length, arena_ind);
|
return their_hooks.purge_lazy(hooks, ptr, size, offset, length, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -359,18 +354,17 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u purge forced addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
log, "cache arena:%u purge forced addr:%p size:%zu offset:%zu length:%zu ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
offset,
|
offset,
|
||||||
length,
|
length,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.purge_forced(hooks, ptr, size, offset, length, arena_ind);
|
return their_hooks.purge_forced(hooks, ptr, size, offset, length, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -390,19 +384,18 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u split addr:%p size:%zu size_a:%zu size_b:%zu committed:%b ind:%u",
|
log, "cache arena:%u split addr:%p size:%zu size_a:%zu size_b:%zu committed:%b ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
ptr,
|
ptr,
|
||||||
size,
|
size,
|
||||||
size_a,
|
size_a,
|
||||||
size_b,
|
size_b,
|
||||||
committed,
|
committed,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.split(hooks, ptr, size, size_a, size_b, committed, arena_ind);
|
return their_hooks.split(hooks, ptr, size, size_a, size_b, committed, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -422,19 +415,18 @@ noexcept
|
||||||
assert(their_cache_arena_hooks);
|
assert(their_cache_arena_hooks);
|
||||||
const auto &their_hooks(*their_cache_arena_hooks);
|
const auto &their_hooks(*their_cache_arena_hooks);
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
log::debug
|
log::debug
|
||||||
{
|
{
|
||||||
log, "cache arena:%u merge a[addr:%p size:%zu] b[addr:%p size:%zu] committed:%b ind:%u",
|
log, "cache arena:%u merge a[addr:%p size:%zu] b[addr:%p size:%zu] committed:%b ind:%u",
|
||||||
database::allocator::cache_arena,
|
database::allocator::cache_arena,
|
||||||
addr_a,
|
addr_a,
|
||||||
size_a,
|
size_a,
|
||||||
addr_b,
|
addr_b,
|
||||||
size_b,
|
size_b,
|
||||||
committed,
|
committed,
|
||||||
arena_ind,
|
arena_ind,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
return their_hooks.merge(hooks, addr_a, size_a, addr_b, size_b, committed, arena_ind);
|
return their_hooks.merge(hooks, addr_a, size_a, addr_b, size_b, committed, arena_ind);
|
||||||
}
|
}
|
||||||
|
@ -521,18 +513,17 @@ noexcept
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef RB_DEBUG_DB_ENV
|
|
||||||
assert(d);
|
assert(d);
|
||||||
log::debug
|
if constexpr(RB_DEBUG_DB_ALLOCATOR)
|
||||||
{
|
log::debug
|
||||||
log, "[%s]'%s' allocate:%zu alignment:%zu %p",
|
{
|
||||||
db::name(*d),
|
log, "[%s]'%s' allocate:%zu alignment:%zu %p",
|
||||||
c? string_view(db::name(*c)): string_view{},
|
db::name(*d),
|
||||||
size,
|
c? string_view(db::name(*c)): string_view{},
|
||||||
alignment,
|
size,
|
||||||
ptr,
|
alignment,
|
||||||
};
|
ptr,
|
||||||
#endif
|
};
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue