void *thr_count(void *arg)
{
- printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
- "counter", pthread_self(), (unsigned long)gettid());
+ printf_verbose("thread_begin %s, tid %lu\n",
+ "counter", urcu_get_thread_id());
rcu_register_thread();
void show_usage(int argc, char **argv)
{
- printf("Usage : %s nr_readers nr_writers duration (s)\n", argv[0]);
+ printf("Usage : %s nr_readers nr_writers duration (s) <OPTIONS>\n",
+ argv[0]);
+ printf("OPTIONS:\n");
#ifdef DEBUG_YIELD
printf(" [-r] [-w] (yield reader and/or writer)\n");
#endif
printf(" [-M size] Lookup pool size.\n");
printf(" [-N size] Write pool size.\n");
printf(" [-O size] Init pool size.\n");
- printf(" [-V] Validate lookups of init values (use with filled init pool, same lookup range, with different write range).\n");
+ printf(" [-V] Validate lookups of init values.\n");
+ printf(" (use with filled init pool, same lookup range,\n");
+ printf(" with different write range)\n");
printf(" [-U] Uniqueness test.\n");
printf(" [-C] Number of hash chains.\n");
- printf("\n\n");
+ printf("\n");
}
int main(int argc, char **argv)
write_pool_offset, write_pool_size);
printf_verbose("Number of hash chains: %lu.\n",
nr_hash_chains);
- printf_verbose("thread %-6s, thread id : %lx, tid %lu\n",
- "main", pthread_self(), (unsigned long)gettid());
+ printf_verbose("thread %-6s, tid %lu\n",
+ "main", urcu_get_thread_id());
- tid_reader = malloc(sizeof(*tid_reader) * nr_readers);
+ tid_reader = calloc(nr_readers, sizeof(*tid_reader));
if (!tid_reader) {
mainret = 1;
goto end;
}
- tid_writer = malloc(sizeof(*tid_writer) * nr_writers);
+ tid_writer = calloc(nr_writers, sizeof(*tid_writer));
if (!tid_writer) {
mainret = 1;
goto end_free_tid_reader;
}
- count_reader = malloc(sizeof(*count_reader) * nr_readers);
+ count_reader = calloc(nr_readers, sizeof(*count_reader));
if (!count_reader) {
mainret = 1;
goto end_free_tid_writer;
}
- count_writer = malloc(sizeof(*count_writer) * nr_writers);
+ count_writer = calloc(nr_writers, sizeof(*count_writer));
if (!count_writer) {
mainret = 1;
goto end_free_count_reader;