Files
hakmem/core/hakmem_tiny_remote_target.h

25 lines
814 B
C
Raw Normal View History

#ifndef HAKMEM_TINY_REMOTE_TARGET_H
#define HAKMEM_TINY_REMOTE_TARGET_H
#include <stdatomic.h>
#include <stdint.h>
// Forward declaration
typedef struct TinySlab TinySlab;
#define TINY_NUM_CLASSES 8
// Targeted remote-drain queue: Slabs with high remote free counts
// Background thread can drain these without blocking allocation hot path
ENV Cleanup: Delete Ultra HEAP & BG Remote dead code (-1,096 LOC) Deleted files (11): - core/ultra/ directory (6 files: tiny_ultra_heap.*, tiny_ultra_page_arena.*) - core/front/tiny_ultrafront.h - core/tiny_ultra_fast.inc.h - core/hakmem_tiny_ultra_front.inc.h - core/hakmem_tiny_ultra_simple.inc - core/hakmem_tiny_ultra_batch_box.inc Edited files (10): - core/hakmem_tiny.c: Remove Ultra HEAP #includes, move ultra_batch_for_class() - core/hakmem_tiny_tls_state_box.inc: Delete TinyUltraFront, g_ultra_simple - core/hakmem_tiny_phase6_wrappers_box.inc: Delete ULTRA_SIMPLE block - core/hakmem_tiny_alloc.inc: Delete Ultra-Front code block - core/hakmem_tiny_init.inc: Delete ULTRA_SIMPLE ENV loading - core/hakmem_tiny_remote_target.{c,h}: Delete g_bg_remote_enable/batch - core/tiny_refill.h: Remove BG Remote check (always break) - core/hakmem_tiny_background.inc: Delete BG Remote drain loop Deleted ENV variables: - HAKMEM_TINY_ULTRA_HEAP (build flag, undefined) - HAKMEM_TINY_ULTRA_L0 - HAKMEM_TINY_ULTRA_HEAP_DUMP - HAKMEM_TINY_ULTRA_PAGE_DUMP - HAKMEM_TINY_ULTRA_FRONT - HAKMEM_TINY_BG_REMOTE (no getenv, dead code) - HAKMEM_TINY_BG_REMOTE_BATCH (no getenv, dead code) - HAKMEM_TINY_ULTRA_SIMPLE (references only) Impact: - Code reduction: -1,096 lines - Binary size: 305KB → 304KB (-1KB) - Build: PASS - Sanity: 15.69M ops/s (3 runs avg) - Larson: 1 crash observed (seed 43, likely existing instability) Notes: - Ultra HEAP never compiled (#if HAKMEM_TINY_ULTRA_HEAP undefined) - BG Remote variables never initialized (g_bg_remote_enable always 0) - Ultra SLIM (ultra_slim_alloc_box.h) preserved (active 4-layer path) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 04:35:47 +09:00
// BG Remote variables REMOVED (dead code cleanup 2025-11-27)
extern _Atomic uintptr_t g_remote_target_head[TINY_NUM_CLASSES];
extern _Atomic uint32_t g_remote_target_len[TINY_NUM_CLASSES];
// Enqueue a slab for targeted remote drain (lock-free Treiber stack)
void remote_target_enqueue(int class_idx, TinySlab* slab);
// Dequeue a slab from remote drain queue (returns NULL if empty)
TinySlab* remote_target_pop(int class_idx);
#endif // HAKMEM_TINY_REMOTE_TARGET_H