/freebsd/sys/dev/netmap/ |
H A D | netmap_monitor.c | 163 kring->nr_hwcur = kring->rhead; in netmap_monitor_rxsync() 235 kring->name, kring->n_monitors); in nm_monitor_dealloc() 277 kring->mon_notify = kring->nm_notify; in nm_monitor_intercept_callbacks() 283 kring->mon_tail = kring->nr_hwtail; in nm_monitor_intercept_callbacks() 291 kring->nm_sync = kring->mon_sync; in nm_monitor_restore_callbacks() 294 kring->nm_notify = kring->mon_notify; in nm_monitor_restore_callbacks() 421 kring->monitors[kring->n_monitors]; in netmap_monitor_del() 608 error = kring->mon_sync(kring, flags); in netmap_zmon_parent_sync() 686 error = kring->mon_sync(kring, flags); in netmap_zmon_parent_sync() 822 return kring->mon_sync(kring, flags); in netmap_monitor_parent_txsync() [all …]
|
H A D | netmap_generic.c | 258 if (kring->tx_event) { in generic_netmap_unregister() 261 kring->tx_event = NULL; in generic_netmap_unregister() 287 kring->tx_pool = NULL; in generic_netmap_unregister() 352 kring->tx_pool = in generic_netmap_register() 420 kring->tx_pool = NULL; in generic_netmap_register() 524 nm_prdis("hwcur = %d, hwtail = %d", kring->nr_hwcur, kring->nr_hwtail); in generic_netmap_tx_clean() 606 kring->tx_event = NULL; in generic_tx_callout() 608 netmap_generic_irq(kring->na, kring->ring_id, NULL); in generic_tx_callout() 642 m = kring->tx_pool[e]; in generic_set_tx_event() 649 if (kring->tx_event) { in generic_set_tx_event() [all …]
|
H A D | netmap.c | 890 bzero(kring, sizeof(*kring)); in netmap_krings_create() 911 kring->rhead = kring->rcur = kring->nr_hwcur = 0; in netmap_krings_create() 919 kring->name, kring->rhead, kring->rcur, kring->rtail); in netmap_krings_create() 1690 kring->rhead, kring->rcur, kring->rtail, \ 2223 kring->rhead, kring->rcur, kring->nr_hwcur, in netmap_csb_validate() 2706 kring->ring->tail = kring->rtail = kring->nr_hwtail; in nm_sync_finalize() 2709 kring->name, kring->nr_hwcur, kring->nr_hwtail, in nm_sync_finalize() 2710 kring->rhead, kring->rcur, kring->rtail); in nm_sync_finalize() 3822 kring->nm_notify(kring, 0); in netmap_poll() 4351 kring->nm_notify(kring, 0); in netmap_transmit() [all …]
|
H A D | netmap_kloop.c | 138 title, kring->name, kring->nr_hwcur, kring->rhead, in sync_kloop_kring_dump() 139 kring->rcur, kring->rtail, kring->nr_hwtail); in sync_kloop_kring_dump() 161 struct netmap_kring *kring = a->kring; in netmap_sync_kloop_tx_ring() local 239 if (kring->rtail != kring->nr_hwtail) { in netmap_sync_kloop_tx_ring() 241 kring->rtail = kring->nr_hwtail; in netmap_sync_kloop_tx_ring() 317 struct netmap_kring *kring = a->kring; in netmap_sync_kloop_rx_ring() local 988 if (((kring->rhead != kring->nr_hwcur || nm_kr_wouldblock(kring)) in netmap_pt_guest_txsync() 1023 kring->rhead, kring->rcur, kring->nr_hwtail); in netmap_pt_guest_txsync() 1060 if (kring->rhead != kring->nr_hwcur) { in netmap_pt_guest_rxsync() 1083 if ((kring->rhead != kring->nr_hwcur || nm_kr_wouldblock(kring)) in netmap_pt_guest_rxsync() [all …]
|
H A D | if_vtnet_netmap.h | 79 nm_i = kring->nr_hwcur; in vtnet_netmap_txsync() 109 kring->name, err); in vtnet_netmap_txsync() 134 kring->nr_hwtail += n; in vtnet_netmap_txsync() 135 if (kring->nr_hwtail > lim) in vtnet_netmap_txsync() 180 netmap_ring_reinit(kring); in vtnet_netmap_kring_refill() 196 kring->name, err); in vtnet_netmap_kring_refill() 215 struct netmap_kring *kring; in vtnet_netmap_rxq_populate() local 277 nm_i = kring->nr_hwtail; in vtnet_netmap_rxsync() 315 kring->nr_hwtail = nm_i; in vtnet_netmap_rxsync() 336 kring->nr_hwcur = head; in vtnet_netmap_rxsync() [all …]
|
H A D | if_re_netmap.h | 78 u_int const head = kring->rhead; in re_netmap_txsync() 91 nm_i = kring->nr_hwcur; in re_netmap_txsync() 133 kring->nr_hwcur = head; in re_netmap_txsync() 159 kring->nr_hwtail = nm_prev(netmap_idx_n2k(kring, nic_i), lim); in re_netmap_txsync() 179 u_int const head = kring->rhead; in re_netmap_rxsync() 187 return netmap_ring_reinit(kring); in re_netmap_rxsync() 227 kring->nr_hwtail = nm_i; in re_netmap_rxsync() 228 kring->nr_kflags &= ~NKR_PENDINTR; in re_netmap_rxsync() 234 nm_i = kring->nr_hwcur; in re_netmap_rxsync() 266 kring->nr_hwcur = head; in re_netmap_rxsync() [all …]
|
H A D | netmap_bdg.c | 734 kring->nm_notify(kring, 0); in netmap_bwrap_polling() 1263 kring->rhead, kring->rcur, kring->rtail); in netmap_bwrap_intr_notify() 1268 error = kring->nm_sync(kring, 0); in netmap_bwrap_intr_notify() 1287 kring->rhead = kring->rcur = kring->rtail = kring->nr_hwtail; in netmap_bwrap_intr_notify() 1289 error = kring->nm_sync(kring, 0); in netmap_bwrap_intr_notify() 1293 if (kring->rcur != kring->nr_hwtail) { in netmap_bwrap_intr_notify() 1611 (kring ? kring->name : "NULL!"), in netmap_bwrap_notify() 1624 kring->nr_hwcur, kring->nr_hwtail, kring->nkr_hwlease, in netmap_bwrap_notify() 1625 kring->rhead, kring->rcur, kring->rtail, in netmap_bwrap_notify() 1643 kring->nr_hwcur, kring->nr_hwtail, kring->nkr_hwlease, in netmap_bwrap_notify() [all …]
|
H A D | netmap_vale.c | 197 kring = na->tx_rings; in nm_free_bdgfwd() 199 if (kring[i]->nkr_ft) { in nm_free_bdgfwd() 224 kring = na->tx_rings; in nm_alloc_bdgfwd() 240 kring[i]->nkr_ft = ft; in nm_alloc_bdgfwd() 489 u_int j = kring->nr_hwcur, lim = kring->nkr_num_slots - 1; in nm_vale_preflush() 504 ft = kring->nkr_ft; in nm_vale_preflush() 908 ring = kring->ring; in nm_vale_flush() 918 kring->nm_notify(kring, NAF_FORCE_RECLAIM); in nm_vale_flush() 1072 kring->nr_hwtail = j; in nm_vale_flush() 1075 kring->nm_notify(kring, 0); in nm_vale_flush() [all …]
|
H A D | netmap_pipe.c | 421 kring->nr_mode = NKR_NETMAP_ON; in netmap_pipe_reg_both() 434 memcpy(kring->pipe->ring->slot, in netmap_pipe_reg_both() 435 kring->ring->slot, in netmap_pipe_reg_both() 437 kring->nkr_num_slots); in netmap_pipe_reg_both() 440 kring->ring->offset_mask; in netmap_pipe_reg_both() 442 kring->ring->buf_align; in netmap_pipe_reg_both() 449 kring->nr_kflags |= in netmap_pipe_reg_both() 451 kring->nr_mode = NKR_NETMAP_ON; in netmap_pipe_reg_both() 561 kring->name, ring, kring->nr_hwtail, kring->nr_hwcur); in netmap_pipe_krings_delete_both() 566 if (kring->tx == NR_RX) in netmap_pipe_krings_delete_both() [all …]
|
H A D | if_ptnet.c | 1133 kring = na->tx_rings[i]; in ptnet_sync_from_csb() 1137 kring->rhead = kring->ring->head = atok->head; in ptnet_sync_from_csb() 1138 kring->rcur = kring->ring->cur = atok->cur; in ptnet_sync_from_csb() 1140 kring->nr_hwtail = kring->rtail = in ptnet_sync_from_csb() 1147 t, i, kring->nr_hwcur, kring->rhead, kring->rcur, in ptnet_sync_from_csb() 1148 kring->ring->head, kring->ring->cur, kring->nr_hwtail, in ptnet_sync_from_csb() 1149 kring->rtail, kring->ring->tail); in ptnet_sync_from_csb() 1358 kring->rcur = kring->rhead = head; in ptnet_ring_update() 1360 nm_sync_kloop_appl_write(atok, kring->rcur, kring->rhead); in ptnet_ring_update() 1386 struct netmap_kring *kring; in ptnet_drain_transmit_queue() local [all …]
|
H A D | netmap_kern.h | 1208 return kring->rhead == kring->nr_hwtail; in nm_kr_txempty() 1221 return kring->rcur == kring->nr_hwtail; in nm_kr_wouldblock() 1405 struct netmap_kring *kring = NULL; in netmap_kring_on() local 1411 kring = na->rx_rings[q]; in netmap_kring_on() 1413 kring = na->tx_rings[q]; in netmap_kring_on() 1417 return (kring->nr_mode == NKR_NETMAP_ON) ? kring : NULL; in netmap_kring_on() 1980 (offset & kring->offset_mask); in nm_write_offset() 1988 offset = kring->offset_max; in nm_get_offset() 2079 if (kring->nr_mode != kring->nr_pending_mode) { in nm_kring_pending() 2374 nm_sync_kloop_appl_read(ktoa, &kring->nr_hwtail, &kring->nr_hwcur); in ptnet_sync_tail() [all …]
|
H A D | netmap_mem2.c | 1952 (kring->users > 0 || in netmap_mem_ring_needed() 1960 kring->users == 0 && in netmap_mem_ring_todelete() 1989 kring->name, ring, kring->users, kring->nr_kflags & NKR_NEEDRING); in netmap_mem2_rings_create() 2003 kring->ring = ring; in netmap_mem2_rings_create() 2011 ring->head = kring->rhead; in netmap_mem2_rings_create() 2012 ring->cur = kring->rcur; in netmap_mem2_rings_create() 2065 kring->name, ring, kring->users, kring->nr_kflags & NKR_NEEDRING); in netmap_mem2_rings_delete() 2077 kring->ring = NULL; in netmap_mem2_rings_delete() 2791 if (kring->ring) in netmap_mem_pt_guest_rings_create() 2798 if (kring->ring) in netmap_mem_pt_guest_rings_create() [all …]
|
H A D | netmap_bdg.h | 181 int netmap_vp_rxsync(struct netmap_kring *kring, int flags); 182 int netmap_bwrap_intr_notify(struct netmap_kring *kring, int flags); 183 int netmap_bwrap_notify(struct netmap_kring *kring, int flags);
|
H A D | netmap_null.c | 76 netmap_null_sync(struct netmap_kring *kring, int flags) in netmap_null_sync() argument 78 (void)kring; in netmap_null_sync()
|
/freebsd/sys/dev/ena/ |
H A D | ena_netmap.c | 123 head = kring->rhead; in ena_netmap_alloc_rx_slot() 127 kring->nr_hwcur, kring->nr_hwtail, kring->rhead, kring->rcur, in ena_netmap_alloc_rx_slot() 128 kring->rtail); in ena_netmap_alloc_rx_slot() 136 ring = kring->ring; in ena_netmap_alloc_rx_slot() 191 if (kring == NULL) { in ena_netmap_free_rx_slot() 327 ena_netmap_fill_ctx(kring, &ctx, ENA_IO_TXQ_IDX(kring->ring_id)); in ena_netmap_txsync() 882 ena_netmap_fill_ctx(kring, &ctx, ENA_IO_RXQ_IDX(kring->ring_id)); in ena_netmap_rxsync() 1047 refill_required = ctx->kring->rhead - ctx->kring->nr_hwcur; in ena_netmap_rx_cleanup() 1048 if (ctx->kring->nr_hwcur != ctx->kring->nr_hwtail) in ena_netmap_rx_cleanup() 1063 ctx->kring = kring; in ena_netmap_fill_ctx() [all …]
|
/freebsd/sys/dev/cxgbe/ |
H A D | t4_netmap.c | 814 kring->rhead = kring->rcur = kring->nr_hwcur = 0; in cxgbe_netmap_off() 815 kring->rtail = kring->nr_hwtail = kring->nkr_num_slots - 1; in cxgbe_netmap_off() 840 kring->rhead = kring->rcur = kring->nr_hwcur = 0; in cxgbe_netmap_off() 841 kring->rtail = kring->nr_hwtail = 0; in cxgbe_netmap_off() 1012 kring->nr_hwcur = nm_next(kring->nr_hwcur, lim); in cxgbe_nm_tx() 1124 kring->nkr_num_slots - kring->nr_hwcur + head; in cxgbe_netmap_txsync() 1160 if (kring->nr_hwtail >= kring->nkr_num_slots) in cxgbe_netmap_txsync() 1161 kring->nr_hwtail -= kring->nkr_num_slots; in cxgbe_netmap_txsync() 1196 n = head >= kring->nr_hwcur ? head - kring->nr_hwcur : in cxgbe_netmap_rxsync() 1197 kring->nkr_num_slots - kring->nr_hwcur + head; in cxgbe_netmap_rxsync() [all …]
|
/freebsd/sys/net/ |
H A D | iflib.c | 891 n = kring->nkr_num_slots - nm_kr_rxspace(kring); in netmap_fl_refill() 893 n = kring->rhead - kring->nr_hwcur; in netmap_fl_refill() 897 n += kring->nkr_num_slots; in netmap_fl_refill() 960 kring->nr_hwcur = nm_i; in netmap_fl_refill() 1034 nm_i = kring->nr_hwcur; in iflib_netmap_txsync() 1113 kring->nr_hwcur = nm_i; in iflib_netmap_txsync() 1130 if (kring->nr_hwtail != nm_prev(kring->nr_hwcur, lim)) { in iflib_netmap_txsync() 1134 kring->nr_hwtail = nm_prev(netmap_idx_n2k(kring, nic_i), lim); in iflib_netmap_txsync() 1139 if (kring->nr_hwtail != nm_prev(kring->nr_hwcur, lim)) { in iflib_netmap_txsync() 1274 kring->nr_hwtail = nm_i; in iflib_netmap_rxsync() [all …]
|
/freebsd/sys/dev/virtio/network/ |
H A D | if_vtnet.c | 1511 struct netmap_kring *kring = netmap_kring_on(NA(rxq->vtnrx_sc->vtnet_ifp), in vtnet_rxq_free_mbufs() local 1514 void *kring = NULL; in vtnet_rxq_free_mbufs() local 1521 if (kring == NULL) in vtnet_rxq_free_mbufs() 2347 struct netmap_kring *kring = netmap_kring_on(NA(txq->vtntx_sc->vtnet_ifp), in vtnet_txq_free_mbufs() local 2350 void *kring = NULL; in vtnet_txq_free_mbufs() local 2357 if (kring == NULL) { in vtnet_txq_free_mbufs()
|
/freebsd/sys/dev/ixgbe/ |
H A D | if_ixv.c | 1473 struct netmap_kring *kring = na->rx_rings[j]; in ixv_initialize_receive_units() local 1474 int t = na->num_rx_desc - 1 - nm_kr_rxspace(kring); in ixv_initialize_receive_units()
|
/freebsd/sys/dev/re/ |
H A D | if_re.c | 2951 struct netmap_kring *kring = NA(ifp)->tx_rings[0]; in re_start_locked() local 2952 if (sc->rl_ldata.rl_tx_prodidx != kring->nr_hwcur) { in re_start_locked()
|