summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2016-06-16 11:03:50 -0700
committerAndy Lutomirski <luto@kernel.org>2016-06-16 11:03:50 -0700
commitd8164c2831be9bbcfcb2d6d4d89c8ab373ca530e (patch)
tree164357177b558cf49096b46eddb352e2215262dc
parent52df20873dd8d380977b9ae1b0645deb0750bf49 (diff)
downloadmisc-tests-d8164c2831be9bbcfcb2d6d4d89c8ab373ca530e.tar.gz
timing_test: Add pthread_create
-rw-r--r--timing_test.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/timing_test.cc b/timing_test.cc
index 2f35f26..0468dac 100644
--- a/timing_test.cc
+++ b/timing_test.cc
@@ -11,6 +11,7 @@
#include <inttypes.h>
#include <atomic>
#include <signal.h>
+#include <pthread.h>
#include <err.h>
typedef int (*vgettime_t)(clockid_t, timespec *);
@@ -46,6 +47,11 @@ static void sigusr1(int sig, siginfo_t *info, void *ctx_void)
{
}
+static void *empty_thread_proc(void *)
+{
+ return NULL;
+}
+
int main(int argc, char **argv)
{
if (argc < 3) {
@@ -277,6 +283,14 @@ int main(int argc, char **argv)
for (size_t i = 0; i < loops; ++i)
syscall(SYS_arch_prctl, 42, 0);
#endif
+ } else if (!strcmp(mode, "pthread_create")) {
+ pthread_t thread;
+ for (size_t i = 0; i < loops; ++i) {
+ if (pthread_create(&thread, NULL,
+ empty_thread_proc, NULL))
+ err(1, "pthread_create");
+ pthread_join(thread, NULL);
+ }
} else {
printf("Unknown mode %s\n", mode);
return 1;