Updated documentation to reflect commit 6b791b97d deletions:
Removed ENV variables (6):
- HAKMEM_TINY_ULTRA_FRONT
- HAKMEM_TINY_ULTRA_L0
- HAKMEM_TINY_ULTRA_HEAP_DUMP
- HAKMEM_TINY_ULTRA_PAGE_DUMP
- HAKMEM_TINY_BG_REMOTE (no getenv, dead code)
- HAKMEM_TINY_BG_REMOTE_BATCH (no getenv, dead code)
Files updated (5):
- docs/analysis/ENV_CLEANUP_ANALYSIS.md: Updated BG/Ultra counts
- docs/analysis/ENV_QUICK_REFERENCE.md: Updated verification sections
- docs/analysis/ENV_CLEANUP_PLAN.md: Added REMOVED category
- docs/archive/TINY_LEARNING_LAYER.md: Added archive notice
- docs/archive/MAINLINE_INTEGRATION.md: Added archive notice
Changes: +71/-32 lines
Preserved ENV variables:
- HAKMEM_TINY_ULTRA_SLIM (active 4-layer fast path)
- HAKMEM_ULTRA_SLIM_STATS (Ultra SLIM statistics)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Mainline Integration Plan (Tiny focus)
⚠️ ARCHIVE NOTICE (2025-11-26) Several ENV variables and files referenced in this document were removed in commit
6b791b97d:
HAKMEM_TINY_BG_REMOTE(deleted)HAKMEM_TINY_BG_REMOTE_BATCH(deleted)This document is kept for historical reference but may contain outdated information.
What we promoted to mainline (safe, general)
- Safer tiny refill into SLL (already integrated)
sll_refill_small_from_ss(class_idx, max_take)now caps refill by the actual SLL free capacity, avoiding overtake and wasted meta->used increments.
- Entry order consolidation in the small fast path
- Prefer
SLL → Magazine → SuperSlabin the normal (non‑bench) path; Quick/FrontCache/Ultra tiers remain opt‑in.
- Prefer
- Targeted remote‑drain queue (compiled in, default OFF)
- Per‑class Treiber queue for slabs that exceed remote thresholds; disabled by default via env knobs to preserve conservative behavior.
- PGO recipe (opt‑in)
- Makefile targets for PGO on tiny benches are available, but not required for normal builds.
What remains bench‑only (NOT promoted)
- SLL‑only front (Magazine compiled out) and TLS warmup
- These are highly benchmark‑specific and are kept in bench‑only builds.
- Free‑side SLL‑first push without owner/stats
- Mainline preserves learning/stats semantics; bench builds can cut them out.
- Quick/FrontCache / 32/64 specialization hardwiring
- Retained as A/B options; not enabled by default in mainline.
Recommended “Perf‑Main” preset (opt‑in, no bench macros)
- Environment (Tiny‑Hot biased but general):
HAKMEM_TINY_TLS_SLL=1HAKMEM_TINY_REFILL_MAX=96HAKMEM_TINY_REFILL_MAX_HOT=192HAKMEM_TINY_SPILL_HYST=16HAKMEM_TINY_BG_REMOTE=0(keep targeted remote drain off by default)- Keep Quick/FrontCache/Ultra OFF unless explicitly A/B tested
How to try Perf‑Main locally
- Build benches:
make bench_fast - Run tiny‑hot triad (no bench macros):
bash scripts/run_tiny_hot_triad.sh 60000 - Run random‑mixed matrix:
bash scripts/run_random_mixed_matrix.sh 100000
Notes
- LD_PRELOAD/app mode remains conservative (LD_SAFE staging). Tiny‑only and pass‑through modes are recommended for stability. The bench‑only optimizations are intentionally not applied in LD mode.