/freebsd-current/sys/dev/netmap/ |
H A D | netmap_monitor.c | 141 netmap_monitor_txsync(struct netmap_kring *kring, int flags) argument 143 nm_prlim(1, "%s %x", kring->name, flags); 154 netmap_monitor_rxsync(struct netmap_kring *kring, int flags) argument 157 (struct netmap_monitor_adapter *)kring->na; 162 nm_prdis("%s %x", kring->name, flags); 163 kring->nr_hwcur = kring->rhead; 183 struct netmap_kring *kring = NMR(na, t)[first + i]; local 184 kring->nm_sync = t == NR_TX ? netmap_monitor_txsync : 205 /* allocate the monitors array in the monitored kring */ 207 nm_monitor_alloc(struct netmap_kring *kring, u_int n) argument 230 nm_monitor_dealloc(struct netmap_kring *kring) argument 246 nm_monitor_none(struct netmap_kring *kring) argument 264 nm_monitor_dummycb(struct netmap_kring *kring, int flags) argument 272 nm_monitor_intercept_callbacks(struct netmap_kring *kring) argument 288 nm_monitor_restore_callbacks(struct netmap_kring *kring) argument 303 struct netmap_kring *kring = mkring; local 318 netmap_monitor_add(struct netmap_kring *mkring, struct netmap_kring *kring, int zmon) argument 371 netmap_monitor_del(struct netmap_kring *mkring, struct netmap_kring *kring, enum txrx t) argument 456 struct netmap_kring *kring = NMR(na, t)[i]; local 515 struct netmap_kring *kring, *mkring; local 587 netmap_zmon_parent_sync(struct netmap_kring *kring, int flags, enum txrx tx) argument 693 netmap_zmon_parent_txsync(struct netmap_kring *kring, int flags) argument 700 netmap_zmon_parent_rxsync(struct netmap_kring *kring, int flags) argument 730 netmap_monitor_parent_sync(struct netmap_kring *kring, u_int first_new, int new_slots) argument 805 netmap_monitor_parent_txsync(struct netmap_kring *kring, int flags) argument 827 netmap_monitor_parent_rxsync(struct netmap_kring *kring, int flags) argument 854 netmap_monitor_parent_notify(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_generic.c | 225 struct netmap_kring *kring = NULL; local 240 for_each_rx_kring(r, kring, na) { 244 mbq_safe_purge(&kring->rx_queue); 252 for_each_tx_kring(r, kring, na) { 257 mtx_lock_spin(&kring->tx_event_lock); 258 if (kring->tx_event) { 259 SET_MBUF_DESTRUCTOR(kring->tx_event, NULL, NULL); 261 kring->tx_event = NULL; 262 mtx_unlock_spin(&kring->tx_event_lock); 268 for_each_rx_kring(r, kring, n 307 struct netmap_kring *kring = NULL; local 440 struct netmap_kring *kring; local 516 generic_netmap_tx_clean(struct netmap_kring *kring, int txqdisc) argument 604 struct netmap_kring *kring = arg; local 613 generic_set_tx_event(struct netmap_kring *kring, u_int hwcur) argument 693 generic_netmap_txsync(struct netmap_kring *kring, int flags) argument 867 struct netmap_kring *kring; local 925 generic_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_vtnet_netmap.h | 58 vtnet_netmap_txsync(struct netmap_kring *kring, int flags) argument 60 struct netmap_adapter *na = kring->na; 62 struct netmap_ring *ring = kring->ring; 63 u_int ring_nr = kring->ring_id; 65 u_int const lim = kring->nkr_num_slots - 1; 66 u_int const head = kring->rhead; 72 int interrupts = !(kring->nr_kflags & NKR_NOINTR); 79 nm_i = kring->nr_hwcur; 86 uint64_t offset = nm_get_offset(kring, slot); 109 kring 153 vtnet_netmap_kring_refill(struct netmap_kring *kring, u_int num) argument 215 struct netmap_kring *kring; local 244 vtnet_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_kloop.c | 61 /* Write kring pointers (hwcur, hwtail) to the CSB. 91 /* Read kring pointers (head, cur, sync_flags) from the CSB. 134 sync_kloop_kring_dump(const char *title, const struct netmap_kring *kring) argument 136 nm_prinf("%s, kring %s, hwcur %d, rhead %d, " 138 title, kring->name, kring->nr_hwcur, kring->rhead, 139 kring->rcur, kring->rtail, kring 146 struct netmap_kring *kring; member in struct:sync_kloop_ring_args 161 struct netmap_kring *kring = a->kring; local 307 sync_kloop_norxslots(struct netmap_kring *kring, uint32_t g_head) argument 317 struct netmap_kring *kring = a->kring; local 972 netmap_pt_guest_txsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, struct netmap_kring *kring, int flags) argument 1040 netmap_pt_guest_rxsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap.c | 291 * kring->nm_sync() == DEVICE_netmap_txsync() 297 * kring->nm_sync() == DEVICE_netmap_rxsync() 306 * kring->nm_sync() == netmap_rxsync_from_host 310 * kring->nm_sync() == netmap_txsync_to_host 324 * kring->nm_sync() == generic_netmap_txsync() 334 * kring->nm_sync() == generic_netmap_rxsync() 357 * kring->nm_sync() == netmap_vp_txsync() 363 * kring->nm_sync() == DEVICE_netmap_rxsync() 365 * kring->nm_sync() == DEVICE_netmap_rxsync() 369 * kring 812 netmap_default_bufcfg(struct netmap_kring *kring, uint64_t target) argument 848 struct netmap_kring *kring; local 944 struct netmap_kring **kring = na->tx_rings; local 1014 struct netmap_kring *kring; local 1230 netmap_grab_packets(struct netmap_kring *kring, struct mbq *q, int force) argument 1258 _nm_may_forward(struct netmap_kring *kring) argument 1266 nm_may_forward_up(struct netmap_kring *kring) argument 1273 nm_may_forward_down(struct netmap_kring *kring, int sync_flags) argument 1295 struct netmap_kring *kring = na->rx_rings[na->num_rx_rings]; local 1346 netmap_txsync_to_host(struct netmap_kring *kring, int flags) argument 1379 netmap_rxsync_from_host(struct netmap_kring *kring, int flags) argument 1710 nm_txsync_prologue(struct netmap_kring *kring, struct netmap_ring *ring) argument 1774 nm_rxsync_prologue(struct netmap_kring *kring, struct netmap_ring *ring) argument 1836 netmap_ring_reinit(struct netmap_kring *kring) argument 2055 struct netmap_kring *kring; local 2101 struct netmap_kring *kring; local 2203 struct netmap_kring *kring = local 2285 struct netmap_kring *kring; local 2353 struct netmap_kring *kring = NMR(na, t)[i]; local 2418 struct netmap_kring *kring; local 2699 nm_sync_finalize(struct netmap_kring *kring) argument 3186 struct netmap_kring *kring = krings[i]; local 3657 struct netmap_kring *kring; local 3926 struct netmap_kring *kring = NMR(na, t)[i]; local 3960 netmap_notify(struct netmap_kring *kring, int flags) argument 4263 struct netmap_kring *kring, *tx_kring; local 4377 struct netmap_kring *kring; local 4456 struct netmap_kring *kring; local 4564 struct netmap_kring *kring = NMR(na, t)[i]; local [all...] |
H A D | if_re_netmap.h | 69 re_netmap_txsync(struct netmap_kring *kring, int flags) argument 71 struct netmap_adapter *na = kring->na; 73 struct netmap_ring *ring = kring->ring; 77 u_int const lim = kring->nkr_num_slots - 1; 78 u_int const head = kring->rhead; 91 nm_i = kring->nr_hwcur; 94 // XXX or netmap_idx_k2n(kring, nm_i); 133 kring->nr_hwcur = head; 147 if (flags & NAF_FORCE_RECLAIM || nm_kr_txempty(kring)) { 159 kring 171 re_netmap_rxsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_pipe.c | 398 struct netmap_kring *kring = NMR(na, t)[i]; local 400 if (nm_kring_pending_on(kring)) { 402 kring->pipe->nr_kflags |= NKR_NEEDRING; 418 struct netmap_kring *kring = NMR(na, t)[i]; local 419 if (nm_kring_pending_on(kring)) { 421 kring->nr_mode = NKR_NETMAP_ON; 422 if ((kring->nr_kflags & NKR_FAKERING) && 423 (kring->pipe->nr_kflags & NKR_FAKERING)) { 434 memcpy(kring->pipe->ring->slot, 435 kring 556 struct netmap_kring *kring = NMR(sna, t)[i]; local [all...] |
H A D | netmap_vale.c | 193 struct netmap_kring **kring; local 197 kring = na->tx_rings; 199 if (kring[i]->nkr_ft) { 200 nm_os_free(kring[i]->nkr_ft); 201 kring[i]->nkr_ft = NULL; /* protect from freeing twice */ 214 struct netmap_kring **kring; local 224 kring = na->tx_rings; 240 kring[i]->nkr_ft = ft; 476 * Grab packets from a kring, move them into the ft structure 482 nm_vale_preflush(struct netmap_kring *kring, u_in argument 829 struct netmap_kring *kring; local 1102 netmap_vale_vp_txsync(struct netmap_kring *kring, int flags) argument [all...] |
H A D | netmap_bdg.c | 723 struct netmap_kring **kring0, *kring; local 733 kring = kring0[i]; 734 kring->nm_notify(kring, 0); 1096 netmap_vp_rxsync_locked(struct netmap_kring *kring, int flags) argument 1098 struct netmap_adapter *na = kring->na; 1099 struct netmap_ring *ring = kring->ring; 1100 u_int nm_i, lim = kring->nkr_num_slots - 1; 1101 u_int head = kring->rhead; 1106 n = netmap_ring_reinit(kring); 1144 netmap_vp_rxsync(struct netmap_kring *kring, int flags) argument 1241 netmap_bwrap_intr_notify(struct netmap_kring *kring, int flags) argument 1350 struct netmap_kring *kring = NMR(hwna, nm_txrx_swap(t))[i]; local 1467 netmap_bwrap_bufcfg(struct netmap_kring *kring, uint64_t target) argument 1600 netmap_bwrap_notify(struct netmap_kring *kring, int flags) argument [all...] |
H A D | if_ptnet.c | 211 static int ptnet_nm_txsync(struct netmap_kring *kring, int flags); 212 static int ptnet_nm_rxsync(struct netmap_kring *kring, int flags); 218 static unsigned ptnet_rx_discard(struct netmap_kring *kring, 1130 struct netmap_kring *kring; local 1133 kring = na->tx_rings[i]; 1135 kring = na->rx_rings[i - na->num_tx_rings]; 1137 kring->rhead = kring->ring->head = atok->head; 1138 kring->rcur = kring 1244 ptnet_nm_txsync(struct netmap_kring *kring, int flags) argument 1259 ptnet_nm_rxsync(struct netmap_kring *kring, int flags) argument 1345 ptnet_ring_update(struct ptnet_queue *pq, struct netmap_kring *kring, unsigned int head, unsigned int sync_flags) argument 1386 struct netmap_kring *kring; local 1622 ptnet_rx_discard(struct netmap_kring *kring, unsigned int head) argument 1684 struct netmap_kring *kring = na->rx_rings[pq->kring_id]; local [all...] |
H A D | netmap_kern.h | 397 * The kring is manipulated by txsync/rxsync and generic netmap function. 468 NM_LOCK_T q_lock; /* protects kring and ring. */ 471 /* the adapter the owns this kring */ 474 /* the adapter that wants to be notified when this kring has 488 * be started on this kring. 491 * structures pointed to by the kring can be added or removed 511 uint32_t ring_id; /* kring identifier */ 515 /* [tx]sync callback for this kring. 517 * sets the nm_sync callback of each hardware tx(rx) kring to 526 int (*nm_sync)(struct netmap_kring *kring, in 597 nm_kring_pending_on(struct netmap_kring *kring) argument 605 nm_kring_pending_off(struct netmap_kring *kring) argument 1206 nm_kr_txempty(struct netmap_kring *kring) argument 1219 nm_kr_wouldblock(struct netmap_kring *kring) argument 1405 struct netmap_kring *kring = NULL; local 1976 nm_write_offset(struct netmap_kring *kring, struct netmap_slot *slot, uint64_t offset) argument 1984 nm_get_offset(struct netmap_kring *kring, struct netmap_slot *slot) argument 1993 NMB_O(struct netmap_kring *kring, struct netmap_slot *slot) argument 2000 PNMB_O(struct netmap_kring *kring, struct netmap_slot *slot, uint64_t *pp) argument 2078 struct netmap_kring *kring = NMR(na, t)[i]; local 2369 ptnet_sync_tail(struct nm_csb_ktoa *ktoa, struct netmap_kring *kring) argument [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) argument 78 (void)kring;
|
H A D | netmap_mem2.c | 1949 netmap_mem_ring_needed(struct netmap_kring *kring) argument 1951 return kring->ring == NULL && 1952 (kring->users > 0 || 1953 (kring->nr_kflags & NKR_NEEDRING)); 1957 netmap_mem_ring_todelete(struct netmap_kring *kring) argument 1959 return kring->ring != NULL && 1960 kring->users == 0 && 1961 !(kring->nr_kflags & NKR_NEEDRING); 1969 * The kring array must follow the layout described 1981 struct netmap_kring *kring local 2059 struct netmap_kring *kring = NMR(na, t)[i]; local 2790 struct netmap_kring *kring = na->tx_rings[i]; local 2797 struct netmap_kring *kring = na->rx_rings[i]; local [all...] |
/freebsd-current/sys/dev/ena/ |
H A D | ena_netmap.c | 41 struct netmap_kring *kring; member in struct:ena_netmap_ctx 109 struct netmap_kring *kring; local 121 kring = na->rx_rings[qid]; 122 nm_i = kring->nr_hwcur; 123 head = kring->rhead; 127 kring->nr_hwcur, kring->nr_hwtail, kring->rhead, kring->rcur, 128 kring 174 struct netmap_kring *kring; local 223 struct netmap_kring *kring; local 275 struct netmap_kring *kring; local 322 ena_netmap_txsync(struct netmap_kring *kring, int flags) argument 877 ena_netmap_rxsync(struct netmap_kring *kring, int flags) argument 1060 ena_netmap_fill_ctx(struct netmap_kring *kring, struct ena_netmap_ctx *ctx, uint16_t ena_qid) argument [all...] |
/freebsd-current/sys/dev/cxgbe/ |
H A D | t4_netmap.c | 516 struct netmap_kring *kring; local 528 kring = na->rx_rings[nm_rxq->nid]; 529 if ((nm_state != NM_OFF && !nm_kring_pending_off(kring)) || 530 (nm_state == NM_OFF && nm_kring_pending_on(kring))) { 547 kring = na->rx_rings[nm_rxq->nid]; 549 !nm_kring_pending_off(kring)) || 551 nm_kring_pending_on(kring))) { 584 struct netmap_kring *kring; local 597 kring = na->rx_rings[nm_rxq->nid]; 598 if ((nm_state != NM_OFF && !nm_kring_pending_off(kring)) || 691 struct netmap_kring *kring; local 780 struct netmap_kring *kring; local 966 cxgbe_nm_tx(struct adapter *sc, struct sge_nm_txq *nm_txq, struct netmap_kring *kring, int npkt, int npkt_remaining) argument 1105 cxgbe_netmap_txsync(struct netmap_kring *kring, int flags) argument 1168 cxgbe_netmap_rxsync(struct netmap_kring *kring, int flags) argument 1334 struct netmap_kring *kring = na->rx_rings[nm_rxq->nid]; local [all...] |
/freebsd-current/sys/net/ |
H A D | iflib.c | 768 static int netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, bool init); 858 netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, bool init) argument 860 struct netmap_adapter *na = kring->na; 861 u_int const lim = kring->nkr_num_slots - 1; 862 struct netmap_ring *ring = kring->ring; 878 * such a way to keep fl->ifl_pidx and kring->nr_hwcur in sync 879 * (except for kring->nkr_hwofs). These may be less than 880 * kring->nkr_num_slots if netmap_reset() was called while 881 * an application using the kring that still owned some 891 n = kring 988 iflib_netmap_txsync(struct netmap_kring *kring, int flags) argument 1166 iflib_netmap_rxsync(struct netmap_kring *kring, int flags) argument 1360 struct netmap_kring *kring; local [all...] |
/freebsd-current/sys/dev/virtio/network/ |
H A D | if_vtnet.c | 1511 struct netmap_kring *kring = netmap_kring_on(NA(rxq->vtnrx_sc->vtnet_ifp), local 1514 void *kring = NULL; local 1521 if (kring == NULL) 2220 * to stall in the RX queue (nm_kr_tryget() could find the kring 2347 struct netmap_kring *kring = netmap_kring_on(NA(txq->vtntx_sc->vtnet_ifp), local 2350 void *kring = NULL; local 2357 if (kring == NULL) {
|
/freebsd-current/sys/dev/ixgbe/ |
H A D | if_ixv.c | 1473 struct netmap_kring *kring = na->rx_rings[j]; local 1474 int t = na->num_rx_desc - 1 - nm_kr_rxspace(kring);
|
/freebsd-current/sys/dev/re/ |
H A D | if_re.c | 2951 struct netmap_kring *kring = NA(ifp)->tx_rings[0]; local 2952 if (sc->rl_ldata.rl_tx_prodidx != kring->nr_hwcur) {
|