X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Ftest_urcu_hash.h;h=cd064e62b76e6821c311fa9e9588330d134f503f;hp=083e71c3185214b7f81dd607a5705217bd2705bb;hb=4b832c2a390ca145635444433273e014052cb7ec;hpb=495913bfaec0ff19107f0cc903ba1d6eade03709 diff --git a/tests/test_urcu_hash.h b/tests/test_urcu_hash.h index 083e71c..cd064e6 100644 --- a/tests/test_urcu_hash.h +++ b/tests/test_urcu_hash.h @@ -33,13 +33,12 @@ #include #include #include -#include #include #include -#ifdef __linux__ -#include -#endif +#include +#include "cpuset.h" +#include "thread-id.h" #define DEFAULT_HASH_SIZE 32 #define DEFAULT_MIN_ALLOC_SIZE 1 @@ -53,9 +52,6 @@ */ #define TEST_HASH_SEED 0x42UL -/* Make this big enough to include the POWER5+ L3 cacheline size of 256B */ -#define CACHE_LINE_SIZE 4096 - /* hardcoded number of CPUs */ #define NR_CPUS 16384 @@ -69,23 +65,6 @@ #define poison_free(ptr) free(ptr) #endif - - -#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 #else @@ -102,13 +81,13 @@ struct wr_count { unsigned long remove; }; -extern unsigned int __thread rand_lookup; -extern unsigned long __thread nr_add; -extern unsigned long __thread nr_addexist; -extern unsigned long __thread nr_del; -extern unsigned long __thread nr_delnoent; -extern unsigned long __thread lookup_fail; -extern unsigned long __thread lookup_ok; +extern DECLARE_URCU_TLS(unsigned int, rand_lookup); +extern DECLARE_URCU_TLS(unsigned long, nr_add); +extern DECLARE_URCU_TLS(unsigned long, nr_addexist); +extern DECLARE_URCU_TLS(unsigned long, nr_del); +extern DECLARE_URCU_TLS(unsigned long, nr_delnoent); +extern DECLARE_URCU_TLS(unsigned long, lookup_fail); +extern DECLARE_URCU_TLS(unsigned long, lookup_ok); extern struct cds_lfht *test_ht; @@ -173,9 +152,9 @@ extern unsigned long nr_hash_chains; extern int count_pipe[2]; -static inline void loop_sleep(unsigned long l) +static inline void loop_sleep(unsigned long loops) { - while(l-- != 0) + while (loops-- != 0) caa_cpu_relax(); } @@ -193,12 +172,6 @@ extern int use_affinity; extern pthread_mutex_t affinity_mutex; -#ifndef HAVE_CPU_SET_T -typedef unsigned long cpu_set_t; -# define CPU_ZERO(cpuset) do { *(cpuset) = 0; } while(0) -# define CPU_SET(cpu, cpuset) do { *(cpuset) |= (1UL << (cpu)); } while(0) -#endif - void set_affinity(void); /* @@ -214,8 +187,8 @@ static inline int test_duration_read(void) return !test_stop; } -extern unsigned long long __thread nr_writes; -extern unsigned long long __thread nr_reads; +extern DECLARE_URCU_TLS(unsigned long long, nr_writes); +extern DECLARE_URCU_TLS(unsigned long long, nr_reads); extern unsigned int nr_readers; extern unsigned int nr_writers;