Guard madvise ENOMEM and stabilize pool/tiny front v3
This commit is contained in:
@ -4,6 +4,7 @@
|
||||
|
||||
#include "pagefault_telemetry_box.h" // Box PageFaultTelemetry (PF_BUCKET_MID)
|
||||
#include "box/pool_hotbox_v2_box.h"
|
||||
#include "box/tiny_heap_env_box.h" // TinyHeap profile (C7_SAFE では flatten を無効化)
|
||||
|
||||
// Pool v2 is experimental. Default OFF (use legacy v1 path).
|
||||
static inline int hak_pool_v2_enabled(void) {
|
||||
@ -40,6 +41,12 @@ static inline int hak_pool_v2_tls_fast_enabled(void) {
|
||||
static inline int hak_pool_v1_flatten_enabled(void) {
|
||||
static int g = -1;
|
||||
if (__builtin_expect(g == -1, 0)) {
|
||||
// C7_SAFE/C7_ULTRA_BENCH プロファイルでは、安全側で強制 OFF
|
||||
int mode = tiny_heap_profile_mode();
|
||||
if (mode == TINY_HEAP_PROFILE_C7_SAFE || mode == TINY_HEAP_PROFILE_C7_ULTRA_BENCH) {
|
||||
g = 0;
|
||||
return g;
|
||||
}
|
||||
const char* e = getenv("HAKMEM_POOL_V1_FLATTEN_ENABLED");
|
||||
g = (e && *e && *e != '0') ? 1 : 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user