projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rculfhash: number of logically removed nodes should not appear in API
[userspace-rcu.git]
/
rculfhash.c
diff --git
a/rculfhash.c
b/rculfhash.c
index 8f2d8e4480fda449fbe6dd9de2bb69a2659d8643..f214293196a6094958e8274e09aaf73bb627f276 100644
(file)
--- a/
rculfhash.c
+++ b/
rculfhash.c
@@
-1600,11
+1600,10
@@
int cds_lfht_destroy(struct cds_lfht *ht, pthread_attr_t **attr)
void cds_lfht_count_nodes(struct cds_lfht *ht,
long *approx_before,
unsigned long *count,
void cds_lfht_count_nodes(struct cds_lfht *ht,
long *approx_before,
unsigned long *count,
- unsigned long *removed,
long *approx_after)
{
struct cds_lfht_node *node, *next;
long *approx_after)
{
struct cds_lfht_node *node, *next;
- unsigned long nr_bucket = 0;
+ unsigned long nr_bucket = 0
, nr_removed = 0
;
*approx_before = 0;
if (ht->split_count) {
*approx_before = 0;
if (ht->split_count) {
@@
-1617,7
+1616,6
@@
void cds_lfht_count_nodes(struct cds_lfht *ht,
}
*count = 0;
}
*count = 0;
- *removed = 0;
/* Count non-bucket nodes in the table */
node = bucket_at(ht, 0);
/* Count non-bucket nodes in the table */
node = bucket_at(ht, 0);
@@
-1625,7
+1623,7
@@
void cds_lfht_count_nodes(struct cds_lfht *ht,
next = rcu_dereference(node->next);
if (is_removed(next)) {
if (!is_bucket(next))
next = rcu_dereference(node->next);
if (is_removed(next)) {
if (!is_bucket(next))
- (
*
removed)++;
+ (
nr_
removed)++;
else
(nr_bucket)++;
} else if (!is_bucket(next))
else
(nr_bucket)++;
} else if (!is_bucket(next))
@@
-1634,6
+1632,7
@@
void cds_lfht_count_nodes(struct cds_lfht *ht,
(nr_bucket)++;
node = clear_flag(next);
} while (!is_end(node));
(nr_bucket)++;
node = clear_flag(next);
} while (!is_end(node));
+ dbg_printf("number of logically removed nodes: %lu\n", nr_removed);
dbg_printf("number of bucket nodes: %lu\n", nr_bucket);
*approx_after = 0;
if (ht->split_count) {
dbg_printf("number of bucket nodes: %lu\n", nr_bucket);
*approx_after = 0;
if (ht->split_count) {
This page took
0.027709 seconds
and
4
git commands to generate.