X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fbenchmark%2Ftest_urcu_timing.c;h=6ab390d4c5b85c6cb30d5c0f2c8a07189cc4c1be;hb=HEAD;hp=d586b1d25faea6d5b02ebe220e006e6e063ca4ce;hpb=3fa182868e25068413fdaa1bef290365e99ab246;p=urcu.git diff --git a/tests/benchmark/test_urcu_timing.c b/tests/benchmark/test_urcu_timing.c index d586b1d..6ab390d 100644 --- a/tests/benchmark/test_urcu_timing.c +++ b/tests/benchmark/test_urcu_timing.c @@ -1,23 +1,9 @@ +// SPDX-FileCopyrightText: 2009 Mathieu Desnoyers +// +// SPDX-License-Identifier: GPL-2.0-or-later + /* - * test_urcu.c - * * Userspace RCU library - test program - * - * Copyright February 2009 - Mathieu Desnoyers - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -28,9 +14,10 @@ #include #include #include -#include #include + #include +#include #include "thread-id.h" @@ -39,6 +26,7 @@ pthread_mutex_t rcu_copy_mutex = PTHREAD_MUTEX_INITIALIZER; +static void rcu_copy_mutex_lock(void) { int ret; @@ -49,6 +37,7 @@ void rcu_copy_mutex_lock(void) } } +static void rcu_copy_mutex_unlock(void) { int ret; @@ -83,9 +72,10 @@ static int num_write; static caa_cycles_t __attribute__((aligned(CAA_CACHE_LINE_SIZE))) *reader_time; static caa_cycles_t __attribute__((aligned(CAA_CACHE_LINE_SIZE))) *writer_time; +static void *thr_reader(void *arg) { - int i, j; + unsigned int i, j; struct test_array *local_ptr; caa_cycles_t time1, time2; @@ -101,7 +91,7 @@ void *thr_reader(void *arg) rcu_read_lock(); local_ptr = rcu_dereference(test_rcu_pointer); if (local_ptr) { - assert(local_ptr->a == 8); + urcu_posix_assert(local_ptr->a == 8); } rcu_read_unlock(); } @@ -119,9 +109,10 @@ void *thr_reader(void *arg) } +static void *thr_writer(void *arg) { - int i, j; + unsigned int i, j; struct test_array *new, *old; caa_cycles_t time1, time2; @@ -136,7 +127,7 @@ void *thr_writer(void *arg) rcu_copy_mutex_lock(); old = test_rcu_pointer; if (old) { - assert(old->a == 8); + urcu_posix_assert(old->a == 8); } new->a = 8; old = rcu_xchg_pointer(&test_rcu_pointer, new);