Files
hakmem/docs/TINY_P0_BATCH_REFILL.md
Moe Charm (CI) a9ddb52ad4 ENV cleanup: Remove BG/HotMag vars & guard fprintf (Larson 52.3M ops/s)
Phase 1 完了:環境変数整理 + fprintf デバッグガード

ENV変数削除(BG/HotMag系):
- core/hakmem_tiny_init.inc: HotMag ENV 削除 (~131 lines)
- core/hakmem_tiny_bg_spill.c: BG spill ENV 削除
- core/tiny_refill.h: BG remote 固定値化
- core/hakmem_tiny_slow.inc: BG refs 削除

fprintf Debug Guards (#if !HAKMEM_BUILD_RELEASE):
- core/hakmem_shared_pool.c: Lock stats (~18 fprintf)
- core/page_arena.c: Init/Shutdown/Stats (~27 fprintf)
- core/hakmem.c: SIGSEGV init message

ドキュメント整理:
- 328 markdown files 削除(旧レポート・重複docs)

性能確認:
- Larson: 52.35M ops/s (前回52.8M、安定動作)
- ENV整理による機能影響なし
- Debug出力は一部残存(次phase で対応)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:45:26 +09:00

1.4 KiB
Raw Blame History

Tiny P0 Batch Refill — 運用ガイドデフォルトON

概要

  • TinyのSuperslab→TLS(SLL)補充をバッチ化して分岐・書き込み・メモリアクセスを削減し、スループットを向上します。
  • 本リポジトリではデフォルトONビルド時: HAKMEM_TINY_P0_BATCH_REFILL=1、実行時: 既定ON

利点

  • 1回のdrain / 1回のSLL splice / まとめたactive加算で負荷削減
  • 連続carveでキャッシュ効率が高い

既知の注意点(監査継続)

  • カウンタ不整合の警告([P0_COUNTER_MISMATCH])が残存する場合がありますが、致命的ではありません。監査継続中。

ランタイムA/Bスイッチ

  • 2025-12 cleanup: ランタイム環境変数トグルは削除。P0はビルド時 HAKMEM_TINY_P0_BATCH_REFILL が 1 のときだけ有効。
  • 直詰めP0→FC: C5のみ既定ON。C7/all 直詰めは無効化済み(固定挙動)。
  • Remote drain: しきい値64で常時drain無効化トグルは廃止
  • P0ログ: 無効化済み(元 HAKMEM_TINY_P0_LOG)。

ベンチ指標(例)

  • P0 OFF: ~2.73M ops/s100k×256B, 1T
  • P0 ON: ~2.76M ops/s同条件, 最速)

実装の主な場所

  • 本体: core/hakmem_tiny_refill_p0.inc.hsll_refill_batch_from_ss
  • ヘルパ: core/tiny_refill_opt.htrc_*
  • Remote drain: core/superslab/superslab_inline.h_ss_remote_drain_to_freelist_unsafe