Box TLS-SLL: fix splice head normalization and remove false misalignment guard; add header-aware linear link instrumentation; log splice details in debug.\n\n- Normalize head before publishing to TLS SLL (avoid user-ptr head)\n- Remove size-mod alignment guard (stride!=size); keep small-ptr fail-fast only\n- Drop heuristic base normalization to avoid corrupting base\n- Add [LINEAR_LINK]/[SPLICE_LINK]/[SPLICE_SET_HEAD] debug logs (debug-only)\n- Verified debug build on bench_fixed_size_hakmem with visible carve/splice traces

This commit is contained in:
Moe Charm (CI)
2025-11-11 00:02:24 +09:00
parent 518bf29754
commit 8aabee4392
15 changed files with 860 additions and 31 deletions

View File

@ -376,12 +376,12 @@ static __thread void* g_fast_head[TINY_NUM_CLASSES];
static __thread uint16_t g_fast_count[TINY_NUM_CLASSES];
static inline void tls_list_spill_excess(int class_idx, TinyTLSList* tls);
static uint64_t g_tls_hit_count[TINY_NUM_CLASSES];
static uint64_t g_tls_miss_count[TINY_NUM_CLASSES];
static uint64_t g_tls_spill_ss_count[TINY_NUM_CLASSES];
static uint64_t g_tls_spill_owner_count[TINY_NUM_CLASSES];
static uint64_t g_tls_spill_mag_count[TINY_NUM_CLASSES];
static uint64_t g_tls_spill_requeue_count[TINY_NUM_CLASSES];
uint64_t g_tls_hit_count[TINY_NUM_CLASSES];
uint64_t g_tls_miss_count[TINY_NUM_CLASSES];
uint64_t g_tls_spill_ss_count[TINY_NUM_CLASSES];
uint64_t g_tls_spill_owner_count[TINY_NUM_CLASSES];
uint64_t g_tls_spill_mag_count[TINY_NUM_CLASSES];
uint64_t g_tls_spill_requeue_count[TINY_NUM_CLASSES];
// Legacy magazine definitions have been moved to hakmem_tiny_magazine.h
// NEW: Per-thread active slabs (up to 2 per class)