This exercises the parts of spdk_spin_*() that are difficult to test in unit tests. In particular, it tests multiple SPDK threads running on different pthreads contending for a lock and it tests pollers and messages going off CPU with a lock held. Change-Id: I5cd6ce29c92c44ba63f47332fe339e59eed81553 Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15534 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
20 lines
742 B
Bash
Executable File
20 lines
742 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
# All rights reserved.
|
|
# Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
#
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
|
|
run_test "thread_poller_perf" $testdir/poller_perf/poller_perf -b 1000 -l 1 -t 1
|
|
run_test "thread_poller_perf" $testdir/poller_perf/poller_perf -b 1000 -l 0 -t 1
|
|
|
|
# spdk_lock.c includes thread.c, which causes problems when registering the same
|
|
# tracepoint for "thread" in the program and shared library. It is sufficient
|
|
# to test this only on static builds.
|
|
if [[ "$CONFIG_SHARED" != "y" ]]; then
|
|
run_test "thread_spdk_lock" $testdir/lock/spdk_lock
|
|
fi
|