Major Features: - Debug counter infrastructure for Refill Stage tracking - Free Pipeline counters (ss_local, ss_remote, tls_sll) - Diagnostic counters for early return analysis - Unified larson.sh benchmark runner with profiles - Phase 6-3 regression analysis documentation Bug Fixes: - Fix SuperSlab disabled by default (HAKMEM_TINY_USE_SUPERSLAB) - Fix profile variable naming consistency - Add .gitignore patterns for large files Performance: - Phase 6-3: 4.79 M ops/s (has OOM risk) - With SuperSlab: 3.13 M ops/s (+19% improvement) This is a clean repository without large log files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
26 lines
569 B
C
26 lines
569 B
C
#ifndef HAKMEM_LEARN_LOG_H
|
|
#define HAKMEM_LEARN_LOG_H
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct {
|
|
uint64_t ts_ns;
|
|
uintptr_t site;
|
|
uint32_t size;
|
|
uint16_t class_idx;
|
|
uint32_t tid_low;
|
|
} hkm_log_entry_t;
|
|
|
|
typedef struct hkm_log_ring {
|
|
hkm_log_entry_t entries[1024];
|
|
volatile uint32_t head; // producer index (per-thread)
|
|
volatile uint32_t tail; // consumer index (learner)
|
|
} hkm_log_ring_t;
|
|
|
|
void hkm_log_init_tls(void);
|
|
void hkm_log_maybe(uintptr_t site, uint32_t size, uint16_t class_idx);
|
|
void hkm_log_flush_file(const char* path);
|
|
|
|
#endif
|
|
|