Lines Matching defs:pf
84 * @param pf
88 rte_pflock_init(struct rte_pflock *pf)
90 pf->rd.in = 0;
91 pf->rd.out = 0;
92 pf->wr.in = 0;
93 pf->wr.out = 0;
99 * @param pf
103 rte_pflock_read_lock(rte_pflock_t *pf)
111 w = rte_atomic_fetch_add_explicit(&pf->rd.in, RTE_PFLOCK_RINC, rte_memory_order_acquire)
117 RTE_WAIT_UNTIL_MASKED(&pf->rd.in, RTE_PFLOCK_WBITS, !=, w, rte_memory_order_acquire);
123 * @param pf
127 rte_pflock_read_unlock(rte_pflock_t *pf)
129 rte_atomic_fetch_add_explicit(&pf->rd.out, RTE_PFLOCK_RINC, rte_memory_order_release);
135 * @param pf
139 rte_pflock_write_lock(rte_pflock_t *pf)
146 ticket = rte_atomic_fetch_add_explicit(&pf->wr.in, 1, rte_memory_order_relaxed);
147 rte_wait_until_equal_16((uint16_t *)(uintptr_t)&pf->wr.out, ticket,
159 ticket = rte_atomic_fetch_add_explicit(&pf->rd.in, w, rte_memory_order_relaxed);
162 rte_wait_until_equal_16((uint16_t *)(uintptr_t)&pf->rd.out, ticket,
169 * @param pf
173 rte_pflock_write_unlock(rte_pflock_t *pf)
176 rte_atomic_fetch_and_explicit(&pf->rd.in, RTE_PFLOCK_LSB, rte_memory_order_release);
179 rte_atomic_fetch_add_explicit(&pf->wr.out, 1, rte_memory_order_release);