Document core Tiny/SuperSlab env toggles and defaults

This commit is contained in:
Moe Charm (CI)
2025-11-30 11:17:21 +09:00
parent 0276420938
commit 5545e1633a

View File

@ -59,6 +59,29 @@ Essential on/off switches for major features.
---
## Category 1.5: Tiny/SuperSlab Core TogglesPhase 9-2 以降)
Tiny allocator / SuperSlab 周りの「箱」と直結するトグルを整理し、
どれをデフォルト ON にし、どれを非常用スイッチとして残すかを明示する。
| Variable | Default | Purpose | Recommendation |
|----------|---------|---------|----------------|
| `HAKMEM_TINY_USE_SUPERSLAB` | 1 | Tiny が SuperSlab バックエンドを使うか | **KEEP**(デフォルト ON、0 は互換モード) |
| `HAKMEM_TINY_SS_SHARED` | 2 | Superslab backend モード2=shared only,1=shared+legacy,0=legacy | **KEEP**(デフォルト 2、1/0 は回帰調査用) |
| `HAKMEM_TINY_TLS_SLL` | 1 | TLS SLL の有効/無効 | **KEEP**(デフォルト ON、LD_PRELOAD 時のみ 0 に落とす) |
| `HAKMEM_SS_EMPTY_REUSE` | 1 | EMPTY Slab の優先再利用Stage 0.5 | **KEEP**(デフォルト ON、0 はトラブル時の緊急 OFF |
| `HAKMEM_SS_EMPTY_SCAN_LIMIT` | 16→(検討:32/64) | EMPTY Slab のスキャン上限per class | **KEEP**(デフォルトは今後 32/64 に引き上げ候補) |
| `HAKMEM_TINY_SLL_DRAIN_ENABLE` | 1 | TLS SLL → slab freelist への周期Drainの ON/OFF | **KEEP**core 経路、デフォルト ON |
| `HAKMEM_TINY_SLL_DRAIN_INTERVAL` | 2048 | Drain を発火させる free 回数 | **KEEP**(性能チューニング用) |
| `HAKMEM_TINY_TENSION_DRAIN_ENABLE` | 1 | shared_pool Stage2→0.5 再試行のための Tension Drain ON/OFF | **KEEP**(デフォルト ON、問題時の OFF スイッチ) |
| `HAKMEM_TINY_TENSION_DRAIN_THRESHOLD` | 1024 | Tension Drain を発火する TLS SLL の閾値 | **KEEP**(性能チューニング用) |
コメント:
- これらは **状態箱Shared Pool/TLS SLL/SuperSlabそのものの動作に直結**するため、今後も残す前提。
- ただし `HAKMEM_TINY_SS_SHARED` は最終的に「2 固定」を標準とし、1/0 は **「非推奨だが互換/回帰調査用に残す」** ラベルを docs に付ける。
---
## Category 2: Learning/Adaptive Systems (25 variables)
UCB1, ELO, INT, ACE, and capacity adjustment systems.
@ -276,11 +299,11 @@ HAKMEM_TRACE=refill,free,wrap,superslab,mailbox,ring # Comma-separated
Superslab allocation, prewarming, caching, and backend control.
### 5.1 Superslab Core (10 vars)
### 5.1 Superslab Core (10 vars) ※Phase 9-2 更新
| Variable | Default | Purpose | Location | Recommendation |
|----------|---------|---------|----------|----------------|
| `HAKMEM_TINY_USE_SUPERSLAB` | 1 | Use SuperSlab backend | box/hak_core_init.inc.h | **KEEP** - Core |
| `HAKMEM_TINY_SS_SHARED` | 0 | Shared SuperSlab pool | box/ss_unified_backend_box.c | **KEEP** |
| `HAKMEM_TINY_USE_SUPERSLAB` | 1 | Use SuperSlab backend | box/hak_core_init.inc.h | **KEEP** - Core(デフォルト ON |
| `HAKMEM_TINY_SS_SHARED` | 2 | Shared SuperSlab pool mode (2=shared only,1=shared+legacy,0=legacy) | superslab_backend.c | **KEEP** - Core2 を標準、1/0 は「非推奨/回帰調査用」) |
| `HAKMEM_TINY_SS_CACHE` | 1 | Enable SS caching | box/ss_allocation_box.c | **KEEP** |
| `HAKMEM_TINY_SS_MAX_MB` | 256 | Max SS memory (MB) | box/ss_allocation_box.c | **KEEP** |
| `HAKMEM_TINY_SS_MIN_MB` | 16 | Min SS memory (MB) | box/ss_allocation_box.c | **KEEP** |