Add TinyHeap class mask and extend routing

This commit is contained in:
Moe Charm (CI)
2025-12-07 22:49:28 +09:00
parent 9c68073557
commit a6991ec9e4
23 changed files with 433 additions and 211 deletions

View File

@ -4,6 +4,7 @@
// Global atomic counters for TLS SLL performance measurement
// ENV: HAKMEM_MEASURE_UNIFIED_CACHE=1 to enable (default: OFF)
#include <stdatomic.h>
#include "box/tiny_heap_env_box.h" // TinyHeap/C7 gate for TLS SLL skips
_Atomic uint64_t g_tls_sll_push_count_global = 0;
_Atomic uint64_t g_tls_sll_pop_count_global = 0;
_Atomic uint64_t g_tls_sll_pop_empty_count_global = 0;
@ -180,6 +181,11 @@ void hak_tiny_prewarm_tls_cache(void) {
// This reduces the first-allocation miss penalty by populating TLS cache
// Phase E1-CORRECT: ALL classes (including C7) now use TLS SLL
for (int class_idx = 0; class_idx < TINY_NUM_CLASSES; class_idx++) {
// TinyHeap front ON では対象クラスを TLS SLL へ積まず、TinyHeapBox 側に任せる。
if (tiny_heap_class_route_enabled(class_idx)) {
continue;
}
int count = HAKMEM_TINY_PREWARM_COUNT; // Default: 16 blocks per class
// Trigger refill to populate TLS cache