X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Frculfhash.h;h=1c1f03b51d904d3aab6c9e50c8e7aa8f47d47c2f;hb=973e5e1b7837176071749d727e37bdfe9e3c4f0e;hp=c3c1cbc2b797afbbc022f1bedbc146abd7cdb61e;hpb=adc0de68ccd78689659ed49d4b3d5d36c6720e20;p=urcu.git diff --git a/urcu/rculfhash.h b/urcu/rculfhash.h index c3c1cbc..1c1f03b 100644 --- a/urcu/rculfhash.h +++ b/urcu/rculfhash.h @@ -34,13 +34,13 @@ extern "C" { /* * struct cds_lfht_node and struct _cds_lfht_node should be aligned on - * 8-bytes boundaries because the two lower bits are used as flags. + * 4-bytes boundaries because the two lower bits are used as flags. */ struct _cds_lfht_node { - struct cds_lfht_node *next; /* ptr | DUMMY_FLAG | GC_FLAG | REMOVED_FLAG */ + struct cds_lfht_node *next; /* ptr | DUMMY_FLAG | REMOVED_FLAG */ unsigned long reverse_hash; -} __attribute__((aligned(8))); +} __attribute__((aligned(4))); struct cds_lfht_node { /* cache-hot for iteration */ @@ -165,8 +165,10 @@ int cds_lfht_destroy(struct cds_lfht *ht, pthread_attr_t **attr); * Call with rcu_read_lock held. */ void cds_lfht_count_nodes(struct cds_lfht *ht, + unsigned long *approx_before, unsigned long *count, - unsigned long *removed); + unsigned long *removed, + unsigned long *approx_after); /* * cds_lfht_lookup - lookup a node by key.