tests/unit/test_urcu_multiflavor_single_unit_dynlink_cxx
tests/utils/libtap.a
+tests/utils/env.sh
tests/regression/rcutorture_urcu_bp
tests/regression/rcutorture_urcu_bp_cxx
tests/regression/rcutorture_urcu_signal_cxx
tests/regression/test_urcu_fork_cxx.tap
tests/regression/test_urcu_fork.tap
-tests/regression/rcutorture*.tap
tests/benchmark/test_rwlock_timing
tests/benchmark/test_urcu
AC_PROG_MAKE_SET
AC_CHECK_PROGS(NPROC, [nproc gnproc])
AC_CHECK_PROGS(GETCONF, [getconf])
-AS_IF([test "x$NPROC" != "x"],
- [NPROC_CMD=$NPROC],
- [AS_IF([test "x$GETCONF" != "x"],
- [NPROC_CMD="$GETCONF _NPROCESSORS_ONLN"],
- [NPROC_CMD="echo 1"]
- )]
-)
-AC_SUBST([NPROC_CMD], [$NPROC_CMD])
+AC_CHECK_PROGS(TIME, [time])
# Initialize and configure libtool
LT_INIT
src/liburcu-signal.pc
])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_perf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_perf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_rperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_rperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_stress_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_stress_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_bp_uperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_bp_uperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_perf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_perf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_rperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_rperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_stress_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_stress_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_mb_uperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_mb_uperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_perf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_perf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_rperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_rperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_stress_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_stress_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_membarrier_uperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_membarrier_uperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_perf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_perf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_rperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_rperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_stress_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_stress_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_qsbr_uperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_qsbr_uperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_perf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_perf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_rperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_rperf_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_stress_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_stress_perthread_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_global.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_global.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_global_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_global_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_percpu.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_percpu.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_percpu_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_percpu_cxx.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_perthread.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_perthread.tap])
-AC_CONFIG_FILES([tests/regression/rcutorture_urcu_signal_uperf_perthread_cxx.tap], [chmod +x tests/regression/rcutorture_urcu_signal_uperf_perthread_cxx.tap])
+AC_CONFIG_FILES([tests/utils/env.sh],[chmod +x tests/utils/env.sh])
AC_OUTPUT
TEST_EXTENSIONS = .tap
TAP_LOG_DRIVER_FLAGS = --merge --comments
-TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
- $(top_srcdir)/tests/utils/tap-driver.sh
+TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' \
+ URCU_TESTS_SRCDIR='$(abs_top_srcdir)/tests' \
+ URCU_TESTS_BUILDDIR='$(abs_top_builddir)/tests' \
+ $(SHELL) $(top_srcdir)/tests/utils/tap-driver.sh
-SCRIPT_LIST = common.sh \
- run-urcu-tests.sh \
- runhash.sh \
- runtests.sh \
+SCRIPT_LIST = \
runpaul-phase1.sh \
runpaul-phase2.sh \
runpaul-phase3.sh \
runpaul-phase5.sh \
runpaul-phase6.sh \
runpaul-phase7.sh \
- runtests-batch.sh \
subphase4.sh
-dist_noinst_SCRIPTS = $(SCRIPT_LIST)
+dist_noinst_SCRIPTS = \
+ runhash.sh \
+ runtests-batch.sh \
+ runtests.sh \
+ run-urcu-tests.sh \
+ $(SCRIPT_LIST)
dist_noinst_DATA = \
hashtable_1_seconds.tap \
all-local:
@if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST) $(TEST_LIST); do \
+ for script in $(SCRIPT_LIST); do \
cp -f $(srcdir)/$$script $(builddir); \
done; \
fi
clean-local:
@if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST) $(TEST_LIST); do \
+ for script in $(SCRIPT_LIST); do \
rm -f $(builddir)/$$script; \
done; \
fi
+++ /dev/null
-#
-# This file is meant to be sourced from other tests scripts.
-#
-
-cleanup() {
- if [ x"$TMPFILE" != "x" ]; then
- rm -f "$TMPFILE"
- fi
-
- # Call the tap.sh exit cleanup code
- _exit
-}
-
-xseq() {
- i=$1
- while [[ "$i" -le "$2" ]]; do
- echo "$i"
- i=$(( i + 1 ))
- done
-}
-
-# Set TEST_TIME_BIN
-if [ -x "$URCU_TEST_TIME_BIN" ]; then
- TEST_TIME_BIN="$URCU_TEST_TIME_BIN"
-elif [ -x "/usr/bin/time" ]; then
- TEST_TIME_BIN="/usr/bin/time"
-else
- TEST_TIME_BIN=""
-fi
-export TEST_TIME_BIN
-
-# Create a temporary file for tests output
-TMPFILE=$(mktemp)
-
-# Set traps to delete the temporary file on exit
-trap cleanup EXIT
-./runhash.sh 1
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/runhash.sh" 1
-./runhash.sh 30
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/runhash.sh" 30
-./runhash.sh 3
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/runhash.sh" 3
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# Enable TAP
+SH_TAP=1
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
-#first parameter: seconds per test
+
+# First parameter: seconds per test
DURATION=$1
if [ "x${DURATION}" = "x" ]; then
exit 1
fi
-. ../utils/tap.sh
-. ./common.sh
-
-NUM_CPUS="1"
-for i in nproc gnproc; do
- NUM_CPUS=$($i 2>/dev/null)
- if [ "$?" -eq "0" ]; then
- break
- else
- NUM_CPUS="1"
- fi
-done
+# Create a temporary file for tests output
+TMPFILE=$(mktemp)
+
+# Set trap to delete the temporary file on exit and call tap.sh '_exit'
+trap 'rm -f "$TMPFILE"; _exit' EXIT
-#set to number of active CPUS
+# Set to number of active CPUS
+NUM_CPUS="$(urcu_nproc)"
if [[ ${NUM_CPUS} -lt 4 ]]; then
NUM_CPUS=4 # Floor at 4 due to following assumptions.
fi
#x: vary update fraction from 0 to 0.0001
#fix number of readers and reader C.S. length, vary delay between updates
#y: ops/s
+EXTRA_OPTS=""
diag "Executing batch RCU test"
for BATCH_SIZE in ${BATCH_ARRAY}; do
for TEST in ${BATCH_TEST_ARRAY}; do
- okx ${TEST_TIME_BIN} ./"${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
+ okx ${URCU_TESTS_TIME_BIN} "${URCU_TESTS_BUILDDIR}/benchmark/${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
-d 0 -b "${BATCH_SIZE}" ${EXTRA_OPTS} 2>"${TMPFILE}"
- while read line; do
+ while read -r line; do
echo "## $line"
done <"${TMPFILE}"
done
for WDELAY in ${WDELAY_ARRAY}; do
for TEST in ${TEST_ARRAY}; do
- okx ${TEST_TIME_BIN} ./"${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
+ okx ${URCU_TESTS_TIME_BIN} "${URCU_TESTS_BUILDDIR}/benchmark/${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
-d "${WDELAY}" ${EXTRA_OPTS} 2>"${TMPFILE}"
- while read line; do
+ while read -r line; do
echo "## $line"
done <"${TMPFILE}"
done
NR_WRITERS=0
-for NR_READERS in $(xseq 1 ${NUM_CPUS}); do
+for NR_READERS in $(urcu_xseq 1 ${NUM_CPUS}); do
for TEST in ${TEST_ARRAY}; do
- okx ${TEST_TIME_BIN} ./"${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
+ okx ${URCU_TESTS_TIME_BIN} "${URCU_TESTS_BUILDDIR}/benchmark/${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
${EXTRA_OPTS} 2>"${TMPFILE}"
- while read line; do
+ while read -r line; do
echo "## $line"
done <"${TMPFILE}"
done
for READERCSLEN in ${READERCSLEN_ARRAY}; do
for TEST in ${TEST_ARRAY}; do
- okx ${TEST_TIME_BIN} ./"${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
+ okx ${URCU_TESTS_TIME_BIN} "${URCU_TESTS_BUILDDIR}/benchmark/${TEST}" "${NR_READERS}" "${NR_WRITERS}" "${DURATION}" \
-c "${READERCSLEN}" ${EXTRA_OPTS} 2>"${TMPFILE}"
- while read line; do
+ while read -r line; do
echo "## $line"
done <"${TMPFILE}"
done
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# Enable TAP
+SH_TAP=1
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
# 1st parameter: seconds per test
DURATION=$1
exit 1
fi
-source ../utils/tap.sh
-
NUM_TESTS=17
plan_tests ${NUM_TESTS}
# add/remove/random
# - validate that "nr_leaked" is always 0 in SUMMARY for all tests
-TESTPROG=./test_urcu_hash
-
-NUM_CPUS="1"
-for i in nproc gnproc; do
- NUM_CPUS=$($i 2>/dev/null)
- if [ "$?" -eq "0" ]; then
- break
- else
- NUM_CPUS="1"
- fi
-done
+TESTPROG="${URCU_TESTS_BUILDDIR}/benchmark/test_urcu_hash"
#thread multiplier: number of processors divided by 4.
+NUM_CPUS="$(urcu_nproc)"
if [[ ${NUM_CPUS} -lt 4 ]]; then
NUM_CPUS=4 # Floor at 4 due to following assumptions.
fi
# rw test, single key, replace and del randomly, 4 threads, auto resize.
# key range: init, lookup, and update: 0 to 0
-okx ${TESTPROG} 0 $((4*THREAD_MUL)) "${DURATION}" -A -s -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
+okx "${TESTPROG}" 0 $((4*THREAD_MUL)) "${DURATION}" -A -s -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
# rw test, single key, add unique and del randomly, 4 threads, auto resize.
# key range: init, lookup, and update: 0 to 0
-okx ${TESTPROG} 0 $((4*THREAD_MUL)) "${DURATION}" -A -u -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
+okx "${TESTPROG}" 0 $((4*THREAD_MUL)) "${DURATION}" -A -u -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
# rw test, single key, replace and del randomly, 2 lookup threads, 2 update threads, auto resize.
# key range: init, lookup, and update: 0 to 0
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -s -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -s -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
# rw test, single key, add and del randomly, 2 lookup threads, 2 update threads, auto resize.
# key range: init, lookup, and update: 0 to 0
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -M 1 -N 1 -O 1 ${EXTRA_PARAMS}
# ** test updates vs lookups with default table
# rw test, 2 lookup, 2 update threads, add and del randomly, auto resize.
# max 1048576 buckets
# key range: init, lookup, and update: 0 to 999999
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A ${EXTRA_PARAMS}
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add_replace and del randomly, auto resize.
# max 1048576 buckets
# key range: init, lookup, and update: 0 to 999999
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -s ${EXTRA_PARAMS}
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -s ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add_unique and del randomly, auto resize.
# max 1048576 buckets
# key range: init, lookup, and update: 0 to 999999
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -u ${EXTRA_PARAMS}
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -u ${EXTRA_PARAMS}
# test memory management backends
# max buckets: 1048576
# key range: init, lookup, and update: 0 to 99999999
# mm backend: "order"
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
-M 100000000 -N 100000000 -O 100000000 -B order ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add only, auto resize.
# max buckets: 1048576
# key range: init, lookup, and update: 0 to 99999999
# mm backend: "chunk"
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
-M 100000000 -N 100000000 -O 100000000 -B chunk ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add only, auto resize.
# max buckets: 1048576
# key range: init, lookup, and update: 0 to 99999999
# mm backend: "mmap"
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A -m 1 -n 1048576 -i \
-M 100000000 -N 100000000 -O 100000000 -B mmap ${EXTRA_PARAMS}
# key range: lookup: 1000000 to 1999999
# NOTE: reader threads in this test should never have a successful
# lookup. TODO
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-R 1000000 ${EXTRA_PARAMS}
# ** small key range
# rw test, 2 lookup, 2 update threads, add and del randomly, auto resize.
# max 1048576 buckets
# key range: init, update, and lookups: 0 to 9
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-M 10 -N 10 -O 10 ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add_unique and del randomly, auto resize.
# max 1048576 buckets
# key range: init, update, and lookups: 0 to 9
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-M 10 -N 10 -O 10 -u ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add_replace and del randomly, auto resize.
# max 1048576 buckets
# key range: init, update, and lookups: 0 to 9
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-M 10 -N 10 -O 10 -s ${EXTRA_PARAMS}
# ** lookup for known keys
# key range: updates: 10 to 19
# NOTE: reader threads in this test should always have successful
# lookups. TODO
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-M 10 -N 10 -O 10 -R 0 -T 0 -S 10 -k 10 -s ${EXTRA_PARAMS}
# ** Uniqueness test
# max 1048576 buckets
# asserts that no duplicates are observed by reader threads
# standard length hash chains
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-U ${EXTRA_PARAMS}
# rw test, 2 lookup, 2 update threads, add_unique, add_replace and del randomly, auto resize.
# max 1048576 buckets
# asserts that no duplicates are observed by reader threads
# create long hash chains: using modulo 4 on keys as hash
-okx ${TESTPROG} $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
+okx "${TESTPROG}" $((2*THREAD_MUL)) $((2*THREAD_MUL)) "${DURATION}" -A \
-U -C 4 ${EXTRA_PARAMS}
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# Enable TAP
+SH_TAP=1
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+# Create a temporary file for tests output
+TMPFILE=$(mktemp)
+
+# Set trap to delete the temporary file on exit and call tap.sh '_exit'
+trap 'rm -f "$TMPFILE"; _exit' EXIT
-. ../utils/tap.sh
-. ./common.sh
NUM_TESTS=1
#for a in test_urcu_gc test_urcu_gc_mb test_urcu_qsbr_gc; do
for a in test_urcu_gc; do
- okx "${TEST_TIME_BIN}" ./"${a}" "$@" 2>"${TMPFILE}"
+ okx "${URCU_TESTS_TIME_BIN}" "${URCU_TESTS_BUILDDIR}/benchmark/${a}" "$@" 2>"${TMPFILE}"
diag "time: $(cat "${TMPFILE}")"
done
#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# Enable TAP
+SH_TAP=1
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+# Create a temporary file for tests output
+TMPFILE=$(mktemp)
+
+# Set trap to delete the temporary file on exit and call tap.sh '_exit'
+trap 'rm -f "$TMPFILE"; _exit' EXIT
-. ../utils/tap.sh
-. ./common.sh
NUM_TESTS=15
test_urcu_lgc test_urcu_signal_lgc test_urcu_mb_lgc test_urcu_qsbr_lgc \
test_urcu test_urcu_signal test_urcu_mb test_urcu_qsbr \
test_rwlock test_perthreadlock test_mutex; do
- okx ${TEST_TIME_BIN} ./"${a}" "$@" 2>"${TMPFILE}"
+ okx ${URCU_TESTS_TIME_BIN} "$URCU_TESTS_BUILDDIR/benchmark/${a}" "$@" 2>"${TMPFILE}"
diag "time: $(cat "${TMPFILE}")"
done
-./run-urcu-tests.sh 1
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/run-urcu-tests.sh" 1
-./run-urcu-tests.sh 30
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/run-urcu-tests.sh" 30
-./run-urcu-tests.sh 3
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"$URCU_TESTS_SRCDIR/benchmark/run-urcu-tests.sh" 3
TEST_EXTENSIONS = .tap
TAP_LOG_DRIVER_FLAGS = --merge --comments
-TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
- $(top_srcdir)/tests/utils/tap-driver.sh
+TAP_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' \
+ URCU_TESTS_SRCDIR='$(abs_top_srcdir)/tests' \
+ URCU_TESTS_BUILDDIR='$(abs_top_builddir)/tests' \
+ $(SHELL) $(top_srcdir)/tests/utils/tap-driver.sh
noinst_PROGRAMS = \
test_urcu_fork.tap \
urcutorture.c: ../common/api.h
+dist_check_SCRIPTS = \
+ test_rcutorture_urcu_bp_perf_global.tap \
+ test_rcutorture_urcu_bp_perf_global_cxx.tap \
+ test_rcutorture_urcu_bp_perf_percpu.tap \
+ test_rcutorture_urcu_bp_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_perf_perthread.tap \
+ test_rcutorture_urcu_bp_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_global.tap \
+ test_rcutorture_urcu_bp_rperf_global_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_percpu.tap \
+ test_rcutorture_urcu_bp_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_perthread.tap \
+ test_rcutorture_urcu_bp_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_stress_global.tap \
+ test_rcutorture_urcu_bp_stress_global_cxx.tap \
+ test_rcutorture_urcu_bp_stress_percpu.tap \
+ test_rcutorture_urcu_bp_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_stress_perthread.tap \
+ test_rcutorture_urcu_bp_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_global.tap \
+ test_rcutorture_urcu_bp_uperf_global_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_percpu.tap \
+ test_rcutorture_urcu_bp_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_perthread.tap \
+ test_rcutorture_urcu_bp_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_perf_global.tap \
+ test_rcutorture_urcu_mb_perf_global_cxx.tap \
+ test_rcutorture_urcu_mb_perf_percpu.tap \
+ test_rcutorture_urcu_mb_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_perf_perthread.tap \
+ test_rcutorture_urcu_mb_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_global.tap \
+ test_rcutorture_urcu_mb_rperf_global_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_percpu.tap \
+ test_rcutorture_urcu_mb_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_perthread.tap \
+ test_rcutorture_urcu_mb_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_stress_global.tap \
+ test_rcutorture_urcu_mb_stress_global_cxx.tap \
+ test_rcutorture_urcu_mb_stress_percpu.tap \
+ test_rcutorture_urcu_mb_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_stress_perthread.tap \
+ test_rcutorture_urcu_mb_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_global.tap \
+ test_rcutorture_urcu_mb_uperf_global_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_percpu.tap \
+ test_rcutorture_urcu_mb_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_perthread.tap \
+ test_rcutorture_urcu_mb_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_global.tap \
+ test_rcutorture_urcu_membarrier_perf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_percpu.tap \
+ test_rcutorture_urcu_membarrier_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_perthread.tap \
+ test_rcutorture_urcu_membarrier_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_global.tap \
+ test_rcutorture_urcu_membarrier_rperf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_percpu.tap \
+ test_rcutorture_urcu_membarrier_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_perthread.tap \
+ test_rcutorture_urcu_membarrier_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_global.tap \
+ test_rcutorture_urcu_membarrier_stress_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_percpu.tap \
+ test_rcutorture_urcu_membarrier_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_perthread.tap \
+ test_rcutorture_urcu_membarrier_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_global.tap \
+ test_rcutorture_urcu_membarrier_uperf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_percpu.tap \
+ test_rcutorture_urcu_membarrier_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_perthread.tap \
+ test_rcutorture_urcu_membarrier_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_global.tap \
+ test_rcutorture_urcu_qsbr_perf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_percpu.tap \
+ test_rcutorture_urcu_qsbr_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_perthread.tap \
+ test_rcutorture_urcu_qsbr_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_global.tap \
+ test_rcutorture_urcu_qsbr_rperf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_percpu.tap \
+ test_rcutorture_urcu_qsbr_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_perthread.tap \
+ test_rcutorture_urcu_qsbr_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_global.tap \
+ test_rcutorture_urcu_qsbr_stress_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_percpu.tap \
+ test_rcutorture_urcu_qsbr_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_perthread.tap \
+ test_rcutorture_urcu_qsbr_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_global.tap \
+ test_rcutorture_urcu_qsbr_uperf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_percpu.tap \
+ test_rcutorture_urcu_qsbr_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_perthread.tap \
+ test_rcutorture_urcu_qsbr_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_perf_global.tap \
+ test_rcutorture_urcu_signal_perf_global_cxx.tap \
+ test_rcutorture_urcu_signal_perf_percpu.tap \
+ test_rcutorture_urcu_signal_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_perf_perthread.tap \
+ test_rcutorture_urcu_signal_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_global.tap \
+ test_rcutorture_urcu_signal_rperf_global_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_percpu.tap \
+ test_rcutorture_urcu_signal_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_perthread.tap \
+ test_rcutorture_urcu_signal_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_stress_global.tap \
+ test_rcutorture_urcu_signal_stress_global_cxx.tap \
+ test_rcutorture_urcu_signal_stress_percpu.tap \
+ test_rcutorture_urcu_signal_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_stress_perthread.tap \
+ test_rcutorture_urcu_signal_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_global.tap \
+ test_rcutorture_urcu_signal_uperf_global_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_percpu.tap \
+ test_rcutorture_urcu_signal_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_perthread.tap \
+ test_rcutorture_urcu_signal_uperf_perthread_cxx.tap
+
.PHONY: regtest
# This empty variable is required to enable the TAP test suite for custom
REGTEST_TESTS = \
test_urcu_fork.tap \
test_urcu_fork_cxx.tap \
- rcutorture_urcu_bp_perf_global.tap \
- rcutorture_urcu_bp_perf_global_cxx.tap \
- rcutorture_urcu_bp_perf_percpu.tap \
- rcutorture_urcu_bp_perf_percpu_cxx.tap \
- rcutorture_urcu_bp_perf_perthread.tap \
- rcutorture_urcu_bp_perf_perthread_cxx.tap \
- rcutorture_urcu_bp_rperf_global.tap \
- rcutorture_urcu_bp_rperf_global_cxx.tap \
- rcutorture_urcu_bp_rperf_percpu.tap \
- rcutorture_urcu_bp_rperf_percpu_cxx.tap \
- rcutorture_urcu_bp_rperf_perthread.tap \
- rcutorture_urcu_bp_rperf_perthread_cxx.tap \
- rcutorture_urcu_bp_stress_global.tap \
- rcutorture_urcu_bp_stress_global_cxx.tap \
- rcutorture_urcu_bp_stress_percpu.tap \
- rcutorture_urcu_bp_stress_percpu_cxx.tap \
- rcutorture_urcu_bp_stress_perthread.tap \
- rcutorture_urcu_bp_stress_perthread_cxx.tap \
- rcutorture_urcu_bp_uperf_global.tap \
- rcutorture_urcu_bp_uperf_global_cxx.tap \
- rcutorture_urcu_bp_uperf_percpu.tap \
- rcutorture_urcu_bp_uperf_percpu_cxx.tap \
- rcutorture_urcu_bp_uperf_perthread.tap \
- rcutorture_urcu_bp_uperf_perthread_cxx.tap \
- rcutorture_urcu_mb_perf_global.tap \
- rcutorture_urcu_mb_perf_global_cxx.tap \
- rcutorture_urcu_mb_perf_percpu.tap \
- rcutorture_urcu_mb_perf_percpu_cxx.tap \
- rcutorture_urcu_mb_perf_perthread.tap \
- rcutorture_urcu_mb_perf_perthread_cxx.tap \
- rcutorture_urcu_mb_rperf_global.tap \
- rcutorture_urcu_mb_rperf_global_cxx.tap \
- rcutorture_urcu_mb_rperf_percpu.tap \
- rcutorture_urcu_mb_rperf_percpu_cxx.tap \
- rcutorture_urcu_mb_rperf_perthread.tap \
- rcutorture_urcu_mb_rperf_perthread_cxx.tap \
- rcutorture_urcu_mb_stress_global.tap \
- rcutorture_urcu_mb_stress_global_cxx.tap \
- rcutorture_urcu_mb_stress_percpu.tap \
- rcutorture_urcu_mb_stress_percpu_cxx.tap \
- rcutorture_urcu_mb_stress_perthread.tap \
- rcutorture_urcu_mb_stress_perthread_cxx.tap \
- rcutorture_urcu_mb_uperf_global.tap \
- rcutorture_urcu_mb_uperf_global_cxx.tap \
- rcutorture_urcu_mb_uperf_percpu.tap \
- rcutorture_urcu_mb_uperf_percpu_cxx.tap \
- rcutorture_urcu_mb_uperf_perthread.tap \
- rcutorture_urcu_mb_uperf_perthread_cxx.tap \
- rcutorture_urcu_membarrier_perf_global.tap \
- rcutorture_urcu_membarrier_perf_global_cxx.tap \
- rcutorture_urcu_membarrier_perf_percpu.tap \
- rcutorture_urcu_membarrier_perf_percpu_cxx.tap \
- rcutorture_urcu_membarrier_perf_perthread.tap \
- rcutorture_urcu_membarrier_perf_perthread_cxx.tap \
- rcutorture_urcu_membarrier_rperf_global.tap \
- rcutorture_urcu_membarrier_rperf_global_cxx.tap \
- rcutorture_urcu_membarrier_rperf_percpu.tap \
- rcutorture_urcu_membarrier_rperf_percpu_cxx.tap \
- rcutorture_urcu_membarrier_rperf_perthread.tap \
- rcutorture_urcu_membarrier_rperf_perthread_cxx.tap \
- rcutorture_urcu_membarrier_stress_global.tap \
- rcutorture_urcu_membarrier_stress_global_cxx.tap \
- rcutorture_urcu_membarrier_stress_percpu.tap \
- rcutorture_urcu_membarrier_stress_percpu_cxx.tap \
- rcutorture_urcu_membarrier_stress_perthread.tap \
- rcutorture_urcu_membarrier_stress_perthread_cxx.tap \
- rcutorture_urcu_membarrier_uperf_global.tap \
- rcutorture_urcu_membarrier_uperf_global_cxx.tap \
- rcutorture_urcu_membarrier_uperf_percpu.tap \
- rcutorture_urcu_membarrier_uperf_percpu_cxx.tap \
- rcutorture_urcu_membarrier_uperf_perthread.tap \
- rcutorture_urcu_membarrier_uperf_perthread_cxx.tap \
- rcutorture_urcu_qsbr_perf_global.tap \
- rcutorture_urcu_qsbr_perf_global_cxx.tap \
- rcutorture_urcu_qsbr_perf_percpu.tap \
- rcutorture_urcu_qsbr_perf_percpu_cxx.tap \
- rcutorture_urcu_qsbr_perf_perthread.tap \
- rcutorture_urcu_qsbr_perf_perthread_cxx.tap \
- rcutorture_urcu_qsbr_rperf_global.tap \
- rcutorture_urcu_qsbr_rperf_global_cxx.tap \
- rcutorture_urcu_qsbr_rperf_percpu.tap \
- rcutorture_urcu_qsbr_rperf_percpu_cxx.tap \
- rcutorture_urcu_qsbr_rperf_perthread.tap \
- rcutorture_urcu_qsbr_rperf_perthread_cxx.tap \
- rcutorture_urcu_qsbr_stress_global.tap \
- rcutorture_urcu_qsbr_stress_global_cxx.tap \
- rcutorture_urcu_qsbr_stress_percpu.tap \
- rcutorture_urcu_qsbr_stress_percpu_cxx.tap \
- rcutorture_urcu_qsbr_stress_perthread.tap \
- rcutorture_urcu_qsbr_stress_perthread_cxx.tap \
- rcutorture_urcu_qsbr_uperf_global.tap \
- rcutorture_urcu_qsbr_uperf_global_cxx.tap \
- rcutorture_urcu_qsbr_uperf_percpu.tap \
- rcutorture_urcu_qsbr_uperf_percpu_cxx.tap \
- rcutorture_urcu_qsbr_uperf_perthread.tap \
- rcutorture_urcu_qsbr_uperf_perthread_cxx.tap \
- rcutorture_urcu_signal_perf_global.tap \
- rcutorture_urcu_signal_perf_global_cxx.tap \
- rcutorture_urcu_signal_perf_percpu.tap \
- rcutorture_urcu_signal_perf_percpu_cxx.tap \
- rcutorture_urcu_signal_perf_perthread.tap \
- rcutorture_urcu_signal_perf_perthread_cxx.tap \
- rcutorture_urcu_signal_rperf_global.tap \
- rcutorture_urcu_signal_rperf_global_cxx.tap \
- rcutorture_urcu_signal_rperf_percpu.tap \
- rcutorture_urcu_signal_rperf_percpu_cxx.tap \
- rcutorture_urcu_signal_rperf_perthread.tap \
- rcutorture_urcu_signal_rperf_perthread_cxx.tap \
- rcutorture_urcu_signal_stress_global.tap \
- rcutorture_urcu_signal_stress_global_cxx.tap \
- rcutorture_urcu_signal_stress_percpu.tap \
- rcutorture_urcu_signal_stress_percpu_cxx.tap \
- rcutorture_urcu_signal_stress_perthread.tap \
- rcutorture_urcu_signal_stress_perthread_cxx.tap \
- rcutorture_urcu_signal_uperf_global.tap \
- rcutorture_urcu_signal_uperf_global_cxx.tap \
- rcutorture_urcu_signal_uperf_percpu.tap \
- rcutorture_urcu_signal_uperf_percpu_cxx.tap \
- rcutorture_urcu_signal_uperf_perthread.tap \
- rcutorture_urcu_signal_uperf_perthread_cxx.tap
+ test_rcutorture_urcu_bp_perf_global.tap \
+ test_rcutorture_urcu_bp_perf_global_cxx.tap \
+ test_rcutorture_urcu_bp_perf_percpu.tap \
+ test_rcutorture_urcu_bp_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_perf_perthread.tap \
+ test_rcutorture_urcu_bp_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_global.tap \
+ test_rcutorture_urcu_bp_rperf_global_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_percpu.tap \
+ test_rcutorture_urcu_bp_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_rperf_perthread.tap \
+ test_rcutorture_urcu_bp_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_stress_global.tap \
+ test_rcutorture_urcu_bp_stress_global_cxx.tap \
+ test_rcutorture_urcu_bp_stress_percpu.tap \
+ test_rcutorture_urcu_bp_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_stress_perthread.tap \
+ test_rcutorture_urcu_bp_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_global.tap \
+ test_rcutorture_urcu_bp_uperf_global_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_percpu.tap \
+ test_rcutorture_urcu_bp_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_bp_uperf_perthread.tap \
+ test_rcutorture_urcu_bp_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_perf_global.tap \
+ test_rcutorture_urcu_mb_perf_global_cxx.tap \
+ test_rcutorture_urcu_mb_perf_percpu.tap \
+ test_rcutorture_urcu_mb_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_perf_perthread.tap \
+ test_rcutorture_urcu_mb_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_global.tap \
+ test_rcutorture_urcu_mb_rperf_global_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_percpu.tap \
+ test_rcutorture_urcu_mb_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_rperf_perthread.tap \
+ test_rcutorture_urcu_mb_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_stress_global.tap \
+ test_rcutorture_urcu_mb_stress_global_cxx.tap \
+ test_rcutorture_urcu_mb_stress_percpu.tap \
+ test_rcutorture_urcu_mb_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_stress_perthread.tap \
+ test_rcutorture_urcu_mb_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_global.tap \
+ test_rcutorture_urcu_mb_uperf_global_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_percpu.tap \
+ test_rcutorture_urcu_mb_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_mb_uperf_perthread.tap \
+ test_rcutorture_urcu_mb_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_global.tap \
+ test_rcutorture_urcu_membarrier_perf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_percpu.tap \
+ test_rcutorture_urcu_membarrier_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_perf_perthread.tap \
+ test_rcutorture_urcu_membarrier_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_global.tap \
+ test_rcutorture_urcu_membarrier_rperf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_percpu.tap \
+ test_rcutorture_urcu_membarrier_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_rperf_perthread.tap \
+ test_rcutorture_urcu_membarrier_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_global.tap \
+ test_rcutorture_urcu_membarrier_stress_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_percpu.tap \
+ test_rcutorture_urcu_membarrier_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_stress_perthread.tap \
+ test_rcutorture_urcu_membarrier_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_global.tap \
+ test_rcutorture_urcu_membarrier_uperf_global_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_percpu.tap \
+ test_rcutorture_urcu_membarrier_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_membarrier_uperf_perthread.tap \
+ test_rcutorture_urcu_membarrier_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_global.tap \
+ test_rcutorture_urcu_qsbr_perf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_percpu.tap \
+ test_rcutorture_urcu_qsbr_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_perf_perthread.tap \
+ test_rcutorture_urcu_qsbr_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_global.tap \
+ test_rcutorture_urcu_qsbr_rperf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_percpu.tap \
+ test_rcutorture_urcu_qsbr_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_rperf_perthread.tap \
+ test_rcutorture_urcu_qsbr_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_global.tap \
+ test_rcutorture_urcu_qsbr_stress_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_percpu.tap \
+ test_rcutorture_urcu_qsbr_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_stress_perthread.tap \
+ test_rcutorture_urcu_qsbr_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_global.tap \
+ test_rcutorture_urcu_qsbr_uperf_global_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_percpu.tap \
+ test_rcutorture_urcu_qsbr_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_qsbr_uperf_perthread.tap \
+ test_rcutorture_urcu_qsbr_uperf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_perf_global.tap \
+ test_rcutorture_urcu_signal_perf_global_cxx.tap \
+ test_rcutorture_urcu_signal_perf_percpu.tap \
+ test_rcutorture_urcu_signal_perf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_perf_perthread.tap \
+ test_rcutorture_urcu_signal_perf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_global.tap \
+ test_rcutorture_urcu_signal_rperf_global_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_percpu.tap \
+ test_rcutorture_urcu_signal_rperf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_rperf_perthread.tap \
+ test_rcutorture_urcu_signal_rperf_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_stress_global.tap \
+ test_rcutorture_urcu_signal_stress_global_cxx.tap \
+ test_rcutorture_urcu_signal_stress_percpu.tap \
+ test_rcutorture_urcu_signal_stress_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_stress_perthread.tap \
+ test_rcutorture_urcu_signal_stress_perthread_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_global.tap \
+ test_rcutorture_urcu_signal_uperf_global_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_percpu.tap \
+ test_rcutorture_urcu_signal_uperf_percpu_cxx.tap \
+ test_rcutorture_urcu_signal_uperf_perthread.tap \
+ test_rcutorture_urcu_signal_uperf_perthread_cxx.tap
regtest:
$(MAKE) $(AM_MAKEFLAGS) check TESTS="$(REGTEST_TESTS)"
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_bp `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_bp_cxx `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_mb `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_mb_cxx `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_membarrier `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_membarrier_cxx `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_qsbr `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_qsbr_cxx `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` perf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` perf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` perf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` rperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` rperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` rperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` stress 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` stress 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` stress 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` uperf 1 callrcu_global
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` uperf 1 callrcu_percpu
+++ /dev/null
-./rcutorture_urcu_signal `@NPROC_CMD@` uperf 1 callrcu_perthread
+++ /dev/null
-./rcutorture_urcu_signal_cxx `@NPROC_CMD@` uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_bp_cxx" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_mb_cxx" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_membarrier_cxx" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_qsbr_cxx" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" perf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" perf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" perf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" rperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" rperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" rperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" stress 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" stress 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" stress 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" uperf 1 callrcu_global
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" uperf 1 callrcu_percpu
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal" "$(urcu_nproc)" uperf 1 callrcu_perthread
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+
+"${URCU_TESTS_BUILDDIR}/regression/rcutorture_urcu_signal_cxx" "$(urcu_nproc)" uperf 1 callrcu_perthread
AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common
LOG_DRIVER_FLAGS = --merge --comments
-LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
- $(top_srcdir)/tests/utils/tap-driver.sh
+LOG_DRIVER = env AM_TAP_AWK='$(AWK)' \
+ URCU_TESTS_SRCDIR='$(abs_top_srcdir)/tests' \
+ URCU_TESTS_BUILDDIR='$(abs_top_builddir)/tests' \
+ $(SHELL) $(top_srcdir)/tests/utils/tap-driver.sh
noinst_PROGRAMS = \
test_arch \
test_build_cxx.cpp
test_build_dynlink_cxx_CXXFLAGS = -DDYNAMIC_LINK_TEST $(AM_CXXFLAGS)
test_build_dynlink_cxx_LDADD = $(URCU_COMMON_LIB) $(URCU_CDS_LIB) $(TAP_LIB)
-
-all-local:
- @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST); do \
- cp -f $(srcdir)/$$script $(builddir); \
- done; \
- fi
-
-clean-local:
- @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST); do \
- rm -f $(builddir)/$$script; \
- done; \
- fi
-
noinst_LIBRARIES = libtap.a
libtap_a_SOURCES = tap.c tap.h
-SCRIPT_LIST = tap.sh tap-driver.sh
-
-dist_check_SCRIPTS = $(SCRIPT_LIST)
-
-all-local:
- @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST); do \
- cp -f $(srcdir)/$$script $(builddir); \
- done; \
- fi
-
-clean-local:
- @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- for script in $(SCRIPT_LIST); do \
- rm -f $(builddir)/$$script; \
- done; \
- fi
+dist_check_SCRIPTS = \
+ tap-driver.sh \
+ tap.sh \
+ utils.sh
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+### Base paths to test suite ###
+if [ "x${URCU_TESTS_SRCDIR:-}" = "x" ]; then
+ URCU_TESTS_SRCDIR="@abs_top_srcdir@/tests"
+fi
+export URCU_TESTS_SRCDIR
+
+if [ "x${URCU_TESTS_BUILDDIR:-}" = "x" ]; then
+ URCU_TESTS_BUILDDIR="@abs_top_builddir@/tests"
+fi
+export URCU_TESTS_BUILDDIR
+
+
+### External Tools ###
+if [ "x${URCU_TESTS_NPROC_BIN:-}" = "x" ]; then
+ URCU_TESTS_NPROC_BIN="@NPROC@"
+fi
+export URCU_TESTS_NPROC_BIN
+
+if [ "x${URCU_TESTS_GETCONF_BIN:-}" = "x" ]; then
+ URCU_TESTS_GETCONF_BIN="@GETCONF@"
+fi
+export URCU_TESTS_GETCONF_BIN
+
+if [ "x${URCU_TESTS_TIME_BIN:-}" = "x" ]; then
+ URCU_TESTS_TIME_BIN="@TIME@"
+fi
+export URCU_TESTS_TIME_BIN
+
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# SPDX-FileCopyrightText: 2022 EfficiOS Inc.
+#
+
+# This file is meant to be sourced at the start of shell script-based tests.
+
+
+# Error out when encountering an undefined variable
+set -u
+
+# If "readlink -f" is available, get a resolved absolute path to the
+# tests source dir, otherwise make do with a relative path.
+scriptdir="$(dirname "${BASH_SOURCE[0]}")"
+if readlink -f "." >/dev/null 2>&1; then
+ testsdir=$(readlink -f "$scriptdir/..")
+else
+ testsdir="$scriptdir/.."
+fi
+
+# The OS on which we are running. See [1] for possible values of 'uname -s'.
+# We do a bit of translation to ease our life down the road for comparison.
+# Export it so that called executables can use it.
+# [1] https://en.wikipedia.org/wiki/Uname#Examples
+if [ "x${URCU_TESTS_OS_TYPE:-}" = "x" ]; then
+ URCU_TESTS_OS_TYPE="$(uname -s)"
+ case "$URCU_TESTS_OS_TYPE" in
+ MINGW*)
+ URCU_TESTS_OS_TYPE="mingw"
+ ;;
+ Darwin)
+ URCU_TESTS_OS_TYPE="darwin"
+ ;;
+ Linux)
+ URCU_TESTS_OS_TYPE="linux"
+ ;;
+ CYGWIN*)
+ URCU_TESTS_OS_TYPE="cygwin"
+ ;;
+ *)
+ URCU_TESTS_OS_TYPE="unsupported"
+ ;;
+ esac
+fi
+export URCU_TESTS_OS_TYPE
+
+# Allow overriding the source and build directories
+if [ "x${URCU_TESTS_SRCDIR:-}" = "x" ]; then
+ URCU_TESTS_SRCDIR="$testsdir"
+fi
+export URCU_TESTS_SRCDIR
+
+if [ "x${URCU_TESTS_BUILDDIR:-}" = "x" ]; then
+ URCU_TESTS_BUILDDIR="$testsdir"
+fi
+export URCU_TESTS_BUILDDIR
+
+# Source the generated environment file if it's present.
+if [ -f "${URCU_TESTS_BUILDDIR}/utils/env.sh" ]; then
+ # shellcheck source=./env.sh
+ . "${URCU_TESTS_BUILDDIR}/utils/env.sh"
+fi
+
+
+### External Tools ###
+
+if [ "x${URCU_TESTS_NPROC_BIN:-}" = "x" ]; then
+ URCU_TESTS_NPROC_BIN="nproc"
+fi
+export URCU_TESTS_NPROC_BIN
+
+if [ "x${URCU_TESTS_GETCONF_BIN:-}" = "x" ]; then
+ URCU_TESTS_GETCONF_BIN="getconf"
+fi
+export URCU_TESTS_GETCONF_BIN
+
+
+# By default, it will not source tap.sh. If you to tap output directly from
+# the test script, define the 'SH_TAP' variable to '1' before sourcing this
+# script.
+if [ "x${SH_TAP:-}" = x1 ]; then
+ # shellcheck source=./tap.sh
+ . "${URCU_TESTS_SRCDIR}/utils/tap.sh"
+fi
+
+
+### Functions ###
+
+# Print the number of online CPUs, fallback to '1' if no tools to count CPUs
+# are found in the environment.
+urcu_nproc() {
+ if command -v "${URCU_TESTS_NPROC_BIN}" >/dev/null 2>&1; then
+ "${URCU_TESTS_NPROC_BIN}"
+ elif command -v "${URCU_TESTS_GETCONF_BIN}" >/dev/null 2>&1; then
+ "${URCU_TESTS_GETCONF_BIN}" _NPROCESSORS_ONLN
+ else
+ # Fallback to '1'
+ echo 1
+ fi
+}
+
+# Shell implementation of the 'seq' command.
+urcu_xseq() {
+ local i=$1
+
+ while [[ "$i" -le "$2" ]]; do
+ echo "$i"
+ i=$(( i + 1 ))
+ done
+}