From 4c6dcacc44c49d80ec08180e268bb49d1a249895 Mon Sep 17 00:00:00 2001 From: "Moe Charm (CI)" Date: Fri, 14 Nov 2025 01:39:52 +0900 Subject: [PATCH] Default stability: disable class5 hotpath by default (enable via HAKMEM_TINY_HOTPATH_CLASS5=1); document in CURRENT_TASK. Shared SS stable with SLL C0..C4; class5 hotpath remains root-cause scope. --- CURRENT_TASK.md | 3 ++- core/hakmem_tiny.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 1bbc848c..38aa5228 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -205,11 +205,12 @@ Phase12 の設計に沿った shared SuperSlab pool 実装および Box API 境 - 共有SS: SLL を C0..C4 に限定(`HAKMEM_TINY_SLL_MASK=0x1F`)で ON は安定完走。OFF(legacy)は SEGV(別途) - SLL: C5(256B)を含めると SEGV 再現。`HAKMEM_TINY_HOTPATH_CLASS5=0` にすると安定化。 - - 対策済み(小変更): + - 対策(小変更): - クラス4以上の alloc fast POP は `tls_sll_pop()`(Box API)で安全化。 - SLL PUSH は `HAKMEM_TINY_SLL_SAFEHEADER=1` でヘッダ不一致時に上書きせず拒否(blind write回避)。 - class5 ホットパスは POP/PUSH をガード付き(`tls_list_pop/push`)に変更。 - それでも `g_tiny_hotpath_class5=1` だと再現 → ホットパス経路のどこかに BASE/USER/next 整合不備が残存。 + - 当面の安定デフォルト: `g_tiny_hotpath_class5=0`(Env で A/B 可: `HAKMEM_TINY_HOTPATH_CLASS5=1`)。 ### 次の実装(根治方針/小粒) diff --git a/core/hakmem_tiny.c b/core/hakmem_tiny.c index 8a5bbdf9..7d9dbc94 100644 --- a/core/hakmem_tiny.c +++ b/core/hakmem_tiny.c @@ -70,8 +70,8 @@ int g_tiny_safe_free_strict = 0; // env: HAKMEM_SAFE_FREE_STRICT=1 int g_tiny_force_remote = 0; // env: HAKMEM_TINY_FORCE_REMOTE=1 // Hot-class optimization: enable dedicated class5 (256B) TLS fast path -// Env: HAKMEM_TINY_HOTPATH_CLASS5=1/0 (default: 1) -int g_tiny_hotpath_class5 = 1; +// Env: HAKMEM_TINY_HOTPATH_CLASS5=1/0 (default: 0 for stability; enable explicitly to A/B) +int g_tiny_hotpath_class5 = 0; // (moved) tiny_class5_stats_dump is defined later, after TLS vars