[compiler-rt] 10939d1 - [GWP-ASan] Remove thread clamping in tests.

Mitch Phillips via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 2 15:40:17 PST 2023


Author: Mitch Phillips
Date: 2023-02-02T15:40:07-08:00
New Revision: 10939d1d580b9d3c9c2f3539c6bdb39f408179c0

URL: https://github.com/llvm/llvm-project/commit/10939d1d580b9d3c9c2f3539c6bdb39f408179c0
DIFF: https://github.com/llvm/llvm-project/commit/10939d1d580b9d3c9c2f3539c6bdb39f408179c0.diff

LOG: [GWP-ASan] Remove thread clamping in tests.

It's better and easier for us to just have threads contend against each
other in the tests if it's more than the maximum supported number of
hardware threads available.

Specifically, the recoverable test fails on Android because the
GTEST_SKIP in a called function, and it only properly works from the
TEST_* harness function. Android tests run on cuttlefish, which can be a
single core with two hyperthreads.

Reviewed By: fmayer

Differential Revision: https://reviews.llvm.org/D143221

Added: 
    

Modified: 
    compiler-rt/lib/gwp_asan/tests/recoverable.cpp
    compiler-rt/lib/gwp_asan/tests/thread_contention.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/gwp_asan/tests/recoverable.cpp b/compiler-rt/lib/gwp_asan/tests/recoverable.cpp
index a4c5c3f59616b..adc9731e98c25 100644
--- a/compiler-rt/lib/gwp_asan/tests/recoverable.cpp
+++ b/compiler-rt/lib/gwp_asan/tests/recoverable.cpp
@@ -182,9 +182,6 @@ void runInterThreadThrashingSingleAlloc(unsigned NumIterations,
   std::atomic<bool> StartingGun{false};
   std::vector<std::thread> Threads;
   constexpr unsigned kNumThreads = 4;
-  if (std::thread::hardware_concurrency() < kNumThreads) {
-    GTEST_SKIP() << "Not enough threads to run this test";
-  }
 
   char *Ptr = static_cast<char *>(AllocateMemory(*GPA));
 

diff  --git a/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp b/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
index 0992b97b316fa..26ccd8e605066 100644
--- a/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
+++ b/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
@@ -44,12 +44,8 @@ void asyncTask(gwp_asan::GuardedPoolAllocator *GPA,
 
 void runThreadContentionTest(unsigned NumThreads, unsigned NumIterations,
                              gwp_asan::GuardedPoolAllocator *GPA) {
-
   std::atomic<bool> StartingGun{false};
   std::vector<std::thread> Threads;
-  if (std::thread::hardware_concurrency() < NumThreads) {
-    NumThreads = std::thread::hardware_concurrency();
-  }
 
   for (unsigned i = 0; i < NumThreads; ++i) {
     Threads.emplace_back(asyncTask, GPA, &StartingGun, NumIterations);


        


More information about the llvm-commits mailing list