497 lines
11 KiB
Markdown
497 lines
11 KiB
Markdown
|
|
# HAKMEM ENV Variable Consolidation - Detailed Mapping
|
||
|
|
|
||
|
|
## OBSOLETE Variables - Complete List (54 vars)
|
||
|
|
|
||
|
|
### BG (Background) System - 11 vars
|
||
|
|
```
|
||
|
|
HAKMEM_BATCH_BG
|
||
|
|
HAKMEM_L25_BG_DRAIN
|
||
|
|
HAKMEM_L25_BG_MS
|
||
|
|
```
|
||
|
|
|
||
|
|
### SFC (Shared Frontend Cache) - 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
|
||
|
|
```
|
||
|
|
|
||
|
|
### HotMag/Ultra/Quick Caches - 12 vars
|
||
|
|
```
|
||
|
|
HAKMEM_TINY_FRONT_ENABLE_ULTRAHOT
|
||
|
|
HAKMEM_TINY_QUICK
|
||
|
|
HAKMEM_TINY_ULTRA
|
||
|
|
HAKMEM_TINY_ULTRA_DEBUG
|
||
|
|
HAKMEM_TINY_ULTRA_FRONT
|
||
|
|
HAKMEM_TINY_ULTRA_HEAP_DUMP
|
||
|
|
HAKMEM_TINY_ULTRA_L0
|
||
|
|
HAKMEM_TINY_ULTRA_PAGE_DUMP
|
||
|
|
HAKMEM_TINY_ULTRA_SIMPLE
|
||
|
|
HAKMEM_TINY_ULTRA_SLIM
|
||
|
|
HAKMEM_TINY_ULTRA_VALIDATE
|
||
|
|
HAKMEM_ULTRA_SLIM_STATS
|
||
|
|
```
|
||
|
|
|
||
|
|
### Ring System - 7 vars
|
||
|
|
```
|
||
|
|
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
|
||
|
|
```
|
||
|
|
|
||
|
|
### Thread Cache (TC) - 4 vars
|
||
|
|
```
|
||
|
|
```
|
||
|
|
|
||
|
|
### BigCache/L25 Experiments - 7 vars
|
||
|
|
```
|
||
|
|
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
|
||
|
|
```
|
||
|
|
|
||
|
|
### Frontend Experiments - 13 vars
|
||
|
|
```
|
||
|
|
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
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## DEBUG Variables - Complete List (59 vars)
|
||
|
|
|
||
|
|
### Tracing - 16 vars
|
||
|
|
```
|
||
|
|
HAKMEM_FREE_ROUTE_TRACE
|
||
|
|
HAKMEM_FREE_WRAP_TRACE
|
||
|
|
HAKMEM_PTR_TRACE_DUMP
|
||
|
|
HAKMEM_PTR_TRACE_VERBOSE
|
||
|
|
HAKMEM_SUPER_REG_REQTRACE
|
||
|
|
HAKMEM_TINY_MAILBOX_TRACE
|
||
|
|
HAKMEM_TINY_MAILBOX_TRACE_LIMIT
|
||
|
|
HAKMEM_TINY_RF_TRACE
|
||
|
|
HAKMEM_TINY_SUPERSLAB_TRACE
|
||
|
|
HAKMEM_TINY_TRACE_RING
|
||
|
|
```
|
||
|
|
|
||
|
|
### Logging - 8 vars
|
||
|
|
```
|
||
|
|
HAKMEM_ADAPTIVE_LOG
|
||
|
|
HAKMEM_EXTERNAL_GUARD_LOG
|
||
|
|
HAKMEM_INVALID_FREE_LOG
|
||
|
|
HAKMEM_LOG_FILE
|
||
|
|
HAKMEM_PTR_TRACE_VERBOSE
|
||
|
|
HAKMEM_VERBOSE
|
||
|
|
```
|
||
|
|
|
||
|
|
### Stats/Profiling - 16 vars
|
||
|
|
```
|
||
|
|
HAKMEM_EXTERNAL_GUARD_STATS
|
||
|
|
HAKMEM_POOL_COUNT_SAMPLE
|
||
|
|
HAKMEM_PROF_SAMPLE
|
||
|
|
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
|
||
|
|
HAKMEM_TINY_HEAP_V2_STATS
|
||
|
|
HAKMEM_ULTRA_SLIM_STATS
|
||
|
|
```
|
||
|
|
|
||
|
|
### Debug/Observe - 19 vars
|
||
|
|
```
|
||
|
|
HAKMEM_ACE_DEBUG
|
||
|
|
HAKMEM_ACE_OBSERVE
|
||
|
|
HAKMEM_DEBUG_SEGV
|
||
|
|
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
|
||
|
|
HAKMEM_TINY_FAST_DEBUG
|
||
|
|
HAKMEM_TINY_FAST_DEBUG_MAX
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## POLICY Variables - Consolidation Proposals
|
||
|
|
|
||
|
|
### Proposal 1: Refill Parameters
|
||
|
|
|
||
|
|
**Remove (18 vars)**:
|
||
|
|
```
|
||
|
|
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
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (3 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_REFILL_BATCH=64 # Default refill batch size
|
||
|
|
HAKMEM_REFILL_HOT_BATCH=192 # Hot class (C0-C3) batch size
|
||
|
|
HAKMEM_REFILL_MAX=1024 # Maximum refill per operation
|
||
|
|
```
|
||
|
|
|
||
|
|
### Proposal 2: Capacity Limits
|
||
|
|
|
||
|
|
**Remove (30+ vars including per-class)**:
|
||
|
|
```
|
||
|
|
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_MAG_CAP
|
||
|
|
HAKMEM_TINY_MAX_CLASS
|
||
|
|
HAKMEM_TINY_REFILL_MAX_HOT
|
||
|
|
HAKMEM_TINY_SS_MAX_MB
|
||
|
|
HAKMEM_TINY_SS_MIN_MB
|
||
|
|
...(30+ total)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (6 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_CACHE_PRESET=small|medium|large|custom # Global preset
|
||
|
|
HAKMEM_TINY_CACHE_SLOTS=512 # TLS cache capacity (if custom)
|
||
|
|
HAKMEM_MID_CACHE_SLOTS=128 # Mid-tier cache (if custom)
|
||
|
|
HAKMEM_LARGE_CACHE_SLOTS=32 # Large-tier cache (if custom)
|
||
|
|
HAKMEM_SS_MEMORY_LIMIT_MB=512 # SuperSlab memory cap
|
||
|
|
HAKMEM_POOL_MEMORY_LIMIT_MB=256 # Pool memory cap
|
||
|
|
```
|
||
|
|
|
||
|
|
**Presets**:
|
||
|
|
```
|
||
|
|
small: Tiny=256, Mid=64, Large=16, SS=256MB, Pool=128MB
|
||
|
|
medium: Tiny=512, Mid=128, Large=32, SS=512MB, Pool=256MB (default)
|
||
|
|
large: Tiny=1024, Mid=256, Large=64, SS=1024MB, Pool=512MB
|
||
|
|
custom: Use individual *_SLOTS/*_LIMIT_MB vars
|
||
|
|
```
|
||
|
|
|
||
|
|
### Proposal 3: Learning/Adaptation Systems
|
||
|
|
|
||
|
|
**Remove (35 vars)**:
|
||
|
|
```
|
||
|
|
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_HOT_SLOT
|
||
|
|
HAKMEM_INT_ADAPT_CAPS
|
||
|
|
HAKMEM_INT_ADAPT_REFILL
|
||
|
|
HAKMEM_INT_ENGINE
|
||
|
|
HAKMEM_INT_EVENT_TS
|
||
|
|
HAKMEM_INT_SAMPLE
|
||
|
|
HAKMEM_LEARN
|
||
|
|
HAKMEM_LEARN_SAMPLE
|
||
|
|
HAKMEM_MID_DYN1
|
||
|
|
HAKMEM_MID_DYN2
|
||
|
|
HAKMEM_PTR_TRACE_DUMP
|
||
|
|
HAKMEM_PTR_TRACE_VERBOSE
|
||
|
|
HAKMEM_THP_LEARN
|
||
|
|
...(35 total)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (8 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_ADAPTIVE_MODE=off|observe|active # Master switch
|
||
|
|
HAKMEM_ADAPTIVE_TARGETS=caps,refill,wmax,thp # Comma-separated targets
|
||
|
|
HAKMEM_ADAPTIVE_INTERVAL_MS=1000 # Update interval
|
||
|
|
HAKMEM_ADAPTIVE_AGGRESSIVENESS=0.1 # Learning rate (0.0-1.0)
|
||
|
|
HAKMEM_ADAPTIVE_MIN_CHANGE_PCT=5 # Minimum % change to apply
|
||
|
|
HAKMEM_THP_POLICY=off|auto|on # THP policy
|
||
|
|
HAKMEM_WMAX_MID_KB=256 # Mid-tier working set
|
||
|
|
HAKMEM_WMAX_LARGE_KB=2048 # Large-tier working set
|
||
|
|
```
|
||
|
|
|
||
|
|
### Proposal 4: Drain/Threshold Parameters
|
||
|
|
|
||
|
|
**Remove (20 vars)**:
|
||
|
|
```
|
||
|
|
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
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (5 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_REMOTE_DRAIN_THRESHOLD=32 # Queue size to trigger drain
|
||
|
|
HAKMEM_REMOTE_DRAIN_BATCH=16 # Items per drain operation
|
||
|
|
HAKMEM_CACHE_SPILL_PCT=90 # % full to trigger spill
|
||
|
|
HAKMEM_MEMORY_TRIM_INTERVAL_MS=1000 # Trim check interval
|
||
|
|
HAKMEM_IDLE_TIMEOUT_MS=5000 # Idle detection timeout
|
||
|
|
```
|
||
|
|
|
||
|
|
### Proposal 5: L25/Pool Configuration
|
||
|
|
|
||
|
|
**Remove (15 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_L25_DZ
|
||
|
|
HAKMEM_L25_INBOUND_SLOTS
|
||
|
|
HAKMEM_L25_MIN_BUNDLE
|
||
|
|
HAKMEM_L25_OWNER_INBOUND
|
||
|
|
HAKMEM_L25_PREF
|
||
|
|
HAKMEM_L25_REMOTE_SAFE
|
||
|
|
HAKMEM_L25_RUN_BLOCKS
|
||
|
|
HAKMEM_L25_RUN_FACTOR
|
||
|
|
HAKMEM_MID_TC
|
||
|
|
HAKMEM_POOL_MIN_BUNDLE
|
||
|
|
HAKMEM_SHARED_POOL_LOCK_STATS
|
||
|
|
HAKMEM_SHARED_POOL_STAGE_STATS
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (5 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_L25_SIZE_ZONES="64,256,1024" # Comma-separated size zones
|
||
|
|
HAKMEM_L25_BUNDLE_SIZE=4 # Refill bundle size
|
||
|
|
HAKMEM_MID_BUNDLE_SIZE=4 # Mid-tier bundle size
|
||
|
|
HAKMEM_L25_RUN_BLOCKS=16 # Blocks per run
|
||
|
|
HAKMEM_L25_RUN_FACTOR=2 # Run factor multiplier
|
||
|
|
```
|
||
|
|
|
||
|
|
### Proposal 6: Misc Policy Variables
|
||
|
|
|
||
|
|
**Remove (36 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_ACE_ENABLED
|
||
|
|
HAKMEM_ALLOW_MALLOC_FALLBACK
|
||
|
|
HAKMEM_BENCH_FAST_FRONT
|
||
|
|
HAKMEM_BENCH_FAST_MODE
|
||
|
|
HAKMEM_BENCH_TINY_ONLY
|
||
|
|
HAKMEM_BIGCACHE_L25
|
||
|
|
HAKMEM_DISABLE_BATCH
|
||
|
|
HAKMEM_DISABLE_BIGCACHE
|
||
|
|
HAKMEM_DISABLE_ELO
|
||
|
|
HAKMEM_EXTERNAL_GUARD_LOG
|
||
|
|
HAKMEM_EXTERNAL_GUARD_MINCORE
|
||
|
|
HAKMEM_EXTERNAL_GUARD_STATS
|
||
|
|
HAKMEM_FREE_POLICY
|
||
|
|
HAKMEM_FREE_ROUTE_TRACE
|
||
|
|
HAKMEM_HDR_LIGHT
|
||
|
|
HAKMEM_INVALID_FREE
|
||
|
|
HAKMEM_INVALID_FREE_LOG
|
||
|
|
HAKMEM_L25_REMOTE_SAFE
|
||
|
|
HAKMEM_L25_TC_SPILL
|
||
|
|
HAKMEM_LD_BLOCK_JEMALLOC
|
||
|
|
HAKMEM_LD_SAFE
|
||
|
|
HAKMEM_MF2_ENABLE
|
||
|
|
HAKMEM_MF2_IDLE_THRESHOLD_US
|
||
|
|
HAKMEM_MF2_LEASE_MS
|
||
|
|
HAKMEM_MF2_MAX_QUEUES
|
||
|
|
HAKMEM_MODE
|
||
|
|
HAKMEM_PAGE_ARENA_ENABLE
|
||
|
|
HAKMEM_PRESET
|
||
|
|
HAKMEM_ROUTE
|
||
|
|
HAKMEM_ROUTE_SAMPLE_LG
|
||
|
|
...(36 total)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Replace with (4 vars)**:
|
||
|
|
```
|
||
|
|
HAKMEM_MODE=fast|balanced|learning|minimal # High-level preset
|
||
|
|
HAKMEM_FORCE_LIBC=0|1 # Force libc malloc fallback
|
||
|
|
HAKMEM_THP_POLICY=off|auto|on # THP policy (from Proposal 3)
|
||
|
|
HAKMEM_RSS_BUDGET_KB=unlimited # Total RSS budget
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Final 50 Variables (20 Essential + 30 Policy)
|
||
|
|
|
||
|
|
### Essential (20 vars)
|
||
|
|
```
|
||
|
|
# Core Features (8)
|
||
|
|
HAKMEM_WRAP_TINY=1
|
||
|
|
HAKMEM_TINY_USE_SUPERSLAB=1
|
||
|
|
HAKMEM_TINY_TLS_SLL=1
|
||
|
|
HAKMEM_TINY_FREE_FAST=1
|
||
|
|
HAKMEM_TINY_UNIFIED_CACHE=1
|
||
|
|
HAKMEM_SS_EMPTY_REUSE=1
|
||
|
|
HAKMEM_FRONT_GATE_UNIFIED=1
|
||
|
|
HAKMEM_POOL_TLS_FREE=1
|
||
|
|
|
||
|
|
# Pool TLS Arena (3)
|
||
|
|
HAKMEM_POOL_TLS_ARENA_MB_INIT=1
|
||
|
|
HAKMEM_POOL_TLS_ARENA_MB_MAX=8
|
||
|
|
HAKMEM_POOL_TLS_ARENA_GROWTH_LEVELS=3
|
||
|
|
|
||
|
|
# Page Arena (5)
|
||
|
|
HAKMEM_PAGE_ARENA_ENABLE=1
|
||
|
|
HAKMEM_PAGE_ARENA_HOT_SIZE=...
|
||
|
|
HAKMEM_PAGE_ARENA_WARM_64K=...
|
||
|
|
HAKMEM_PAGE_ARENA_WARM_128K=...
|
||
|
|
HAKMEM_PAGE_ARENA_WARM_2M=...
|
||
|
|
|
||
|
|
# Misc (4)
|
||
|
|
HAKMEM_PREWARM_SUPERSLABS=1
|
||
|
|
HAKMEM_TINY_PREWARM_ALL=1
|
||
|
|
HAKMEM_WRAP_TINY_REFILL=1
|
||
|
|
HAKMEM_SMALLMID_ENABLE=1
|
||
|
|
```
|
||
|
|
|
||
|
|
### Policy (30 vars)
|
||
|
|
```
|
||
|
|
# Refill (3)
|
||
|
|
HAKMEM_REFILL_BATCH=64
|
||
|
|
HAKMEM_REFILL_HOT_BATCH=192
|
||
|
|
HAKMEM_REFILL_MAX=1024
|
||
|
|
|
||
|
|
# Capacity (6)
|
||
|
|
HAKMEM_CACHE_PRESET=medium
|
||
|
|
HAKMEM_TINY_CACHE_SLOTS=512
|
||
|
|
HAKMEM_MID_CACHE_SLOTS=128
|
||
|
|
HAKMEM_LARGE_CACHE_SLOTS=32
|
||
|
|
HAKMEM_SS_MEMORY_LIMIT_MB=512
|
||
|
|
HAKMEM_POOL_MEMORY_LIMIT_MB=256
|
||
|
|
|
||
|
|
# Adaptive (8)
|
||
|
|
HAKMEM_ADAPTIVE_MODE=off
|
||
|
|
HAKMEM_ADAPTIVE_TARGETS=caps,refill,wmax
|
||
|
|
HAKMEM_ADAPTIVE_INTERVAL_MS=1000
|
||
|
|
HAKMEM_ADAPTIVE_AGGRESSIVENESS=0.1
|
||
|
|
HAKMEM_ADAPTIVE_MIN_CHANGE_PCT=5
|
||
|
|
HAKMEM_THP_POLICY=auto
|
||
|
|
HAKMEM_WMAX_MID_KB=256
|
||
|
|
HAKMEM_WMAX_LARGE_KB=2048
|
||
|
|
|
||
|
|
# Drain/Threshold (5)
|
||
|
|
HAKMEM_REMOTE_DRAIN_THRESHOLD=32
|
||
|
|
HAKMEM_REMOTE_DRAIN_BATCH=16
|
||
|
|
HAKMEM_CACHE_SPILL_PCT=90
|
||
|
|
HAKMEM_MEMORY_TRIM_INTERVAL_MS=1000
|
||
|
|
HAKMEM_IDLE_TIMEOUT_MS=5000
|
||
|
|
|
||
|
|
# L25/Pool (5)
|
||
|
|
HAKMEM_L25_SIZE_ZONES=64,256,1024
|
||
|
|
HAKMEM_L25_BUNDLE_SIZE=4
|
||
|
|
HAKMEM_MID_BUNDLE_SIZE=4
|
||
|
|
HAKMEM_L25_RUN_BLOCKS=16
|
||
|
|
HAKMEM_L25_RUN_FACTOR=2
|
||
|
|
|
||
|
|
# Global (3)
|
||
|
|
HAKMEM_MODE=balanced
|
||
|
|
HAKMEM_FORCE_LIBC=0
|
||
|
|
HAKMEM_RSS_BUDGET_KB=unlimited
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Migration Guide Examples
|
||
|
|
|
||
|
|
### Example 1: Refill Migration
|
||
|
|
```bash
|
||
|
|
# OLD (18 vars)
|
||
|
|
export HAKMEM_TINY_REFILL_MAX=64
|
||
|
|
export HAKMEM_TINY_REFILL_MAX_HOT=192
|
||
|
|
export HAKMEM_TINY_REFILL_COUNT=32
|
||
|
|
export HAKMEM_TINY_REFILL_COUNT_HOT=96
|
||
|
|
export HAKMEM_TINY_REFILL_COUNT_MID=48
|
||
|
|
# ... 13 more ...
|
||
|
|
|
||
|
|
# NEW (3 vars)
|
||
|
|
export HAKMEM_REFILL_BATCH=64 # Replaces *_COUNT
|
||
|
|
export HAKMEM_REFILL_HOT_BATCH=192 # Replaces *_HOT
|
||
|
|
export HAKMEM_REFILL_MAX=1024 # Replaces *_MAX
|
||
|
|
```
|
||
|
|
|
||
|
|
### Example 2: Capacity Migration
|
||
|
|
```bash
|
||
|
|
# OLD (30+ vars)
|
||
|
|
export HAKMEM_TINY_MAG_CAP=512
|
||
|
|
export HAKMEM_TINY_MAG_CAP_C0=256
|
||
|
|
export HAKMEM_TINY_MAG_CAP_C1=256
|
||
|
|
# ... 27 more ...
|
||
|
|
|
||
|
|
# NEW (1 var for most cases)
|
||
|
|
export HAKMEM_CACHE_PRESET=medium # Tiny=512, Mid=128, Large=32
|
||
|
|
|
||
|
|
# OR (6 vars for custom)
|
||
|
|
export HAKMEM_CACHE_PRESET=custom
|
||
|
|
export HAKMEM_TINY_CACHE_SLOTS=512
|
||
|
|
export HAKMEM_MID_CACHE_SLOTS=128
|
||
|
|
export HAKMEM_LARGE_CACHE_SLOTS=32
|
||
|
|
export HAKMEM_SS_MEMORY_LIMIT_MB=512
|
||
|
|
export HAKMEM_POOL_MEMORY_LIMIT_MB=256
|
||
|
|
```
|
||
|
|
|
||
|
|
### Example 3: Learning Migration
|
||
|
|
```bash
|
||
|
|
# OLD (35 vars)
|
||
|
|
export HAKMEM_ACE_ENABLED=1
|
||
|
|
export HAKMEM_INT_ENGINE=1
|
||
|
|
export HAKMEM_INT_ADAPT_REFILL=1
|
||
|
|
export HAKMEM_INT_ADAPT_CAPS=1
|
||
|
|
export HAKMEM_WMAX_LEARN=1
|
||
|
|
# ... 30 more ...
|
||
|
|
|
||
|
|
# NEW (4 vars for most cases)
|
||
|
|
export HAKMEM_ADAPTIVE_MODE=active
|
||
|
|
export HAKMEM_ADAPTIVE_TARGETS=caps,refill,wmax
|
||
|
|
export HAKMEM_ADAPTIVE_INTERVAL_MS=1000
|
||
|
|
export HAKMEM_ADAPTIVE_AGGRESSIVENESS=0.1
|
||
|
|
```
|
||
|
|
|