Home | History | Annotate | Download | only in static

Lines Matching refs:ctr

54 	unsigned long ctr;
86 static inline enum urcu_state urcu_qsbr_reader_state(unsigned long *ctr,
91 v = uatomic_load(ctr, CMM_RELAXED);
92 cmm_annotate_group_mem_acquire(group, ctr);
96 if (v == urcu_qsbr_gp.ctr)
110 urcu_assert_debug(URCU_TLS(urcu_qsbr_reader).ctr);
122 urcu_assert_debug(URCU_TLS(urcu_qsbr_reader).ctr);
134 return URCU_TLS(urcu_qsbr_reader).ctr;
141 * URCU_TLS(urcu_qsbr_reader).ctr, and ensures that mutexes held within an
144 * store to URCU_TLS(urcu_qsbr_reader).ctr.
148 uatomic_store(&URCU_TLS(urcu_qsbr_reader).ctr, gp_ctr, CMM_SEQ_CST);
150 /* write URCU_TLS(urcu_qsbr_reader).ctr before read futex */
162 * We skip the memory barriers and gp store if our local ctr already
163 * matches the global urcu_qsbr_gp.ctr value: this is OK because a prior
172 gp_ctr = uatomic_load(&urcu_qsbr_gp.ctr, CMM_RELAXED);
173 if (gp_ctr == URCU_TLS(urcu_qsbr_reader).ctr)
189 uatomic_store(&URCU_TLS(urcu_qsbr_reader).ctr, 0, CMM_SEQ_CST);
190 /* write URCU_TLS(urcu_qsbr_reader).ctr before read futex */
205 unsigned long *pctr = &URCU_TLS(urcu_qsbr_reader).ctr;
206 unsigned long ctr;
210 ctr = uatomic_load(&urcu_qsbr_gp.ctr, CMM_RELAXED);
211 cmm_annotate_mem_acquire(&urcu_qsbr_gp.ctr);
212 uatomic_store(pctr, ctr, CMM_RELAXED);