/*
* 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 */
* 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.