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.
This commit is contained in:
@ -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`)。
|
||||
|
||||
### 次の実装(根治方針/小粒)
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user