--- a/core/hakmem_tiny_refill_p0.inc.h +++ b/core/hakmem_tiny_refill_p0.inc.h @@ TinyRefillChain chain; uint32_t from_freelist = trc_pop_from_freelist(meta, want, &chain); if (from_freelist > 0) { trc_splice_to_sll(class_idx, &chain, &g_tls_sll_head[class_idx], &g_tls_sll_count[class_idx]); // FIX: Blocks from freelist were decremented when freed, must increment when allocated ss_active_add(tls->ss, from_freelist); extern unsigned long long g_rf_freelist_items[]; g_rf_freelist_items[class_idx] += from_freelist; total_taken += from_freelist; want -= from_freelist; if (want == 0) break; }