X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Ftest_urcu_hash_rw.c;h=8802b9cd0a621d1d07fee0f4e7bfe368f0a287b6;hp=f30207d000ca039f0c3394b0fefce3bbb41aecb7;hb=98f483d24f69785a7fb2e988f1053c34e84a4e61;hpb=6ff854acfa013195bdb71dddc654ec76a4c296c9 diff --git a/tests/test_urcu_hash_rw.c b/tests/test_urcu_hash_rw.c index f30207d..8802b9c 100644 --- a/tests/test_urcu_hash_rw.c +++ b/tests/test_urcu_hash_rw.c @@ -65,9 +65,10 @@ void *test_hash_rw_thr_reader(void *_count) struct lfht_test_node *node; struct cds_lfht_iter iter; - printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n", - "reader", (unsigned long) pthread_self(), - (unsigned long) gettid()); + printf_verbose("thread_begin %s, tid %lu\n", + "reader", urcu_get_thread_id()); + + URCU_TLS(rand_lookup) = urcu_get_thread_id() ^ time(NULL); set_affinity(); @@ -107,11 +108,11 @@ void *test_hash_rw_thr_reader(void *_count) rcu_unregister_thread(); *count = URCU_TLS(nr_reads); - printf_verbose("thread_end %s, thread id : %lx, tid %lu\n", - "reader", (unsigned long) pthread_self(), - (unsigned long) gettid()); - printf_verbose("readid : %lx, lookupfail %lu, lookupok %lu\n", - pthread_self(), URCU_TLS(lookup_fail), + printf_verbose("thread_end %s, tid %lu\n", + "reader", urcu_get_thread_id()); + printf_verbose("read tid : %lx, lookupfail %lu, lookupok %lu\n", + urcu_get_thread_id(), + URCU_TLS(lookup_fail), URCU_TLS(lookup_ok)); return ((void*)1); @@ -125,9 +126,10 @@ void *test_hash_rw_thr_writer(void *_count) struct wr_count *count = _count; int ret; - printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n", - "writer", (unsigned long) pthread_self(), - (unsigned long) gettid()); + printf_verbose("thread_begin %s, tid %lu\n", + "writer", urcu_get_thread_id()); + + URCU_TLS(rand_lookup) = urcu_get_thread_id() ^ time(NULL); set_affinity(); @@ -211,12 +213,13 @@ void *test_hash_rw_thr_writer(void *_count) rcu_unregister_thread(); - printf_verbose("thread_end %s, thread id : %lx, tid %lu\n", - "writer", (unsigned long) pthread_self(), - (unsigned long) gettid()); - printf_verbose("info id %lx: nr_add %lu, nr_addexist %lu, nr_del %lu, " - "nr_delnoent %lu\n", (unsigned long) pthread_self(), URCU_TLS(nr_add), - URCU_TLS(nr_addexist), URCU_TLS(nr_del), + printf_verbose("thread_end %s, tid %lu\n", + "writer", urcu_get_thread_id()); + printf_verbose("info tid %lu: nr_add %lu, nr_addexist %lu, nr_del %lu, " + "nr_delnoent %lu\n", urcu_get_thread_id(), + URCU_TLS(nr_add), + URCU_TLS(nr_addexist), + URCU_TLS(nr_del), URCU_TLS(nr_delnoent)); count->update_ops = URCU_TLS(nr_writes); count->add = URCU_TLS(nr_add); @@ -235,6 +238,8 @@ int test_hash_rw_populate_hash(void) printf("Starting rw test\n"); + URCU_TLS(rand_lookup) = urcu_get_thread_id() ^ time(NULL); + if ((add_unique || add_replace) && init_populate * 10 > init_pool_size) { printf("WARNING: required to populate %lu nodes (-k), but random " "pool is quite small (%lu values) and we are in add_unique (-u) or add_replace (-s) mode. Try with a "