Lines Matching refs:ring
45 struct xdp_ring *ring; member
122 struct xdp_umem_ring *ring = (struct xdp_umem_ring *)q->ring; in __xskq_cons_read_addr_unchecked() local
125 *addr = ring->desc[idx]; in __xskq_cons_read_addr_unchecked()
213 struct xdp_rxtx_ring *ring = (struct xdp_rxtx_ring *)q->ring; in xskq_cons_read_desc() local
216 *desc = ring->desc[idx]; in xskq_cons_read_desc()
248 struct xdp_rxtx_ring *ring = (struct xdp_rxtx_ring *)q->ring; in xskq_cons_read_desc_batch() local
252 descs[nb_entries] = ring->desc[idx]; in xskq_cons_read_desc_batch()
281 smp_store_release(&q->ring->consumer, q->cached_cons); /* D, matchees A */ in __xskq_cons_release()
287 q->cached_prod = smp_load_acquire(&q->ring->producer); /* C, matches B */ in __xskq_cons_peek()
342 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries()
355 q->cached_cons = READ_ONCE(q->ring->consumer); in xskq_prod_nb_free()
383 struct xdp_umem_ring *ring = (struct xdp_umem_ring *)q->ring; in xskq_prod_reserve_addr() local
389 ring->desc[q->cached_prod++ & q->ring_mask] = addr; in xskq_prod_reserve_addr()
396 struct xdp_umem_ring *ring = (struct xdp_umem_ring *)q->ring; in xskq_prod_write_addr_batch() local
402 ring->desc[cached_prod++ & q->ring_mask] = descs[i].addr; in xskq_prod_write_addr_batch()
409 struct xdp_rxtx_ring *ring = (struct xdp_rxtx_ring *)q->ring; in xskq_prod_reserve_desc() local
417 ring->desc[idx].addr = addr; in xskq_prod_reserve_desc()
418 ring->desc[idx].len = len; in xskq_prod_reserve_desc()
419 ring->desc[idx].options = flags; in xskq_prod_reserve_desc()
426 smp_store_release(&q->ring->producer, idx); /* B, matches C */ in __xskq_prod_submit()
436 __xskq_prod_submit(q, q->ring->producer + nb_entries); in xskq_prod_submit_n()
442 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()