X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Frculfhash.h;h=4a897faea7c8f52092d4e4aeded78f1c65511ffa;hb=d933dd0e116eceb59b1df0f223e3962a1e51bfb3;hp=c3c1cbc2b797afbbc022f1bedbc146abd7cdb61e;hpb=adc0de68ccd78689659ed49d4b3d5d36c6720e20;p=urcu.git diff --git a/urcu/rculfhash.h b/urcu/rculfhash.h index c3c1cbc..4a897fa 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, + long *approx_before, unsigned long *count, - unsigned long *removed); + unsigned long *removed, + long *approx_after); /* * cds_lfht_lookup - lookup a node by key.