[lttng-dev] cds_lfht_count_nodes always returns -1 for before/after counts
Jeff Layton
jlayton at poochiereds.net
Sat Apr 25 19:32:07 EDT 2015
On Sat, 25 Apr 2015 17:29:02 -0400
Jeff Layton <jlayton at poochiereds.net> wrote:
> Hi, I have some code using the cds_lfht infrastructure, and recently
> added a function to check to see if the table was empty using
> cds_lfht_count_nodes. That function just does this:
>
> rcu_read_lock();
> cds_lfht_count_nodes(ht, &before, &count, &after);
> rcu_read_unlock();
>
> What I've found though is that when the table is empty and I know that
> there are no concurrent inserts going on, the before and after counters
> are always set to -1 after this call.
>
> Is that expected behavior? For the record, I'm using this package from
> the Fedora 21 repos:
>
> userspace-rcu-0.8.1-5.fc21.x86_64
>
> Thanks in advance!
Nevermind...I figured out my bug. I had thought it was safe to call
cds_lfht_del on a node that had never been inserted, but it's clearly
not and that throws off the add/del counts.
Sorry for the noise!
--
Jeff Layton <jlayton at poochiereds.net>
More information about the lttng-dev
mailing list