diff --git a/core/hakmem_tiny_refill.inc.h b/core/hakmem_tiny_refill.inc.h index 12464eed..a9d0c39a 100644 --- a/core/hakmem_tiny_refill.inc.h +++ b/core/hakmem_tiny_refill.inc.h @@ -274,15 +274,9 @@ int sll_refill_small_from_ss(int class_idx, int max_take) return 0; } - bool tls_uninitialized = - (tls->ss == NULL) && - (tls->meta == NULL) && - (tls->slab_base == NULL); - - if (tls_uninitialized) { - // 初回は、呼び出し元の上位ロジックが superslab_refill を呼ぶことを期待し、ここでは何もしない。 - return 0; - } + // FIX: TLS未初期化時も superslab_refill() で初期化する(早期リターン削除) + // 以前は tls_uninitialized の場合に return 0 していたが、これだと + // TLS SLL が永遠に空のままになり、Larson ベンチで 70x slowdown が発生していた。 // Ensure we have a valid TLS slab for this class via shared pool. // superslab_refill() 契約: