aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/prog_tests/spinlock.c
diff options
context:
space:
mode:
authorStanislav Fomichev <sdf@google.com>2019-03-01 19:42:18 -0800
committerAlexei Starovoitov <ast@kernel.org>2019-03-02 11:10:40 -0800
commit271a6337cbaedfa9b93006326d0ecc28fd3dc71c (patch)
tree46e8d3a8ad185ee7c03fd6a8ef2d7eff0336445d /tools/testing/selftests/bpf/prog_tests/spinlock.c
parentselftests: bpf: break up test_progs - tracepoint (diff)
downloadlinux-dev-271a6337cbaedfa9b93006326d0ecc28fd3dc71c.tar.xz
linux-dev-271a6337cbaedfa9b93006326d0ecc28fd3dc71c.zip
selftests: bpf: break up test_progs - spinlock
Move spinlock prog tests into separate files. Signed-off-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/spinlock.c')
-rw-r--r--tools/testing/selftests/bpf/prog_tests/spinlock.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/spinlock.c b/tools/testing/selftests/bpf/prog_tests/spinlock.c
new file mode 100644
index 000000000000..9a573a9675d7
--- /dev/null
+++ b/tools/testing/selftests/bpf/prog_tests/spinlock.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <test_progs.h>
+
+void test_spinlock(void)
+{
+ const char *file = "./test_spin_lock.o";
+ pthread_t thread_id[4];
+ struct bpf_object *obj;
+ int prog_fd;
+ int err = 0, i;
+ void *ret;
+
+ err = bpf_prog_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd);
+ if (err) {
+ printf("test_spin_lock:bpf_prog_load errno %d\n", errno);
+ goto close_prog;
+ }
+ for (i = 0; i < 4; i++)
+ assert(pthread_create(&thread_id[i], NULL,
+ &spin_lock_thread, &prog_fd) == 0);
+ for (i = 0; i < 4; i++)
+ assert(pthread_join(thread_id[i], &ret) == 0 &&
+ ret == (void *)&prog_fd);
+ goto close_prog_noerr;
+close_prog:
+ error_cnt++;
+close_prog_noerr:
+ bpf_object__close(obj);
+}