Files
hakmem/core
Moe Charm (CI) df37baa505 Phase 1A3: tiny_region_id_write_header always_inline research box (NO-GO)
Add HAKMEM_TINY_HEADER_WRITE_ALWAYS_INLINE build flag (default 0) to enable
always_inline on tiny_region_id_write_header().

A/B Results (HAKMEM_TINY_HEADER_WRITE_ALWAYS_INLINE=0 vs 1):
- Mixed (10-run): 49.53M → 47.55M ops/s (-4.00% regression)
- C6-heavy (5-run): 23.49M → 24.93M ops/s (+6.00% improvement)

Decision: NO-GO - Mixed regression (-4%) exceeds threshold (-1%)
Status: Frozen as research box (default OFF)

Root Cause: I-cache pressure from forced inline expansion
- Mixed workload: higher code diversity → I-cache evictions
- C6-heavy workload: focused pattern → benefits from inlining

Patches:
1. core/hakmem_build_flags.h: Add HAKMEM_TINY_HEADER_WRITE_ALWAYS_INLINE (default 0)
2. core/tiny_region_id.h: Add conditional __attribute__((always_inline)) gate

Build: make -j EXTRA_CFLAGS=-DHAKMEM_TINY_HEADER_WRITE_ALWAYS_INLINE=1 [target]

Recommendation: Keep compiler's natural inline heuristic (already optimal for Mixed)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-13 15:31:08 +09:00
..