assert(split_count_mask >= 0);
cpu = sched_getcpu();
- if (unlikely(cpu < 0))
+ if (caa_unlikely(cpu < 0))
return hash & split_count_mask;
else
return cpu & split_count_mask;
unsigned long split_count;
int index;
- if (unlikely(!ht->split_count))
+ if (caa_unlikely(!ht->split_count))
return;
index = ht_get_split_count_index(hash);
split_count = uatomic_add_return(&ht->split_count[index].add, 1);
- if (unlikely(!(split_count & ((1UL << COUNT_COMMIT_ORDER) - 1)))) {
+ if (caa_unlikely(!(split_count & ((1UL << COUNT_COMMIT_ORDER) - 1)))) {
long count;
dbg_printf("add split count %lu\n", split_count);
unsigned long split_count;
int index;
- if (unlikely(!ht->split_count))
+ if (caa_unlikely(!ht->split_count))
return;
index = ht_get_split_count_index(hash);
split_count = uatomic_add_return(&ht->split_count[index].del, 1);
- if (unlikely(!(split_count & ((1UL << COUNT_COMMIT_ORDER) - 1)))) {
+ if (caa_unlikely(!(split_count & ((1UL << COUNT_COMMIT_ORDER) - 1)))) {
long count;
dbg_printf("del split count %lu\n", split_count);
*/
assert(dummy != node);
for (;;) {
- if (unlikely(is_end(iter)))
+ if (caa_unlikely(is_end(iter)))
return;
- if (likely(clear_flag(iter)->p.reverse_hash > node->p.reverse_hash))
+ if (caa_likely(clear_flag(iter)->p.reverse_hash > node->p.reverse_hash))
return;
next = rcu_dereference(clear_flag(iter)->p.next);
- if (likely(is_removed(next)))
+ if (caa_likely(is_removed(next)))
break;
iter_prev = clear_flag(iter);
iter = next;
iter = rcu_dereference(iter_prev->p.next);
assert(iter_prev->p.reverse_hash <= node->p.reverse_hash);
for (;;) {
- if (unlikely(is_end(iter)))
+ if (caa_unlikely(is_end(iter)))
goto insert;
- if (likely(clear_flag(iter)->p.reverse_hash > node->p.reverse_hash))
+ if (caa_likely(clear_flag(iter)->p.reverse_hash > node->p.reverse_hash))
goto insert;
/* dummy node is the first node of the identical-hash-value chain */
goto insert;
next = rcu_dereference(clear_flag(iter)->p.next);
- if (unlikely(is_removed(next)))
+ if (caa_unlikely(is_removed(next)))
goto gc_node;
/* uniquely add */
struct cds_lfht_node *new_next;
next = old;
- if (unlikely(is_removed(next)))
+ if (caa_unlikely(is_removed(next)))
return -ENOENT;
if (dummy_removal)
assert(is_dummy(next));
node = rcu_dereference(dummy_node->p.next);
node = clear_flag(node);
for (;;) {
- if (unlikely(is_end(node))) {
+ if (caa_unlikely(is_end(node))) {
node = next = NULL;
break;
}
- if (unlikely(node->p.reverse_hash > reverse_hash)) {
+ if (caa_unlikely(node->p.reverse_hash > reverse_hash)) {
node = next = NULL;
break;
}
next = rcu_dereference(node->p.next);
assert(node == clear_flag(node));
- if (likely(!is_removed(next))
+ if (caa_likely(!is_removed(next))
&& !is_dummy(next)
&& node->p.reverse_hash == reverse_hash
- && likely(!ht->compare_fct(node->key, node->key_len, key, key_len))) {
+ && caa_likely(!ht->compare_fct(node->key, node->key_len, key, key_len))) {
break;
}
node = clear_flag(next);
node = clear_flag(next);
for (;;) {
- if (unlikely(is_end(node))) {
+ if (caa_unlikely(is_end(node))) {
node = next = NULL;
break;
}
- if (unlikely(node->p.reverse_hash > reverse_hash)) {
+ if (caa_unlikely(node->p.reverse_hash > reverse_hash)) {
node = next = NULL;
break;
}
next = rcu_dereference(node->p.next);
- if (likely(!is_removed(next))
+ if (caa_likely(!is_removed(next))
&& !is_dummy(next)
- && likely(!ht->compare_fct(node->key, node->key_len, key, key_len))) {
+ && caa_likely(!ht->compare_fct(node->key, node->key_len, key, key_len))) {
break;
}
node = clear_flag(next);
node = clear_flag(iter->next);
for (;;) {
- if (unlikely(is_end(node))) {
+ if (caa_unlikely(is_end(node))) {
node = next = NULL;
break;
}
next = rcu_dereference(node->p.next);
- if (likely(!is_removed(next))
+ if (caa_likely(!is_removed(next))
&& !is_dummy(next)) {
break;
}
unsigned long test_compare(void *key1, size_t key1_len,
void *key2, size_t key2_len)
{
- if (unlikely(key1_len != key2_len))
+ if (caa_unlikely(key1_len != key2_len))
return -1;
assert(key1_len == sizeof(unsigned long));
if (key1 == key2)
rcu_thread_offline();
len = read(count_pipe[0], buf, 1);
rcu_thread_online();
- if (unlikely(!test_duration_read()))
+ if (caa_unlikely(!test_duration_read()))
break;
if (len != 1)
continue;
lookup_ok++;
}
debug_yield_read();
- if (unlikely(rduration))
+ if (caa_unlikely(rduration))
loop_sleep(rduration);
rcu_read_unlock();
nr_reads++;
- if (unlikely(!test_duration_read()))
+ if (caa_unlikely(!test_duration_read()))
break;
- if (unlikely((nr_reads & ((1 << 10) - 1)) == 0))
+ if (caa_unlikely((nr_reads & ((1 << 10) - 1)) == 0))
rcu_quiescent_state();
}
}
#endif //0
nr_writes++;
- if (unlikely(!test_duration_write()))
+ if (caa_unlikely(!test_duration_write()))
break;
- if (unlikely(wdelay))
+ if (caa_unlikely(wdelay))
loop_sleep(wdelay);
- if (unlikely((nr_writes & ((1 << 10) - 1)) == 0))
+ if (caa_unlikely((nr_writes & ((1 << 10) - 1)) == 0))
rcu_quiescent_state();
}