Lines Matching refs:shadow_ring
95 struct netmap_ring *shadow_ring, in sync_kloop_kernel_read() argument
103 CSB_READ(ptr, head, shadow_ring->head); in sync_kloop_kernel_read()
105 CSB_READ(ptr, cur, shadow_ring->cur); in sync_kloop_kernel_read()
106 CSB_READ(ptr, sync_flags, shadow_ring->flags); in sync_kloop_kernel_read()
164 struct netmap_ring shadow_ring; /* shadow copy of the netmap_ring */ in netmap_sync_kloop_tx_ring() local
182 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_tx_ring()
185 batch = shadow_ring.head - kring->nr_hwcur; in netmap_sync_kloop_tx_ring()
197 nm_prdis(1, "batch: %d head: %d head_lim: %d", batch, shadow_ring.head, in netmap_sync_kloop_tx_ring()
199 shadow_ring.head = head_lim; in netmap_sync_kloop_tx_ring()
205 shadow_ring.flags |= NAF_FORCE_RECLAIM; in netmap_sync_kloop_tx_ring()
209 shadow_ring.tail = kring->rtail; in netmap_sync_kloop_tx_ring()
210 if (unlikely(nm_txsync_prologue(kring, &shadow_ring) >= num_slots)) { in netmap_sync_kloop_tx_ring()
223 if (unlikely(kring->nm_sync(kring, shadow_ring.flags))) { in netmap_sync_kloop_tx_ring()
262 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_tx_ring()
263 if (shadow_ring.head == kring->rhead) { in netmap_sync_kloop_tx_ring()
276 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_tx_ring()
277 if (shadow_ring.head != kring->rhead) { in netmap_sync_kloop_tx_ring()
320 struct netmap_ring shadow_ring; /* shadow copy of the netmap_ring */ in netmap_sync_kloop_rx_ring() local
341 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_rx_ring()
347 shadow_ring.tail = kring->rtail; in netmap_sync_kloop_rx_ring()
348 if (unlikely(nm_rxsync_prologue(kring, &shadow_ring) >= num_slots)) { in netmap_sync_kloop_rx_ring()
361 if (unlikely(kring->nm_sync(kring, shadow_ring.flags))) { in netmap_sync_kloop_rx_ring()
401 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_rx_ring()
402 if (sync_kloop_norxslots(kring, shadow_ring.head)) { in netmap_sync_kloop_rx_ring()
415 sync_kloop_kernel_read(csb_atok, &shadow_ring, num_slots); in netmap_sync_kloop_rx_ring()
416 if (!sync_kloop_norxslots(kring, shadow_ring.head)) { in netmap_sync_kloop_rx_ring()