X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src%2Frcu.h;h=86b9e2433daab72964186153e3847d6489739bf9;hb=d37c7e99ac9d4e9f5d637ce0a385e62dbc4efdf4;hp=9d335119b9907aabcd069bed3790bcff2b7800e5;hpb=5530345d36682a874a188c237d1dcd0db80b42e4;p=libside.git diff --git a/src/rcu.h b/src/rcu.h index 9d33511..86b9e24 100644 --- a/src/rcu.h +++ b/src/rcu.h @@ -81,7 +81,8 @@ void side_rcu_read_begin(struct side_rcu_gp_state *gp_state, struct side_rcu_rea read_state->percpu_count = begin_cpu_count = &cpu_gp_state->count[period]; read_state->cpu = cpu; if (side_likely(side_rcu_rseq_membarrier_available && - !rseq_addv((intptr_t *)&begin_cpu_count->rseq_begin, 1, cpu))) { + !rseq_addv(RSEQ_MO_RELAXED, RSEQ_PERCPU_CPU_ID, + (intptr_t *)&begin_cpu_count->rseq_begin, 1, cpu))) { /* * This compiler barrier (A) is paired with membarrier() at (C), * (D), (E). It effectively upgrades this compiler barrier to a @@ -129,7 +130,8 @@ void side_rcu_read_end(struct side_rcu_gp_state *gp_state, struct side_rcu_read_ */ rseq_barrier(); if (side_likely(side_rcu_rseq_membarrier_available && - !rseq_addv((intptr_t *)&begin_cpu_count->rseq_end, 1, cpu))) { + !rseq_addv(RSEQ_MO_RELAXED, RSEQ_PERCPU_CPU_ID, + (intptr_t *)&begin_cpu_count->rseq_end, 1, cpu))) { /* * This barrier (F) is paired with membarrier() * at (G). It orders increment of the begin/end