feat: Add ACE allocation failure tracing and debug hooks
This commit introduces a comprehensive tracing mechanism for allocation failures within the Adaptive Cache Engine (ACE) component. This feature allows for precise identification of the root cause for Out-Of-Memory (OOM) issues related to ACE allocations. Key changes include: - **ACE Tracing Implementation**: - Added environment variable to enable/disable detailed logging of allocation failures. - Instrumented , , and to distinguish between "Threshold" (size class mismatch), "Exhaustion" (pool depletion), and "MapFail" (OS memory allocation failure). - **Build System Fixes**: - Corrected to ensure is properly linked into , resolving an error. - **LD_PRELOAD Wrapper Adjustments**: - Investigated and understood the wrapper's behavior under , particularly its interaction with and checks. - Enabled debugging flags for environment to prevent unintended fallbacks to 's for non-tiny allocations, allowing comprehensive testing of the allocator. - **Debugging & Verification**: - Introduced temporary verbose logging to pinpoint execution flow issues within interception and routing. These temporary logs have been removed. - Created to facilitate testing of the tracing features. This feature will significantly aid in diagnosing and resolving allocation-related OOM issues in by providing clear insights into the failure pathways.
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
hakmem_shared_pool.o: core/hakmem_shared_pool.c core/hakmem_shared_pool.h \
|
||||
hakmem_shared_pool.o: core/hakmem_shared_pool.c \
|
||||
core/hakmem_shared_pool_internal.h core/hakmem_shared_pool.h \
|
||||
core/superslab/superslab_types.h core/hakmem_tiny_superslab_constants.h \
|
||||
core/hakmem_tiny_superslab.h core/superslab/superslab_inline.h \
|
||||
core/superslab/superslab_types.h core/superslab/../tiny_box_geometry.h \
|
||||
@ -12,19 +13,26 @@ hakmem_shared_pool.o: core/hakmem_shared_pool.c core/hakmem_shared_pool.h \
|
||||
core/tiny_nextptr.h core/tiny_region_id.h core/tiny_box_geometry.h \
|
||||
core/ptr_track.h core/hakmem_super_registry.h core/box/ss_addr_map_box.h \
|
||||
core/box/../hakmem_build_flags.h core/hakmem_tiny.h core/hakmem_trace.h \
|
||||
core/hakmem_tiny_mini_mag.h core/tiny_debug_api.h \
|
||||
core/box/ss_hot_cold_box.h core/box/pagefault_telemetry_box.h \
|
||||
core/box/tls_sll_drain_box.h core/box/tls_sll_box.h \
|
||||
core/box/../hakmem_tiny_config.h core/box/../hakmem_debug_master.h \
|
||||
core/box/../tiny_remote.h core/box/../tiny_region_id.h \
|
||||
core/box/../hakmem_tiny_integrity.h core/box/../hakmem_tiny.h \
|
||||
core/box/../ptr_track.h core/box/../ptr_trace.h \
|
||||
core/box/../tiny_debug_ring.h core/box/../superslab/superslab_inline.h \
|
||||
core/box/tiny_header_box.h core/box/../tiny_nextptr.h \
|
||||
core/box/slab_recycling_box.h core/box/../hakmem_tiny_superslab.h \
|
||||
core/box/ss_hot_cold_box.h core/box/free_local_box.h \
|
||||
core/hakmem_tiny_superslab.h core/box/tls_slab_reuse_guard_box.h \
|
||||
core/hakmem_tiny_mini_mag.h core/box/ptr_type_box.h \
|
||||
core/tiny_debug_api.h core/box/ss_hot_cold_box.h \
|
||||
core/box/pagefault_telemetry_box.h core/box/tls_sll_drain_box.h \
|
||||
core/box/tls_sll_box.h core/box/../hakmem_internal.h \
|
||||
core/box/../hakmem.h core/box/../hakmem_build_flags.h \
|
||||
core/box/../hakmem_config.h core/box/../hakmem_features.h \
|
||||
core/box/../hakmem_sys.h core/box/../hakmem_whale.h \
|
||||
core/box/../box/ptr_type_box.h core/box/../hakmem_tiny_config.h \
|
||||
core/box/../hakmem_debug_master.h core/box/../tiny_remote.h \
|
||||
core/box/../tiny_region_id.h core/box/../hakmem_tiny_integrity.h \
|
||||
core/box/../hakmem_tiny.h core/box/../ptr_track.h \
|
||||
core/box/../ptr_trace.h core/box/../tiny_debug_ring.h \
|
||||
core/box/../superslab/superslab_inline.h core/box/tiny_header_box.h \
|
||||
core/box/../tiny_nextptr.h core/box/slab_recycling_box.h \
|
||||
core/box/../hakmem_tiny_superslab.h core/box/ss_hot_cold_box.h \
|
||||
core/box/free_local_box.h core/hakmem_tiny_superslab.h \
|
||||
core/box/ptr_type_box.h core/box/free_publish_box.h core/hakmem_tiny.h \
|
||||
core/tiny_region_id.h core/box/tls_slab_reuse_guard_box.h \
|
||||
core/hakmem_policy.h
|
||||
core/hakmem_shared_pool_internal.h:
|
||||
core/hakmem_shared_pool.h:
|
||||
core/superslab/superslab_types.h:
|
||||
core/hakmem_tiny_superslab_constants.h:
|
||||
@ -55,11 +63,20 @@ core/box/../hakmem_build_flags.h:
|
||||
core/hakmem_tiny.h:
|
||||
core/hakmem_trace.h:
|
||||
core/hakmem_tiny_mini_mag.h:
|
||||
core/box/ptr_type_box.h:
|
||||
core/tiny_debug_api.h:
|
||||
core/box/ss_hot_cold_box.h:
|
||||
core/box/pagefault_telemetry_box.h:
|
||||
core/box/tls_sll_drain_box.h:
|
||||
core/box/tls_sll_box.h:
|
||||
core/box/../hakmem_internal.h:
|
||||
core/box/../hakmem.h:
|
||||
core/box/../hakmem_build_flags.h:
|
||||
core/box/../hakmem_config.h:
|
||||
core/box/../hakmem_features.h:
|
||||
core/box/../hakmem_sys.h:
|
||||
core/box/../hakmem_whale.h:
|
||||
core/box/../box/ptr_type_box.h:
|
||||
core/box/../hakmem_tiny_config.h:
|
||||
core/box/../hakmem_debug_master.h:
|
||||
core/box/../tiny_remote.h:
|
||||
@ -77,5 +94,9 @@ core/box/../hakmem_tiny_superslab.h:
|
||||
core/box/ss_hot_cold_box.h:
|
||||
core/box/free_local_box.h:
|
||||
core/hakmem_tiny_superslab.h:
|
||||
core/box/ptr_type_box.h:
|
||||
core/box/free_publish_box.h:
|
||||
core/hakmem_tiny.h:
|
||||
core/tiny_region_id.h:
|
||||
core/box/tls_slab_reuse_guard_box.h:
|
||||
core/hakmem_policy.h:
|
||||
|
||||
Reference in New Issue
Block a user