Skip to content

Commit b9b8349

Browse files
committed
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 <[email protected]>
1 parent 98e4f86 commit b9b8349

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/test/crimson/seastore/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# Fixes: https://tracker.ceph.com/issues/71704
2+
function(avoid_asan_uar_slowdown name)
3+
set_tests_properties(${name} PROPERTIES
4+
ENVIRONMENT_MODIFICATION
5+
ASAN_OPTIONS=string_append::max_uar_stack_size_log=16)
6+
endfunction()
7+
18
if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
29
# See https://tracker.ceph.com/issues/70254
310
add_executable(unittest-transaction-manager
@@ -10,8 +17,9 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
1017
unittest-transaction-manager
1118
${CMAKE_DL_LIBS}
1219
crimson-seastore)
20+
avoid_asan_uar_slowdown(unittest-transaction-manager)
1321

14-
add_executable(unittest-omap-manager
22+
add_executable(unittest-omap-manager
1523
test_omap_manager.cc
1624
../gtest_seastar.cc)
1725
add_ceph_unittest(unittest-omap-manager
@@ -20,6 +28,7 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
2028
unittest-omap-manager
2129
${CMAKE_DL_LIBS}
2230
crimson-seastore)
31+
avoid_asan_uar_slowdown(unittest-omap-manager)
2332
endif(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
2433

2534
add_executable(unittest-btree-lba-manager
@@ -63,6 +72,7 @@ target_link_libraries(
6372
crimson-seastore
6473
crimson-os
6574
crimson-common)
75+
avoid_asan_uar_slowdown(unittest-object-data-handler)
6676

6777
add_executable(unittest-collection-manager
6878
test_collection_manager.cc
@@ -87,6 +97,7 @@ target_link_libraries(
8797
${CMAKE_DL_LIBS}
8898
crimson-seastore
8999
crimson-common)
100+
avoid_asan_uar_slowdown(unittest-seastore)
90101

91102
add_executable(unittest-seastore-randomblock-manager
92103
test_randomblock_manager.cc)

0 commit comments

Comments
 (0)