From 5545e1633a62f3568e878938f0d06e684b13e11a Mon Sep 17 00:00:00 2001 From: "Moe Charm (CI)" Date: Sun, 30 Nov 2025 11:17:21 +0900 Subject: [PATCH] Document core Tiny/SuperSlab env toggles and defaults --- ENV_VARIABLE_SURVEY.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/ENV_VARIABLE_SURVEY.md b/ENV_VARIABLE_SURVEY.md index 2881094e..ab5ad606 100644 --- a/ENV_VARIABLE_SURVEY.md +++ b/ENV_VARIABLE_SURVEY.md @@ -59,6 +59,29 @@ Essential on/off switches for major features. --- +## Category 1.5: Tiny/SuperSlab Core Toggles(Phase 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** - Core(2 を標準、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** |