Phase POOL-MID-DN-BATCH Step 1: ENV gate for deferred inuse_dec

This commit is contained in:
Moe Charm (CI)
2025-12-12 22:59:45 +09:00
parent 506d8f2e5e
commit f5f03ef68c

View File

@ -0,0 +1,25 @@
// pool_mid_inuse_deferred_env_box.h — Box: Deferred inuse_dec ENV gate
// HAKMEM_POOL_MID_INUSE_DEFERRED=1 (default 0)
//
// Purpose: ENV-based runtime toggle for deferred inuse_dec optimization
// Pattern: Static cached ENV check with __builtin_expect
// Phase: POOL-MID-DN-BATCH Step 1
#ifndef POOL_MID_INUSE_DEFERRED_ENV_BOX_H
#define POOL_MID_INUSE_DEFERRED_ENV_BOX_H
#include <stdlib.h>
// Check if deferred inuse_dec is enabled via ENV
// Default: 0 (disabled) for safety
// Set HAKMEM_POOL_MID_INUSE_DEFERRED=1 to enable
static inline int hak_pool_mid_inuse_deferred_enabled(void) {
static int g = -1;
if (__builtin_expect(g == -1, 0)) {
const char* e = getenv("HAKMEM_POOL_MID_INUSE_DEFERRED");
g = (e && *e == '1') ? 1 : 0;
}
return g;
}
#endif // POOL_MID_INUSE_DEFERRED_ENV_BOX_H