Files
hakmem/STABILITY_POLICY.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

33 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Stability Policy (SegfaultFree Invariant)
本リポジトリの本線は「セグフォしないSegfaultFree」を絶対条件とします。すべての変更は以下のチェックを通った場合のみ採用します。
## 1) Guard ランFailFast
- 実行: `./scripts/larson.sh guard 2 4`
- 条件: `remote_invalid` / `REMOTE_SENTINEL_TRAP` / `TINY_RING_EVENT_*` の一発ログが出ないこと
- 境界: drain→bind→owner_acquire は「採用境界」1箇所のみ。publish側で drain/owner を触らない
## 2) Sanitizer ラン
- ASan: `./scripts/larson.sh asan 2 4`
- UBSan: `./scripts/larson.sh ubsan 2 4`
- TSan: `./scripts/larson.sh tsan 2 4`
## 3) 本線の定義(デフォルトライン)
- Box Refactor: `HAKMEM_TINY_PHASE6_BOX_REFACTOR=1`(ビルド既定)
- SuperSlab 経路: 既定ON`g_use_superslab=1`。ENVで明示的に 0 を指定した場合のみOFF
- 互換切替: 旧経路/A/B は ENV/Make で明示(本線は変えない)
## 4) 変更の入れ方(箱理論)
- 新経路は必ず「箱」で追加し、ENV で切替可能にする
- 変換点drain/bind/ownerは 1 箇所集約(採用境界)
- 可視化はワンショットログ/リング/カウンタに限定
- FailFast: 整合性違反は即露出。隠さない
## 5) 既知の安全フック
- Registry 小窓: `HAKMEM_TINY_REG_SCAN_MAX`(探索窓を制限)
- Mid簡素化 refill: `HAKMEM_TINY_MID_REFILL_SIMPLE=1`class>=4 で多段探索スキップ)
- adopt OFF プロファイル: `scripts/profiles/tinyhot_tput_noadopt.env`
運用では上記 1)→2)→3) の順でチェックを通した後に性能検証を行ってください。