projects
/
c11concurrency-benchmarks.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
58cb6ff
)
update scripts
tsan11-docker
author
weiyu
<weiyuluo1232@gmail.com>
Wed, 16 Dec 2020 08:41:37 +0000
(
00:41
-0800)
committer
weiyu
<weiyuluo1232@gmail.com>
Wed, 16 Dec 2020 08:41:37 +0000
(
00:41
-0800)
cdschecker_modified_benchmarks/test_all.sh
patch
|
blob
|
history
mabain/examples/Makefile
patch
|
blob
|
history
mabain/examples/mb_multi_thread_insert_test.cpp
patch
|
blob
|
history
tsan11-missingbug/test.sh
patch
|
blob
|
history
tsan11-missingbug/test_all.sh
patch
|
blob
|
history
diff --git
a/cdschecker_modified_benchmarks/test_all.sh
b/cdschecker_modified_benchmarks/test_all.sh
index a7200ebe3d25bbe3613d33b810d865f9bf5ffedb..a22d70ed4f425a0253ec7481056a370988bf2b60 100755
(executable)
--- a/
cdschecker_modified_benchmarks/test_all.sh
+++ b/
cdschecker_modified_benchmarks/test_all.sh
@@
-4,6
+4,7
@@
set -u
# Paul: skip `spsc-queue` as it deadlocks.
# Paul: skip `spsc-queue` as it deadlocks.
+echo "** Test CDSChecker data structure benchmarks **"
for t in barrier chase-lev-deque dekker-fences linuxrwlocks mcs-lock mpmc-queue ms-queue; do
cd $t
echo -n "$t "
for t in barrier chase-lev-deque dekker-fences linuxrwlocks mcs-lock mpmc-queue ms-queue; do
cd $t
echo -n "$t "
diff --git
a/mabain/examples/Makefile
b/mabain/examples/Makefile
index e279ae384e895dfe037ae42b385487b9fb0ce0de..564e42d27d55ffc30a6150cf896de23d26a2452a 100644
(file)
--- a/
mabain/examples/Makefile
+++ b/
mabain/examples/Makefile
@@
-6,7
+6,7
@@
CPP=../../clang++
all: mb_insert_test mb_lookup_test mb_longest_prefix_test \
mb_remove_test mb_iterator_test mb_multi_proc_test \
all: mb_insert_test mb_lookup_test mb_longest_prefix_test \
mb_remove_test mb_iterator_test mb_multi_proc_test \
- mb_rc_test mb_multi_thread_insert_test mb_memory_only_test
+ mb_rc_test mb_multi_thread_insert_test mb_m
ulti_thread_insert_test_assert mb_m
emory_only_test
CFLAGS = -I. -I$(MABAIN_INSTALL_DIR)/include -Wall -Werror -g -O0 -c -std=c++11
LDFLAGS = -lpthread -lcrypto -L$(MABAIN_INSTALL_DIR) -lmabain
CFLAGS = -I. -I$(MABAIN_INSTALL_DIR)/include -Wall -Werror -g -O0 -c -std=c++11
LDFLAGS = -lpthread -lcrypto -L$(MABAIN_INSTALL_DIR) -lmabain
@@
-35,6
+35,9
@@
mb_rc_test: mb_rc_test.cpp
mb_multi_thread_insert_test: mb_multi_thread_insert_test.cpp
$(CPP) $(CFLAGS) mb_multi_thread_insert_test.cpp
$(CPP) mb_multi_thread_insert_test.o -o mb_multi_thread_insert_test $(LDFLAGS)
mb_multi_thread_insert_test: mb_multi_thread_insert_test.cpp
$(CPP) $(CFLAGS) mb_multi_thread_insert_test.cpp
$(CPP) mb_multi_thread_insert_test.o -o mb_multi_thread_insert_test $(LDFLAGS)
+mb_multi_thread_insert_test_assert: mb_multi_thread_insert_test.cpp
+ $(CPP) $(CFLAGS) -D ASSERT_TEST mb_multi_thread_insert_test.cpp
+ $(CPP) mb_multi_thread_insert_test.o -o mb_multi_thread_insert_test_assert $(LDFLAGS)
mb_memory_only_test: mb_memory_only_test.cpp
$(CPP) $(CFLAGS) mb_memory_only_test.cpp
$(CPP) mb_memory_only_test.o -o mb_memory_only_test $(LDFLAGS)
mb_memory_only_test: mb_memory_only_test.cpp
$(CPP) $(CFLAGS) mb_memory_only_test.cpp
$(CPP) mb_memory_only_test.o -o mb_memory_only_test $(LDFLAGS)
diff --git
a/mabain/examples/mb_multi_thread_insert_test.cpp
b/mabain/examples/mb_multi_thread_insert_test.cpp
index 0d790b99dbffa5ec8edca0063a6ba011152cb61e..62a18536b014ea19bca10d6d504e15a7307588f0 100644
(file)
--- a/
mabain/examples/mb_multi_thread_insert_test.cpp
+++ b/
mabain/examples/mb_multi_thread_insert_test.cpp
@@
-26,6
+26,8
@@
#include "test_key.h"
#include "test_key.h"
+//#define ASSERT_TEST
+
using namespace mabain;
static int max_key = 100000;
using namespace mabain;
static int max_key = 100000;
@@
-45,8
+47,11
@@
static void* insert_thread(void *arg)
curr_key = write_index.fetch_add(1, std::memory_order_release);
kv = mkey.get_key(curr_key);
if(curr_key < max_key) {
curr_key = write_index.fetch_add(1, std::memory_order_release);
kv = mkey.get_key(curr_key);
if(curr_key < max_key) {
- db_r->Add(kv, kv);
-// assert(db_r->Add(kv, kv) == MBError::SUCCESS);
+#ifdef ASSERT_TEST
+ assert(db_r->Add(kv, kv) == MBError::SUCCESS);
+#else
+ db_r->Add(kv, kv);
+#endif
} else {
stop_processing = true;
break;
} else {
stop_processing = true;
break;
@@
-80,9
+85,12
@@
static void Lookup()
for(int i = 0; i < max_key; i++) {
kv = mkey.get_key(i);
for(int i = 0; i < max_key; i++) {
kv = mkey.get_key(i);
- db_r->Find(kv, mbd);
-// assert(db_r->Find(kv, mbd) == MBError::SUCCESS);
-// assert(kv == std::string((const char *)mbd.buff, mbd.data_len));
+#ifdef ASSERT_TEST
+ assert(db_r->Find(kv, mbd) == MBError::SUCCESS);
+ assert(kv == std::string((const char *)mbd.buff, mbd.data_len));
+#else
+ db_r->Find(kv, mbd);
+#endif
}
db_r->Close();
delete db_r;
}
db_r->Close();
delete db_r;
diff --git
a/tsan11-missingbug/test.sh
b/tsan11-missingbug/test.sh
index 2bc4c746e3696c89e204146c88f09accb9773d9e..0e50dd5db5943b528eeb605f7234ff437ff91bf2 100755
(executable)
--- a/
tsan11-missingbug/test.sh
+++ b/
tsan11-missingbug/test.sh
@@
-25,4
+25,4
@@
done
AVG_ASSERT=$(echo "${COUNT_ASSERT} * 100 / ${TOTAL_RUN}" | bc -l | xargs printf "%.1f")
# -3 / log(1 - p) < n
AVG_ASSERT=$(echo "${COUNT_ASSERT} * 100 / ${TOTAL_RUN}" | bc -l | xargs printf "%.1f")
# -3 / log(1 - p) < n
-echo "Runs: $TOTAL_RUN | Assertions: $COUNT_ASSERT | Total time: ${COUNT_TIME}ms | Assert rate: ${AVG_ASSERT}%"
+echo "Runs: $TOTAL_RUN | Assertions: $COUNT_ASSERT | Total time: ${COUNT_TIME}ms | Assert
ion
rate: ${AVG_ASSERT}%"
diff --git
a/tsan11-missingbug/test_all.sh
b/tsan11-missingbug/test_all.sh
index 81633f79d2f77746403e15b03b724c14af5dc428..c390d470a30a1c1d410fee27350534330ce88675 100755
(executable)
--- a/
tsan11-missingbug/test_all.sh
+++ b/
tsan11-missingbug/test_all.sh
@@
-2,6
+2,7
@@
set -e
set -u
set -e
set -u
+echo "** Assertion test for broken data structures **"
for t in seqlock-test rwlock-test; do
echo -n "$t "
./test.sh ./$t
for t in seqlock-test rwlock-test; do
echo -n "$t "
./test.sh ./$t