From: Chanyoung Park Date: Mon, 4 Aug 2025 07:13:24 +0000 (+0000) Subject: test/crimson/seastore/CMakeLists: tune ASan's UAR fake stack size X-Git-Tag: testing/wip-vshankar-testing-20250812.045652-debug~10^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=b9b83498ef80860835d1748a416f9cb409b2b6d6;p=ceph-ci.git test/crimson/seastore/CMakeLists: tune ASan's UAR fake stack size Avoids severe slowdowns with detect_stack_use_after_return=1. The root cause is unclear, but ASan's fake stack GC behavior is suspected. Tuning the UAR (Use-After-Return) fake stack size (reduced from 64KB–1MB to 64KB) helped delay the onset of the performance degradation. Fixes: https://tracker.ceph.com/issues/71704 Signed-off-by: Chanyoung Park --- diff --git a/src/test/crimson/seastore/CMakeLists.txt b/src/test/crimson/seastore/CMakeLists.txt index dcd10ce10dd..9c6dbb316b8 100644 --- a/src/test/crimson/seastore/CMakeLists.txt +++ b/src/test/crimson/seastore/CMakeLists.txt @@ -1,3 +1,10 @@ +# Fixes: https://tracker.ceph.com/issues/71704 +function(avoid_asan_uar_slowdown name) + set_tests_properties(${name} PROPERTIES + ENVIRONMENT_MODIFICATION + ASAN_OPTIONS=string_append::max_uar_stack_size_log=16) +endfunction() + if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM") # See https://tracker.ceph.com/issues/70254 add_executable(unittest-transaction-manager @@ -10,8 +17,9 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM") unittest-transaction-manager ${CMAKE_DL_LIBS} crimson-seastore) + avoid_asan_uar_slowdown(unittest-transaction-manager) - add_executable(unittest-omap-manager + add_executable(unittest-omap-manager test_omap_manager.cc ../gtest_seastar.cc) add_ceph_unittest(unittest-omap-manager @@ -20,6 +28,7 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM") unittest-omap-manager ${CMAKE_DL_LIBS} crimson-seastore) + avoid_asan_uar_slowdown(unittest-omap-manager) endif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM") add_executable(unittest-btree-lba-manager @@ -63,6 +72,7 @@ target_link_libraries( crimson-seastore crimson-os crimson-common) +avoid_asan_uar_slowdown(unittest-object-data-handler) add_executable(unittest-collection-manager test_collection_manager.cc @@ -87,6 +97,7 @@ target_link_libraries( ${CMAKE_DL_LIBS} crimson-seastore crimson-common) +avoid_asan_uar_slowdown(unittest-seastore) add_executable(unittest-seastore-randomblock-manager test_randomblock_manager.cc)