From 3df53b6f49af6dcdfe87ed6e16aa86b083df6ef6 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Wed, 14 Feb 2018 17:06:40 -0800 Subject: [PATCH 1/1] Refactors test cases --- test/stress/misc/deque_driver.cpp | 4 ++-- test/stress/misc/spinlock_driver.cpp | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/test/stress/misc/deque_driver.cpp b/test/stress/misc/deque_driver.cpp index 7d933ad3..e7d78969 100644 --- a/test/stress/misc/deque_driver.cpp +++ b/test/stress/misc/deque_driver.cpp @@ -31,7 +31,7 @@ protected: } static void StealerThread(int index) { - while (!terminate_stealer.load(memory_order_relaxed)) { + while (!terminate_stealer.load(memory_order_acquire)) { while (true) { int res = deque->steal(); if (res != EMPTY && res != ABORT) { @@ -97,7 +97,7 @@ TEST_F(ChaseLevDequeTest, DequePushPopTake) { MainThread(s_nDequeStealerThreadCount, i); } - terminate_stealer.store(1, memory_order_relaxed); + terminate_stealer.store(1, memory_order_release); for (ullong i = 0; i < s_nDequeStealerThreadCount; i++) { threads[i].join(); } diff --git a/test/stress/misc/spinlock_driver.cpp b/test/stress/misc/spinlock_driver.cpp index 4a8eb35b..6bccc117 100644 --- a/test/stress/misc/spinlock_driver.cpp +++ b/test/stress/misc/spinlock_driver.cpp @@ -20,6 +20,7 @@ typedef cds::sync::reentrant_spin32 Reentrant32; typedef cds::sync::reentrant_spin64 Reentrant64; static size_t s_nSpinLockThreadCount = 4; static size_t s_nSpinLockPassCount = 2500000000; +static size_t s_nReentrantLockPassCount = 2500000000; static size_t s_nTicketLockPassCount = 4000000; #define TASK(lock_type, lock_ptr, pass_cnt) \ @@ -64,13 +65,14 @@ protected: cds_test::config const &cfg = get_config("Misc"); GetConfig(SpinLockThreadCount); GetConfig(SpinLockPassCount); + GetConfig(ReentrantLockPassCount); GetConfig(TicketLockPassCount); } TASK(TicketLock, ticket_mutex, s_nTicketLockPassCount) TASK(SpinLock, spin_mutex, s_nSpinLockPassCount) - TASK(Reentrant32, reentrant_mutex32, s_nSpinLockPassCount) - TASK(Reentrant64, reentrant_mutex64, s_nSpinLockPassCount) + TASK(Reentrant32, reentrant_mutex32, s_nReentrantLockPassCount) + TASK(Reentrant64, reentrant_mutex64, s_nReentrantLockPassCount) }; size_t SpinLockTest::x; @@ -81,7 +83,7 @@ Reentrant64 *SpinLockTest::reentrant_mutex64; LOCK_TEST(TicketLock, ticket_mutex, s_nTicketLockPassCount) LOCK_TEST(SpinLock, spin_mutex, s_nSpinLockPassCount) -LOCK_TEST(Reentrant32, reentrant_mutex32, s_nSpinLockPassCount) -LOCK_TEST(Reentrant64, reentrant_mutex64, s_nSpinLockPassCount) +LOCK_TEST(Reentrant32, reentrant_mutex32, s_nReentrantLockPassCount) +LOCK_TEST(Reentrant64, reentrant_mutex64, s_nReentrantLockPassCount) } // namespace -- 2.34.1