summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZach Koopmans <zkoopmans@google.com>2019-08-20 15:05:17 -0700
committergVisor bot <gvisor-bot@google.com>2019-08-20 15:06:54 -0700
commit3d0715b3f8e7864104e9cbb29b16e6a6b7568d63 (patch)
tree2260b3c6dfcff7ec18901c7201740de89551ec15
parentcf8a689be7fdb539bb789ebd52ce19432776f16d (diff)
Fix flaky futex test.
The test is long running (175128 ms or so) which causes timeouts. The test simply makes sure that private futexes can acquire locks concurrently. Dropping current threads and increasing the number of locks each thread tests the same concurrency concerns but drops execution time to ~1411 ms. PiperOrigin-RevId: 264476144
-rw-r--r--test/syscalls/linux/futex.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/syscalls/linux/futex.cc b/test/syscalls/linux/futex.cc
index aacbb5e70..d2cbbdb49 100644
--- a/test/syscalls/linux/futex.cc
+++ b/test/syscalls/linux/futex.cc
@@ -689,10 +689,10 @@ TEST_P(PrivateAndSharedFutexTest, PITryLockConcurrency_NoRandomSave) {
std::atomic<int> a = ATOMIC_VAR_INIT(0);
const bool is_priv = IsPrivate();
- std::unique_ptr<ScopedThread> threads[100];
+ std::unique_ptr<ScopedThread> threads[10];
for (size_t i = 0; i < ABSL_ARRAYSIZE(threads); ++i) {
threads[i] = absl::make_unique<ScopedThread>([is_priv, &a] {
- for (size_t j = 0; j < 10;) {
+ for (size_t j = 0; j < 100;) {
if (futex_trylock_pi(is_priv, &a) >= 0) {
++j;
EXPECT_EQ(a.load() & FUTEX_TID_MASK, gettid());