projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use cds_lfht namespace for lock-free hash table
[urcu.git]
/
tests
/
test_urcu_hash.c
diff --git
a/tests/test_urcu_hash.c
b/tests/test_urcu_hash.c
index 280000c1d4c53edff4a79293891c7275e5528fb5..c3ea83f2b62ec68f269e0d51ab38bd55c338fffc 100644
(file)
--- a/
tests/test_urcu_hash.c
+++ b/
tests/test_urcu_hash.c
@@
-84,7
+84,7
@@
static unsigned long __thread nr_delnoent;
static unsigned long __thread lookup_fail;
static unsigned long __thread lookup_ok;
static unsigned long __thread lookup_fail;
static unsigned long __thread lookup_ok;
-static struct
rcu_
ht *test_ht;
+static struct
cds_lf
ht *test_ht;
struct test_data {
int a;
struct test_data {
int a;
@@
-338,7
+338,7
@@
unsigned long test_compare(void *key1, size_t key1_len,
void *thr_reader(void *_count)
{
unsigned long long *count = _count;
void *thr_reader(void *_count)
{
unsigned long long *count = _count;
- struct
rcu_
ht_node *node;
+ struct
cds_lf
ht_node *node;
printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
"reader", pthread_self(), (unsigned long)gettid());
printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
"reader", pthread_self(), (unsigned long)gettid());
@@
-354,7
+354,7
@@
void *thr_reader(void *_count)
for (;;) {
rcu_read_lock();
for (;;) {
rcu_read_lock();
- node = ht_lookup(test_ht,
+ node =
cds_lf
ht_lookup(test_ht,
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (node == NULL)
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (node == NULL)
@@
-384,14
+384,14
@@
void *thr_reader(void *_count)
static
void free_node_cb(struct rcu_head *head)
{
static
void free_node_cb(struct rcu_head *head)
{
- struct
rcu_
ht_node *node =
- caa_container_of(head, struct
rcu_
ht_node, head);
+ struct
cds_lf
ht_node *node =
+ caa_container_of(head, struct
cds_lf
ht_node, head);
free(node);
}
void *thr_writer(void *_count)
{
free(node);
}
void *thr_writer(void *_count)
{
- struct
rcu_
ht_node *node, *ret_node;
+ struct
cds_lf
ht_node *node, *ret_node;
struct wr_count *count = _count;
int ret;
struct wr_count *count = _count;
int ret;
@@
-409,15
+409,15
@@
void *thr_writer(void *_count)
for (;;) {
if (add_only || rand_r(&rand_lookup) & 1) {
for (;;) {
if (add_only || rand_r(&rand_lookup) & 1) {
- node = malloc(sizeof(struct
rcu_
ht_node));
+ node = malloc(sizeof(struct
cds_lf
ht_node));
rcu_read_lock();
rcu_read_lock();
- ht_node_init(node,
+
cds_lf
ht_node_init(node,
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (add_unique)
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (add_unique)
- ret_node = ht_add_unique(test_ht, node);
+ ret_node =
cds_lf
ht_add_unique(test_ht, node);
else
else
- ht_add(test_ht, node);
+
cds_lf
ht_add(test_ht, node);
rcu_read_unlock();
if (add_unique && ret_node != node) {
free(node);
rcu_read_unlock();
if (add_unique && ret_node != node) {
free(node);
@@
-427,11
+427,11
@@
void *thr_writer(void *_count)
} else {
/* May delete */
rcu_read_lock();
} else {
/* May delete */
rcu_read_lock();
- node = ht_lookup(test_ht,
+ node =
cds_lf
ht_lookup(test_ht,
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (node)
(void *)(unsigned long)(rand_r(&rand_lookup) % rand_pool),
sizeof(void *));
if (node)
- ret = ht_remove(test_ht, node);
+ ret =
cds_lf
ht_remove(test_ht, node);
else
ret = -ENOENT;
rcu_read_unlock();
else
ret = -ENOENT;
rcu_read_unlock();
@@
-610,7
+610,7
@@
int main(int argc, char **argv)
tid_writer = malloc(sizeof(*tid_writer) * nr_writers);
count_reader = malloc(sizeof(*count_reader) * nr_readers);
count_writer = malloc(sizeof(*count_writer) * nr_writers);
tid_writer = malloc(sizeof(*tid_writer) * nr_writers);
count_reader = malloc(sizeof(*count_reader) * nr_readers);
count_writer = malloc(sizeof(*count_writer) * nr_writers);
- test_ht = ht_new(test_hash, test_compare, 0x42UL,
+ test_ht =
cds_lf
ht_new(test_hash, test_compare, 0x42UL,
init_hash_size, call_rcu);
err = create_all_cpu_call_rcu_data(0);
init_hash_size, call_rcu);
err = create_all_cpu_call_rcu_data(0);
@@
-655,12
+655,12
@@
int main(int argc, char **argv)
}
printf("Counting nodes... ");
fflush(stdout);
}
printf("Counting nodes... ");
fflush(stdout);
- ht_count_nodes(test_ht, &count, &removed);
+
cds_lf
ht_count_nodes(test_ht, &count, &removed);
printf("done.\n");
if (count || removed)
printf("WARNING: nodes left in the hash table upon destroy: "
"%lu nodes + %lu logically removed.\n", count, removed);
printf("done.\n");
if (count || removed)
printf("WARNING: nodes left in the hash table upon destroy: "
"%lu nodes + %lu logically removed.\n", count, removed);
- ret = ht_destroy(test_ht);
+ ret =
cds_lf
ht_destroy(test_ht);
if (ret)
printf_verbose("final delete aborted\n");
if (ret)
printf_verbose("final delete aborted\n");
This page took
0.031771 seconds
and
4
git commands to generate.