Cleanup: doc/examples makefile
[urcu.git] / tests / test_urcu_wfcq.c
index a3bd7e556031eef71c19b1be5e811ae5daaebdf6..f04c9bd8b6874424bf830f722787c6e531e415eb 100644 (file)
 #include <urcu/tls-compat.h>
 #include <urcu/uatomic.h>
 #include "cpuset.h"
-
-#ifdef __linux__
-#include <syscall.h>
-#endif
+#include "thread-id.h"
 
 /* hardcoded number of CPUs */
 #define NR_CPUS 16384
 
-#if defined(_syscall0)
-_syscall0(pid_t, gettid)
-#elif defined(__NR_gettid)
-static inline pid_t gettid(void)
-{
-       return syscall(__NR_gettid);
-}
-#else
-#warning "use pid as tid"
-static inline pid_t gettid(void)
-{
-       return getpid();
-}
-#endif
-
 #ifndef DYNAMIC_LINK_TEST
 #define _LGPL_SOURCE
 #endif
@@ -175,9 +157,8 @@ static void *thr_enqueuer(void *_count)
        unsigned long long *count = _count;
        bool was_nonempty;
 
-       printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
-                       "enqueuer", (unsigned long) pthread_self(),
-                       (unsigned long) gettid());
+       printf_verbose("thread_begin %s, tid %lu\n",
+                       "enqueuer", urcu_get_thread_id());
 
        set_affinity();
 
@@ -208,14 +189,13 @@ fail:
        count[0] = URCU_TLS(nr_enqueues);
        count[1] = URCU_TLS(nr_successful_enqueues);
        count[2] = URCU_TLS(nr_empty_dest_enqueues);
-       printf_verbose("enqueuer thread_end, thread id : %lx, tid %lu, "
-                      "enqueues %llu successful_enqueues %llu, "
-                      "empty_dest_enqueues %llu\n",
-                      pthread_self(),
-                       (unsigned long) gettid(),
-                      URCU_TLS(nr_enqueues),
-                      URCU_TLS(nr_successful_enqueues),
-                      URCU_TLS(nr_empty_dest_enqueues));
+       printf_verbose("enqueuer thread_end, tid %lu, "
+                       "enqueues %llu successful_enqueues %llu, "
+                       "empty_dest_enqueues %llu\n",
+                       urcu_get_thread_id(),
+                       URCU_TLS(nr_enqueues),
+                       URCU_TLS(nr_successful_enqueues),
+                       URCU_TLS(nr_empty_dest_enqueues));
        return ((void*)1);
 
 }
@@ -287,9 +267,8 @@ static void *thr_dequeuer(void *_count)
        unsigned long long *count = _count;
        unsigned int counter = 0;
 
-       printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
-                       "dequeuer", (unsigned long) pthread_self(),
-                       (unsigned long) gettid());
+       printf_verbose("thread_begin %s, tid %lu\n",
+                       "dequeuer", urcu_get_thread_id());
 
        set_affinity();
 
@@ -317,13 +296,12 @@ static void *thr_dequeuer(void *_count)
                        loop_sleep(rduration);
        }
 
-       printf_verbose("dequeuer thread_end, thread id : %lx, tid %lu, "
-                      "dequeues %llu, successful_dequeues %llu, "
-                      "nr_splice %llu\n",
-                      pthread_self(),
-                       (unsigned long) gettid(),
-                      URCU_TLS(nr_dequeues), URCU_TLS(nr_successful_dequeues),
-                      URCU_TLS(nr_splice));
+       printf_verbose("dequeuer thread_end, tid %lu, "
+                       "dequeues %llu, successful_dequeues %llu, "
+                       "nr_splice %llu\n",
+                       urcu_get_thread_id(),
+                       URCU_TLS(nr_dequeues), URCU_TLS(nr_successful_dequeues),
+                       URCU_TLS(nr_splice));
        count[0] = URCU_TLS(nr_dequeues);
        count[1] = URCU_TLS(nr_successful_dequeues);
        count[2] = URCU_TLS(nr_splice);
@@ -483,14 +461,13 @@ int main(int argc, char **argv)
                printf_verbose("Wait for dequeuers to empty queue.\n");
        printf_verbose("Writer delay : %lu loops.\n", rduration);
        printf_verbose("Reader duration : %lu loops.\n", wdelay);
-       printf_verbose("thread %-6s, thread id : %lx, tid %lu\n",
-                       "main", (unsigned long) pthread_self(),
-                       (unsigned long) gettid());
-
-       tid_enqueuer = malloc(sizeof(*tid_enqueuer) * nr_enqueuers);
-       tid_dequeuer = malloc(sizeof(*tid_dequeuer) * nr_dequeuers);
-       count_enqueuer = malloc(3 * sizeof(*count_enqueuer) * nr_enqueuers);
-       count_dequeuer = malloc(4 * sizeof(*count_dequeuer) * nr_dequeuers);
+       printf_verbose("thread %-6s, tid %lu\n",
+                       "main", urcu_get_thread_id());
+
+       tid_enqueuer = calloc(nr_enqueuers, sizeof(*tid_enqueuer));
+       tid_dequeuer = calloc(nr_dequeuers, sizeof(*tid_dequeuer));
+       count_enqueuer = calloc(nr_enqueuers, 3 * sizeof(*count_enqueuer));
+       count_dequeuer = calloc(nr_dequeuers, 4 * sizeof(*count_dequeuer));
        cds_wfcq_init(&head, &tail);
 
        next_aff = 0;
This page took 0.024009 seconds and 4 git commands to generate.