Files
hakmem/docs/status/archive/PHASE_6.20_PLAN_2025_10_23.md
Moe Charm (CI) 52386401b3 Debug Counters Implementation - Clean History
Major Features:
- Debug counter infrastructure for Refill Stage tracking
- Free Pipeline counters (ss_local, ss_remote, tls_sll)
- Diagnostic counters for early return analysis
- Unified larson.sh benchmark runner with profiles
- Phase 6-3 regression analysis documentation

Bug Fixes:
- Fix SuperSlab disabled by default (HAKMEM_TINY_USE_SUPERSLAB)
- Fix profile variable naming consistency
- Add .gitignore patterns for large files

Performance:
- Phase 6-3: 4.79 M ops/s (has OOM risk)
- With SuperSlab: 3.13 M ops/s (+19% improvement)

This is a clean repository without large log files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 12:31:14 +09:00

1.1 KiB
Raw Blame History

Phase 6.20 Plan (2025-10-23)

目的: Large(64KB1MB) を「よりシンプルで速いホットパス」に寄せ、free/ミス時の残コストを更に削減。

方針(シンプル/綺麗/効く)

  • TC を配列リング化perthread, LIFO
    • free は TLS メタデータ(配列)への書込みのみ。ブロックへの next 書込みは “spill時” に限定
  • run 採用時の owner 更新
    • pagedesc.owner_tid を run 採用/バッチpop採用時に現在スレへ更新 → samethread free 命中率UP
  • remotefirst の起動条件の明確化
    • ring->top < trigger かつ remote_count>0 の時だけ trylock/batchpop。__builtin_prefetch を remote_head に
  • 中央は run 在庫専用(継続)
    • ブロック単位は扱わず、採用後は TLS 直詰め

ENV 追加

  • HAKMEM_L25_TC_CAP — TC リング容量(既定 64
  • HAKMEM_L25_RING_TRIGGER — remotefirst 起動のリング残トリガ(既定 2

計測

  • 10s/4T, timing OFF で RUN_FACTOR={3,4,5} × TC_SPILL={8,16,24,32} × TC_CAP={32,64,128}
  • 最良構成で headtohead 保存