17 lines
873 B
Markdown
17 lines
873 B
Markdown
|
|
# Phase 6.21 Plan — Owner Inbound (2025-10-23)
|
|||
|
|
|
|||
|
|
目的: Large の free/ミス時の共有依存をさらに削り、per‑thread ローカル化を強化(mimalloc の tcache 振る舞いに近づける)。
|
|||
|
|
|
|||
|
|
変更点(シンプル/段階的)
|
|||
|
|
- Owner inbound(MPSC, per‑owner, per‑class)を導入(ENV: `HAKMEM_L25_OWNER_INBOUND=1`)
|
|||
|
|
- free: page‑desc.owner_tid を見て owner inbound へ CAS 1回で push
|
|||
|
|
- alloc: 自分の inbound をリング残が閾値以下のときだけ少量 drain→TLS(リング/LIFO)
|
|||
|
|
- 実装留意
|
|||
|
|
- inbound は固定スロット(既定 512)。`HAKMEM_L25_INBOUND_SLOTS` で縮小可能
|
|||
|
|
- owner が未登録/見つからなければ従来の TC 経路へフォールバック
|
|||
|
|
|
|||
|
|
計測
|
|||
|
|
- 3s/5s(timing OFF)で head‑to‑head 保存
|
|||
|
|
- A/B: `RUN_FACTOR={3,4}`, `TC_SPILL={12,16,24}`, `RING_TRIGGER={1,2}`
|
|||
|
|
|