void rcu_copy_mutex_lock(void)
{
int ret;
+
ret = pthread_mutex_lock(&rcu_copy_mutex);
if (ret) {
perror("Error in pthread mutex lock");
return ((void*)2);
}
-static void populate_hash(void)
+static int populate_hash(void)
{
struct cds_lfht_node *node, *lookup_node;
void *key;
if (!init_populate)
- return;
+ return 0;
+
+ if (add_unique && init_populate * 10 > rand_pool) {
+ printf("WARNING: required to populate %lu nodes (-k), but random"
+"pool is quite small (%lu values) and we are in add_unique (-u) mode. Try with a "
+"larger random pool (-p option).\n", init_populate, rand_pool);
+ return -1;
+ }
while (nr_add < init_populate) {
node = malloc(1);
}
nr_writes++;
}
+ return 0;
}
static
count_writer = malloc(sizeof(*count_writer) * nr_writers);
test_ht = g_hash_table_new_full(test_hash_fct, test_compare_fct,
NULL, free);
- populate_hash();
+ ret = populate_hash();
+ assert(!ret);
err = create_all_cpu_call_rcu_data(0);
assert(!err);