2025-11-26 17:12:41 +09:00
|
|
|
# HAKMEM ENV Variables - Comprehensive Cleanup Analysis
|
|
|
|
|
**Total Variables: 282 → Target: <50**
|
|
|
|
|
|
|
|
|
|
Generated: 2025年 11月 26日 水曜日 16:58:53 JST
|
|
|
|
|
|
|
|
|
|
## Executive Summary
|
|
|
|
|
|
|
|
|
|
| Category | Count | Percentage | Action |
|
|
|
|
|
|----------|-------|------------|--------|
|
|
|
|
|
| OBSOLETE | 54 | 19% | **REMOVE** (defunct features) |
|
|
|
|
|
| DEBUG | 59 | 21% | **GATE** (#if !HAKMEM_BUILD_RELEASE) |
|
|
|
|
|
| ESSENTIAL | 20 | 7% | **KEEP** (core functionality) |
|
|
|
|
|
| POLICY | 149 | 53% | **CONSOLIDATE** (reduce to ~30) |
|
|
|
|
|
|
|
|
|
|
**Reduction Path**: 282 → 113 (remove obsolete) → 54 (gate debug) → **~50** (consolidate policy)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Category 1: OBSOLETE (54 vars - REMOVE)
|
|
|
|
|
|
|
|
|
|
These variables control removed/deprecated features and should be deleted:
|
|
|
|
|
|
2025-11-27 04:51:59 +09:00
|
|
|
### 1.1 Background Processing (BG) - 9 vars
|
2025-11-26 17:12:41 +09:00
|
|
|
**Status**: BG system removed in 2025-12 cleanup
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_BATCH_BG
|
|
|
|
|
HAKMEM_L25_BG_DRAIN
|
|
|
|
|
HAKMEM_L25_BG_MS
|
|
|
|
|
```
|
|
|
|
|
|
2025-11-27 04:51:59 +09:00
|
|
|
**Note**: The following 2 Tiny BG vars were removed in commit 6b791b97d (2025-11-26):
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_BG_REMOTE (deleted)
|
|
|
|
|
HAKMEM_TINY_BG_REMOTE_BATCH (deleted)
|
|
|
|
|
```
|
|
|
|
|
|
2025-11-26 17:12:41 +09:00
|
|
|
### 1.2 SFC (Shared Frontend Cache) - 7 vars
|
|
|
|
|
**Status**: SFC removed, replaced by UNIFIED_CACHE
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_SFC_CAPACITY
|
|
|
|
|
HAKMEM_SFC_CASCADE_PCT
|
|
|
|
|
HAKMEM_SFC_DEBUG
|
|
|
|
|
HAKMEM_SFC_ENABLE
|
|
|
|
|
HAKMEM_SFC_REFILL_COUNT
|
|
|
|
|
HAKMEM_SFC_STATS_DUMP
|
|
|
|
|
HAKMEM_TINY_SFC_CASCADE
|
|
|
|
|
```
|
|
|
|
|
|
2025-11-27 04:51:59 +09:00
|
|
|
### 1.3 HotMag/UltraHot/Quick - 4 vars
|
2025-11-26 17:12:41 +09:00
|
|
|
**Status**: Experimental caches removed
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_QUICK
|
|
|
|
|
HAKMEM_TINY_ULTRA
|
|
|
|
|
HAKMEM_TINY_ULTRA_VALIDATE
|
2025-11-27 04:51:59 +09:00
|
|
|
HAKMEM_TINY_ULTRA_SLIM
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Note**: The following 6 vars were removed in commit 6b791b97d (2025-11-26):
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_ULTRA_FRONT (deleted)
|
|
|
|
|
HAKMEM_TINY_ULTRA_L0 (deleted)
|
|
|
|
|
HAKMEM_TINY_ULTRA_HEAP_DUMP (deleted)
|
|
|
|
|
HAKMEM_TINY_ULTRA_PAGE_DUMP (deleted)
|
|
|
|
|
HAKMEM_TINY_BG_REMOTE (deleted)
|
|
|
|
|
HAKMEM_TINY_BG_REMOTE_BATCH (deleted)
|
2025-11-26 17:12:41 +09:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.4 Ring Cache - 4 vars
|
|
|
|
|
**Status**: Ring system removed
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_L25_RING_TRIGGER
|
|
|
|
|
HAKMEM_POOL_TLS_RING
|
|
|
|
|
HAKMEM_RING_RETURN_DIV
|
|
|
|
|
HAKMEM_TINY_ALLOC_RING
|
|
|
|
|
HAKMEM_TINY_DUMP_RING_ATEXIT
|
|
|
|
|
HAKMEM_TINY_SLL_RING
|
|
|
|
|
HAKMEM_TINY_TRACE_RING
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.5 Thread Cache (TC) - 4 vars
|
|
|
|
|
**Status**: TC system deprecated
|
|
|
|
|
```
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.6 L25 BigCache - 8 vars
|
|
|
|
|
**Status**: BigCache system removed
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_BIGCACHE_L25
|
|
|
|
|
HAKMEM_DISABLE_BIGCACHE
|
|
|
|
|
HAKMEM_L25_BG_DRAIN
|
|
|
|
|
HAKMEM_L25_BG_MS
|
|
|
|
|
HAKMEM_L25_RING_TRIGGER
|
|
|
|
|
HAKMEM_L25_TC_CAP
|
|
|
|
|
HAKMEM_L25_TC_SPILL
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.7 Frontend Experiments - 10 vars
|
|
|
|
|
**Status**: Experimental frontends (V2, Heap, Slim) removed
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_FASTCACHE
|
|
|
|
|
HAKMEM_TINY_FRONTEND
|
|
|
|
|
HAKMEM_TINY_FRONT_DISABLE_HEAPV2
|
|
|
|
|
HAKMEM_TINY_FRONT_ENABLE_ULTRAHOT
|
|
|
|
|
HAKMEM_TINY_FRONT_SLIM
|
|
|
|
|
HAKMEM_TINY_FRONT_V2
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_CLASS_MASK
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_DEBUG
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_LEFTOVER_MODE
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_STATS
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Category 2: DEBUG_ONLY (59 vars - COMPILE-TIME GATE)
|
|
|
|
|
|
|
|
|
|
These should be gated with `#if !HAKMEM_BUILD_RELEASE` and removed from production:
|
|
|
|
|
|
|
|
|
|
### 2.1 Tracing/Logging - 20 vars
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_ADAPTIVE_LOG
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_LOG
|
|
|
|
|
HAKMEM_FREE_ROUTE_TRACE
|
|
|
|
|
HAKMEM_FREE_WRAP_TRACE
|
|
|
|
|
HAKMEM_INVALID_FREE_LOG
|
|
|
|
|
HAKMEM_LOG_FILE
|
|
|
|
|
HAKMEM_PTR_TRACE_DUMP
|
|
|
|
|
HAKMEM_PTR_TRACE_VERBOSE
|
|
|
|
|
HAKMEM_SUPER_REG_REQTRACE
|
|
|
|
|
HAKMEM_TIMING
|
|
|
|
|
HAKMEM_TINY_MAILBOX_TRACE
|
|
|
|
|
HAKMEM_TINY_MAILBOX_TRACE_LIMIT
|
|
|
|
|
HAKMEM_TINY_RF_TRACE
|
|
|
|
|
HAKMEM_TINY_SUPERSLAB_TRACE
|
|
|
|
|
HAKMEM_TINY_TRACE_RING
|
|
|
|
|
HAKMEM_VERBOSE
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.2 Statistics/Profiling - 18 vars
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_ACE_PROFILE
|
|
|
|
|
HAKMEM_ACE_SAMPLE
|
|
|
|
|
HAKMEM_EVO_SAMPLE
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_STATS
|
|
|
|
|
HAKMEM_HIST_SAMPLE
|
|
|
|
|
HAKMEM_INT_SAMPLE
|
|
|
|
|
HAKMEM_LEARN_SAMPLE
|
|
|
|
|
HAKMEM_POOL_COUNT_SAMPLE
|
|
|
|
|
HAKMEM_PROF
|
|
|
|
|
HAKMEM_PROF_SAMPLE
|
|
|
|
|
HAKMEM_ROUTE_SAMPLE_LG
|
|
|
|
|
HAKMEM_SFC_STATS_DUMP
|
|
|
|
|
HAKMEM_SHARED_POOL_LOCK_STATS
|
|
|
|
|
HAKMEM_SHARED_POOL_STAGE_STATS
|
|
|
|
|
HAKMEM_TINY_ALLOC_1024_METRIC
|
|
|
|
|
HAKMEM_TINY_COUNT_SAMPLE
|
|
|
|
|
HAKMEM_TINY_FAST_STATS
|
|
|
|
|
HAKMEM_TINY_FRONT_METRICS
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.3 Debug/Validation - 21 vars
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_ACE_DEBUG
|
|
|
|
|
HAKMEM_ACE_OBSERVE
|
|
|
|
|
HAKMEM_DEBUG_SEGV
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_LOG
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_MINCORE
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_STATS
|
|
|
|
|
HAKMEM_PTR_TRACE_DUMP
|
|
|
|
|
HAKMEM_SFC_DEBUG
|
|
|
|
|
HAKMEM_SFC_STATS_DUMP
|
|
|
|
|
HAKMEM_SS_ACQUIRE_DEBUG
|
|
|
|
|
HAKMEM_SS_FREE_DEBUG
|
|
|
|
|
HAKMEM_SS_LRU_DEBUG
|
|
|
|
|
HAKMEM_SS_PREWARM_DEBUG
|
|
|
|
|
HAKMEM_SUPER_LOOKUP_DEBUG
|
|
|
|
|
HAKMEM_SUPER_REG_DEBUG
|
|
|
|
|
HAKMEM_TINY_ALLOC_DEBUG
|
|
|
|
|
HAKMEM_TINY_COUNTERS_DUMP
|
|
|
|
|
HAKMEM_TINY_DEBUG_FAST0
|
|
|
|
|
HAKMEM_TINY_DEBUG_REMOTE_GUARD
|
|
|
|
|
HAKMEM_TINY_DUMP_ATEXIT_ONLY
|
|
|
|
|
HAKMEM_TINY_DUMP_RING_ATEXIT
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Category 3: ESSENTIAL (20 vars - KEEP)
|
|
|
|
|
|
|
|
|
|
Core functionality that must remain:
|
|
|
|
|
|
|
|
|
|
### 3.1 Major Features (8 vars)
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_UNIFIED_CACHE=1 # Phase 3d-B (default ON)
|
|
|
|
|
HAKMEM_SS_EMPTY_REUSE=1 # Phase 12-1.1 (default ON)
|
|
|
|
|
HAKMEM_FRONT_GATE_UNIFIED=1 # Phase 26 (default ON)
|
|
|
|
|
HAKMEM_WRAP_TINY=1 # Enable Tiny Pool
|
|
|
|
|
HAKMEM_TINY_USE_SUPERSLAB=1 # SuperSlab backend
|
|
|
|
|
HAKMEM_TINY_TLS_SLL=1 # TLS cache layer
|
|
|
|
|
HAKMEM_TINY_FREE_FAST=1 # Fast free path
|
|
|
|
|
HAKMEM_POOL_TLS_FREE=1 # Pool TLS free
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 3.2 Pool TLS Arena (3 vars)
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_POOL_TLS_ARENA_MB_INIT=1 # Initial arena size
|
|
|
|
|
HAKMEM_POOL_TLS_ARENA_MB_MAX=8 # Max arena size
|
|
|
|
|
HAKMEM_POOL_TLS_ARENA_GROWTH_LEVELS=3 # Growth stages
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 3.3 Page Arena (5 vars)
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_PAGE_ARENA_ENABLE=1 # Page arena system
|
|
|
|
|
HAKMEM_PAGE_ARENA_HOT_SIZE=... # Hot size threshold
|
|
|
|
|
HAKMEM_PAGE_ARENA_WARM_64K=... # Warm level 1
|
|
|
|
|
HAKMEM_PAGE_ARENA_WARM_128K=... # Warm level 2
|
|
|
|
|
HAKMEM_PAGE_ARENA_WARM_2M=... # Warm level 3
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 3.4 Misc Essential (4 vars)
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_PREWARM_SUPERSLABS=1 # Phase 11 prewarm
|
|
|
|
|
HAKMEM_TINY_PREWARM_ALL=1 # Full prewarm
|
|
|
|
|
HAKMEM_WRAP_TINY_REFILL=1 # Wrapper refill
|
|
|
|
|
HAKMEM_SMALLMID_ENABLE=1 # SmallMid allocator
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Category 4: POLICY (149 vars - CONSOLIDATE to ~30)
|
|
|
|
|
|
|
|
|
|
### 4.1 Duplicate/Similar Functionality
|
|
|
|
|
|
|
|
|
|
#### Refill Parameters (18 vars → 3 vars)
|
|
|
|
|
**Current**:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_INT_ADAPT_REFILL
|
|
|
|
|
HAKMEM_SFC_REFILL_COUNT
|
|
|
|
|
HAKMEM_TINY_MID_REFILL_SIMPLE
|
|
|
|
|
HAKMEM_TINY_REFILL_COUNT
|
|
|
|
|
HAKMEM_TINY_REFILL_COUNT_HOT
|
|
|
|
|
HAKMEM_TINY_REFILL_COUNT_MID
|
|
|
|
|
HAKMEM_TINY_REFILL_DUMP
|
|
|
|
|
HAKMEM_TINY_REFILL_FAILFAST
|
|
|
|
|
HAKMEM_TINY_REFILL_MAX
|
|
|
|
|
HAKMEM_TINY_REFILL_MAX_HOT
|
|
|
|
|
HAKMEM_TINY_REFILL_ONE_ON_MISS
|
|
|
|
|
HAKMEM_TINY_REFILL_OPT_DEBUG
|
|
|
|
|
HAKMEM_WRAP_TINY_REFILL
|
|
|
|
|
```
|
|
|
|
|
**Proposal**: Consolidate to:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_REFILL_BATCH=64 # Default batch size
|
|
|
|
|
HAKMEM_TINY_REFILL_HOT_BATCH=192 # Hot class batch
|
|
|
|
|
HAKMEM_TINY_REFILL_MAX=1024 # Global max
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### Capacity Parameters (25 vars → 5 vars)
|
|
|
|
|
**Current**:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_CAP_LARGE
|
|
|
|
|
HAKMEM_CAP_MID
|
|
|
|
|
HAKMEM_CAP_MID_DYN1
|
|
|
|
|
HAKMEM_CAP_MID_DYN2
|
|
|
|
|
HAKMEM_L25_MIN_BUNDLE
|
|
|
|
|
HAKMEM_MF2_MAX_QUEUES
|
|
|
|
|
HAKMEM_POOL_MIN_BUNDLE
|
|
|
|
|
HAKMEM_SUPERSLAB_MAX_CACHED
|
|
|
|
|
HAKMEM_SUPERSLAB_MAX_MEMORY_MB
|
|
|
|
|
HAKMEM_TINY_MAX_CLASS
|
|
|
|
|
HAKMEM_TINY_REFILL_MAX_HOT
|
|
|
|
|
HAKMEM_TINY_SS_MAX_MB
|
|
|
|
|
HAKMEM_TINY_SS_MIN_MB
|
|
|
|
|
...(25 total)
|
|
|
|
|
```
|
|
|
|
|
**Proposal**: Use tiered approach:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_CACHE_SIZE=small|medium|large # Preset
|
|
|
|
|
HAKMEM_MID_CACHE_SIZE=small|medium|large
|
|
|
|
|
HAKMEM_LARGE_CACHE_SIZE=small|medium|large
|
|
|
|
|
HAKMEM_SS_MEMORY_LIMIT_MB=512 # Global limit
|
|
|
|
|
HAKMEM_POOL_MEMORY_LIMIT_MB=256 # Pool limit
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### Learning/Adaptation (35 vars → 8 vars)
|
|
|
|
|
**Current**: ACE, INT, WMAX, THP, ELO, LEARN, ADAPTIVE, HOT, DYN systems
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_ACE_DEBUG
|
|
|
|
|
HAKMEM_ACE_ENABLED
|
|
|
|
|
HAKMEM_ACE_OBSERVE
|
|
|
|
|
HAKMEM_ACE_PROFILE
|
|
|
|
|
HAKMEM_ACE_SAMPLE
|
|
|
|
|
HAKMEM_ADAPTIVE_LOG
|
|
|
|
|
HAKMEM_ADAPTIVE_SIZING
|
|
|
|
|
HAKMEM_CAP_MID_DYN1
|
|
|
|
|
HAKMEM_CAP_MID_DYN2
|
|
|
|
|
HAKMEM_DISABLE_ELO
|
|
|
|
|
HAKMEM_DYN1_AUTO
|
|
|
|
|
HAKMEM_DYN2_AUTO
|
|
|
|
|
HAKMEM_INT_ADAPT_CAPS
|
|
|
|
|
HAKMEM_INT_ADAPT_REFILL
|
|
|
|
|
HAKMEM_INT_ENGINE
|
|
|
|
|
...(35 total)
|
|
|
|
|
```
|
|
|
|
|
**Proposal**: Unified learning system:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_LEARN_MODE=off|observe|active # Master switch
|
|
|
|
|
HAKMEM_LEARN_TARGETS=caps,refill,wmax # What to tune
|
|
|
|
|
HAKMEM_LEARN_INTERVAL_MS=1000 # Update rate
|
|
|
|
|
HAKMEM_LEARN_AGGRESSIVENESS=0.1 # Tuning rate
|
|
|
|
|
HAKMEM_THP_POLICY=off|auto|on # THP
|
|
|
|
|
HAKMEM_ADAPTIVE_CAPS=1 # Enable cap adaptation
|
|
|
|
|
HAKMEM_ADAPTIVE_REFILL=1 # Enable refill adaptation
|
|
|
|
|
HAKMEM_ADAPTIVE_WMAX=1 # Enable wmax adaptation
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### Drain/Threshold Parameters (20 vars → 5 vars)
|
|
|
|
|
**Current**:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_L25_BG_DRAIN
|
|
|
|
|
HAKMEM_L25_RING_TRIGGER
|
|
|
|
|
HAKMEM_MF2_IDLE_THRESHOLD_US
|
|
|
|
|
HAKMEM_TC_DRAIN_MAX
|
|
|
|
|
HAKMEM_TC_DRAIN_TRIGGER
|
|
|
|
|
HAKMEM_TINY_DRAIN_TO_SLL
|
|
|
|
|
HAKMEM_TINY_REMOTE_DRAIN_THRESHOLD
|
|
|
|
|
HAKMEM_TINY_REMOTE_DRAIN_TRYRATE
|
|
|
|
|
HAKMEM_TINY_SLL_DRAIN_DEBUG
|
|
|
|
|
HAKMEM_TINY_SLL_DRAIN_ENABLE
|
|
|
|
|
HAKMEM_TINY_SLL_DRAIN_INTERVAL
|
|
|
|
|
HAKMEM_TINY_TENSION_DRAIN_ENABLE
|
|
|
|
|
HAKMEM_TINY_TENSION_DRAIN_THRESHOLD
|
|
|
|
|
...(20 total)
|
|
|
|
|
```
|
|
|
|
|
**Proposal**: Unified thresholds:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_REMOTE_DRAIN_THRESHOLD=32 # When to drain
|
|
|
|
|
HAKMEM_REMOTE_DRAIN_BATCH=16 # Drain batch size
|
|
|
|
|
HAKMEM_SPILL_THRESHOLD_PCT=90 # Cache spill %
|
|
|
|
|
HAKMEM_TRIM_INTERVAL_MS=1000 # Memory trim rate
|
|
|
|
|
HAKMEM_IDLE_TIMEOUT_MS=5000 # Idle detection
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 4.2 Recommended Consolidation Summary
|
|
|
|
|
|
|
|
|
|
| Area | Current | Proposed | Reduction |
|
|
|
|
|
|------|---------|----------|-----------|
|
|
|
|
|
| Refill params | 18 | 3 | -83% |
|
|
|
|
|
| Capacity params | 25 | 5 | -80% |
|
|
|
|
|
| Learning/Adapt | 35 | 8 | -77% |
|
|
|
|
|
| Drain/Threshold | 20 | 5 | -75% |
|
|
|
|
|
| L25/Pool config | 15 | 5 | -67% |
|
|
|
|
|
| Misc policy | 36 | 4 | -89% |
|
|
|
|
|
| **TOTAL** | **149** | **30** | **-80%** |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Final Reduction Path
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
Step 1: Remove OBSOLETE 282 → 228 (-54)
|
|
|
|
|
Step 2: Gate DEBUG with #if 228 → 169 (-59)
|
|
|
|
|
Step 3: Keep ESSENTIAL as-is 169 → 149 (-20)
|
|
|
|
|
Step 4: Consolidate POLICY 149 → 30 (-119)
|
|
|
|
|
|
|
|
|
|
FINAL COUNT: 20 (essential) + 30 (policy) = 50 variables
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Top Removal Candidates (By Priority)
|
|
|
|
|
|
|
|
|
|
### Priority 1: Dead Code (Immediate Removal) - 54 vars
|
|
|
|
|
|
|
|
|
|
**BG System** (11 vars):
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_L25_BG_DRAIN
|
|
|
|
|
HAKMEM_L25_BG_MS
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**SFC System** (7 vars):
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_SFC_CAPACITY
|
|
|
|
|
HAKMEM_SFC_CASCADE_PCT
|
|
|
|
|
HAKMEM_SFC_DEBUG
|
|
|
|
|
HAKMEM_SFC_ENABLE
|
|
|
|
|
HAKMEM_SFC_REFILL_COUNT
|
|
|
|
|
HAKMEM_SFC_STATS_DUMP
|
|
|
|
|
HAKMEM_TINY_SFC_CASCADE
|
|
|
|
|
```
|
|
|
|
|
|
2025-11-27 04:51:59 +09:00
|
|
|
**Experimental Caches** (4 vars):
|
2025-11-26 17:12:41 +09:00
|
|
|
```
|
|
|
|
|
HAKMEM_TINY_QUICK
|
|
|
|
|
HAKMEM_TINY_ULTRA
|
2025-11-27 04:51:59 +09:00
|
|
|
HAKMEM_TINY_ULTRA_VALIDATE
|
2025-11-26 17:12:41 +09:00
|
|
|
HAKMEM_TINY_ULTRA_SLIM
|
|
|
|
|
```
|
|
|
|
|
|
2025-11-27 04:51:59 +09:00
|
|
|
**Note**: 6 Ultra/BG vars removed in commit 6b791b97d (see section 1.3 above)
|
|
|
|
|
|
2025-11-26 17:12:41 +09:00
|
|
|
**Ring/TC/Frontend** (18 vars):
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_L25_RING_TRIGGER
|
|
|
|
|
HAKMEM_L25_TC_CAP
|
|
|
|
|
HAKMEM_L25_TC_SPILL
|
|
|
|
|
HAKMEM_MID_TC_CAP
|
|
|
|
|
HAKMEM_POOL_TLS_RING
|
|
|
|
|
HAKMEM_RING_RETURN_DIV
|
|
|
|
|
HAKMEM_TC_DRAIN_MAX
|
|
|
|
|
HAKMEM_TC_DRAIN_TRIGGER
|
|
|
|
|
HAKMEM_TC_ENABLE
|
|
|
|
|
HAKMEM_TC_UNBOUNDED
|
|
|
|
|
HAKMEM_TINY_ALLOC_RING
|
|
|
|
|
HAKMEM_TINY_DUMP_RING_ATEXIT
|
|
|
|
|
HAKMEM_TINY_FASTCACHE
|
|
|
|
|
HAKMEM_TINY_FRONT_V2
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_CLASS_MASK
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_DEBUG
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_LEFTOVER_MODE
|
|
|
|
|
HAKMEM_TINY_HEAP_V2_STATS
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Priority 2: Debug Gate (Next Phase) - 59 vars
|
|
|
|
|
|
|
|
|
|
Move to `#if !HAKMEM_BUILD_RELEASE` block:
|
|
|
|
|
```
|
|
|
|
|
HAKMEM_ACE_DEBUG
|
|
|
|
|
HAKMEM_ACE_OBSERVE
|
|
|
|
|
HAKMEM_ACE_PROFILE
|
|
|
|
|
HAKMEM_ADAPTIVE_LOG
|
|
|
|
|
HAKMEM_DEBUG_SEGV
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_LOG
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_MINCORE
|
|
|
|
|
HAKMEM_EXTERNAL_GUARD_STATS
|
|
|
|
|
HAKMEM_FREE_ROUTE_TRACE
|
|
|
|
|
HAKMEM_FREE_WRAP_TRACE
|
|
|
|
|
HAKMEM_INVALID_FREE_LOG
|
|
|
|
|
HAKMEM_LOG_FILE
|
|
|
|
|
HAKMEM_PROF
|
|
|
|
|
HAKMEM_PROF_SAMPLE
|
|
|
|
|
HAKMEM_PTR_TRACE_DUMP
|
|
|
|
|
HAKMEM_PTR_TRACE_VERBOSE
|
|
|
|
|
HAKMEM_SFC_DEBUG
|
|
|
|
|
HAKMEM_SFC_STATS_DUMP
|
|
|
|
|
HAKMEM_SHARED_POOL_LOCK_STATS
|
|
|
|
|
HAKMEM_SHARED_POOL_STAGE_STATS
|
|
|
|
|
HAKMEM_SS_ACQUIRE_DEBUG
|
|
|
|
|
HAKMEM_SS_FREE_DEBUG
|
|
|
|
|
HAKMEM_SS_LRU_DEBUG
|
|
|
|
|
HAKMEM_SS_PREWARM_DEBUG
|
|
|
|
|
HAKMEM_SUPER_LOOKUP_DEBUG
|
|
|
|
|
HAKMEM_SUPER_REG_DEBUG
|
|
|
|
|
HAKMEM_SUPER_REG_REQTRACE
|
|
|
|
|
HAKMEM_TINY_ALLOC_DEBUG
|
|
|
|
|
HAKMEM_TINY_COUNTERS_DUMP
|
|
|
|
|
HAKMEM_TINY_DEBUG_FAST0
|
|
|
|
|
...(59 total)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Priority 3: Policy Consolidation (Final Phase) - 119 vars
|
|
|
|
|
|
|
|
|
|
**High-impact consolidation targets**:
|
|
|
|
|
|
|
|
|
|
1. **Per-class overrides** (30+ vars): Remove HAKMEM_TINY_*_C{0..7}, use class-agnostic tuning
|
|
|
|
|
2. **Learning systems** (35 vars): Unify ACE/INT/WMAX/ELO into HAKMEM_LEARN_*
|
|
|
|
|
3. **Capacity limits** (25 vars): Use tiered presets (small/medium/large)
|
|
|
|
|
4. **Drain thresholds** (20 vars): Unify under HAKMEM_DRAIN_* namespace
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Undocumented Variables
|
|
|
|
|
|
|
|
|
|
Variables in code but not in ENV_VARS.md:
|
|
|
|
|
```
|
|
|
|
|
(Run: comm -13 <(grep -o 'HAKMEM_[A-Z_0-9]*' ENV_VARS.md | sort -u) <(grep -rh 'getenv("HAKMEM_' core/ | grep -o 'HAKMEM_[A-Z_0-9]*' | sort -u))
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Recommended Actions
|
|
|
|
|
|
|
|
|
|
### Phase 1: Remove OBSOLETE (Week 1)
|
|
|
|
|
- [ ] Remove all BG system ENV vars (11 vars)
|
|
|
|
|
- [ ] Remove all SFC system ENV vars (7 vars)
|
|
|
|
|
- [ ] Remove HotMag/Ultra/Quick ENV vars (10 vars)
|
|
|
|
|
- [ ] Remove Ring/TC ENV vars (8 vars)
|
|
|
|
|
- [ ] Remove experimental frontend ENV vars (18 vars)
|
|
|
|
|
- [ ] **Result**: 282 → 228 vars (-19%)
|
|
|
|
|
|
|
|
|
|
### Phase 2: Gate DEBUG (Week 2)
|
|
|
|
|
- [ ] Create `core/hakmem_debug_env.h` with #if !HAKMEM_BUILD_RELEASE
|
|
|
|
|
- [ ] Move all *_DEBUG, *_TRACE, *_STATS, *_DUMP vars
|
|
|
|
|
- [ ] Move all *_LOG, *_PROF, *_OBSERVE vars
|
|
|
|
|
- [ ] Update build.sh to strip debug ENV in release
|
|
|
|
|
- [ ] **Result**: 228 → 169 vars (-21% production)
|
|
|
|
|
|
|
|
|
|
### Phase 3: Consolidate POLICY (Week 3-4)
|
|
|
|
|
- [ ] Consolidate REFILL_* params (18 → 3)
|
|
|
|
|
- [ ] Consolidate CAP_/MAX_/MIN_ params (25 → 5)
|
|
|
|
|
- [ ] Unify learning systems (35 → 8)
|
|
|
|
|
- [ ] Consolidate drain thresholds (20 → 5)
|
|
|
|
|
- [ ] Simplify L25/Pool config (15 → 5)
|
|
|
|
|
- [ ] Merge misc policy vars (36 → 4)
|
|
|
|
|
- [ ] **Result**: 169 → 50 vars (-82% total)
|
|
|
|
|
|
|
|
|
|
### Phase 4: Document & Test (Week 5)
|
|
|
|
|
- [ ] Update ENV_VARS.md with final 50 vars
|
|
|
|
|
- [ ] Create ENV_MIGRATION_GUIDE.md for old→new mapping
|
|
|
|
|
- [ ] Add ENV validation warnings for removed vars
|
|
|
|
|
- [ ] Regression test all 50 vars
|
|
|
|
|
- [ ] Update CLAUDE.md with new ENV list
|
|
|
|
|
|