Phase v4-mid-6: Implement C6 v4 TLS Fastlist (Gated)
- Implemented TLS fastlist logic for C6 in smallobject_hotbox_v4.c (alloc/free). - Added SmallC6FastState struct and g_small_c6_fast TLS variable. - Gated the fastlist logic with HAKMEM_SMALL_HEAP_V4_FASTLIST (default OFF) due to observed instability in mixed workloads. - Fixed a memory leak in small_heap_free_fast_v4 fallback path by calling hak_pool_free. - Updated CURRENT_TASK.md with phase report.
This commit is contained in:
@ -120,6 +120,21 @@
|
||||
|
||||
---
|
||||
|
||||
### Phase v4-mid-6: C6 v4 TLS Fastlist (2025-12-11)
|
||||
|
||||
- **実装**:
|
||||
- `core/smallobject_hotbox_v4.c` に C6 専用の TLS fastlist (`g_small_c6_fast`) を追加。
|
||||
- `small_heap_alloc_fast_v4` / `free` の冒頭で fastlist をチェックし、O(1) で処理するパスを実装。
|
||||
- 安全のため ENV `HAKMEM_SMALL_HEAP_V4_FASTLIST=1` でのみ有効化(デフォルト OFF)。
|
||||
- `small_heap_free_fast_v4` のフォールバック時に `hak_pool_free` を呼ぶよう修正(メモリリーク防止)。
|
||||
|
||||
- **評価**:
|
||||
- `bench_mid_large_mt_hakmem` (C6-heavy): v4 ON で完走、約 22M ops/s(fastlist OFF時と同等)。
|
||||
- `bench_random_mixed_hakmem` (Mixed 16-1024B): v4 ON にすると fastlist ON/OFF に関わらず SEGV が発生することを確認(Phase v4-mid-5 時点からの潜在的な不安定性)。
|
||||
- 結論: Fastlist 機構は実装済みだが、v4 自体が Mixed ワークロードで不安定なため、機能は ENV ゲートで封印してマージする。
|
||||
|
||||
---
|
||||
|
||||
### 5. 健康診断ラン(必ず最初に叩く 2 本)
|
||||
|
||||
- Tiny/Mixed 用:
|
||||
|
||||
Reference in New Issue
Block a user