X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fbenchmark%2Ftest_urcu_assign.c;h=88889a89d0421097b90177f1853f7ac3fa5cb0db;hp=966cf9e56609e269229786d71d6c48a1e861a16c;hb=014775106c60f02818ca755b331f887030bd440f;hpb=0614a2e61ccbf150cc51d4fd3073b285983417c5 diff --git a/tests/benchmark/test_urcu_assign.c b/tests/benchmark/test_urcu_assign.c index 966cf9e..88889a8 100644 --- a/tests/benchmark/test_urcu_assign.c +++ b/tests/benchmark/test_urcu_assign.c @@ -28,10 +28,10 @@ #include #include #include -#include #include #include +#include #include #include "thread-id.h" #include "../common/debug-yield.h" @@ -84,7 +84,7 @@ pthread_mutex_t affinity_mutex = PTHREAD_MUTEX_INITIALIZER; static void set_affinity(void) { -#if HAVE_SCHED_SETAFFINITY +#ifdef HAVE_SCHED_SETAFFINITY cpu_set_t mask; int cpu, ret; #endif /* HAVE_SCHED_SETAFFINITY */ @@ -92,7 +92,7 @@ static void set_affinity(void) if (!use_affinity) return; -#if HAVE_SCHED_SETAFFINITY +#ifdef HAVE_SCHED_SETAFFINITY ret = pthread_mutex_lock(&affinity_mutex); if (ret) { perror("Error in pthread mutex lock"); @@ -132,6 +132,7 @@ static unsigned int nr_writers; pthread_mutex_t rcu_copy_mutex = PTHREAD_MUTEX_INITIALIZER; +static void rcu_copy_mutex_lock(void) { int ret; @@ -142,6 +143,7 @@ void rcu_copy_mutex_lock(void) } } +static void rcu_copy_mutex_unlock(void) { int ret; @@ -170,7 +172,7 @@ static struct test_array *test_array_alloc(void) int index; index = array_index % ARRAY_SIZE; - assert(test_array[index].a == ARRAY_POISON || + urcu_posix_assert(test_array[index].a == ARRAY_POISON || test_array[index].a == 0); ret = &test_array[index]; array_index++; @@ -186,6 +188,7 @@ static void test_array_free(struct test_array *ptr) ptr->a = ARRAY_POISON; } +static void *thr_reader(void *_count) { unsigned long long *count = _count; @@ -208,7 +211,7 @@ void *thr_reader(void *_count) local_ptr = rcu_dereference(test_rcu_pointer); rcu_debug_yield_read(); if (local_ptr) - assert(local_ptr->a == 8); + urcu_posix_assert(local_ptr->a == 8); if (caa_unlikely(rduration)) loop_sleep(rduration); rcu_read_unlock(); @@ -226,6 +229,7 @@ void *thr_reader(void *_count) } +static void *thr_writer(void *_count) { unsigned long long *count = _count; @@ -267,7 +271,8 @@ void *thr_writer(void *_count) return ((void*)2); } -void show_usage(int argc, char **argv) +static +void show_usage(char **argv) { printf("Usage : %s nr_readers nr_writers duration (s) \n", argv[0]); @@ -292,25 +297,25 @@ int main(int argc, char **argv) unsigned int i_thr; if (argc < 4) { - show_usage(argc, argv); + show_usage(argv); return -1; } err = sscanf(argv[1], "%u", &nr_readers); if (err != 1) { - show_usage(argc, argv); + show_usage(argv); return -1; } err = sscanf(argv[2], "%u", &nr_writers); if (err != 1) { - show_usage(argc, argv); + show_usage(argv); return -1; } err = sscanf(argv[3], "%lu", &duration); if (err != 1) { - show_usage(argc, argv); + show_usage(argv); return -1; } @@ -326,7 +331,7 @@ int main(int argc, char **argv) break; case 'a': if (argc < i + 2) { - show_usage(argc, argv); + show_usage(argv); return -1; } a = atoi(argv[++i]); @@ -336,21 +341,21 @@ int main(int argc, char **argv) break; case 'c': if (argc < i + 2) { - show_usage(argc, argv); + show_usage(argv); return -1; } rduration = atol(argv[++i]); break; case 'd': if (argc < i + 2) { - show_usage(argc, argv); + show_usage(argv); return -1; } wdelay = atol(argv[++i]); break; case 'e': if (argc < i + 2) { - show_usage(argc, argv); + show_usage(argv); return -1; } wduration = atol(argv[++i]);