Searched refs:kring (Results 1 - 20 of 20) sorted by relevance

/freebsd-current/sys/dev/netmap/
H A Dnetmap_monitor.c141 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 Dnetmap_generic.c225 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 Dif_vtnet_netmap.h58 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 Dnetmap_kloop.c61 /* 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 Dnetmap.c291 * 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 Dif_re_netmap.h69 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 Dnetmap_pipe.c398 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 Dnetmap_vale.c193 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 Dnetmap_bdg.c723 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 Dif_ptnet.c211 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 Dnetmap_kern.h397 * 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 Dnetmap_bdg.h181 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 Dnetmap_null.c76 netmap_null_sync(struct netmap_kring *kring, int flags) argument
78 (void)kring;
H A Dnetmap_mem2.c1949 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 Dena_netmap.c41 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 Dt4_netmap.c516 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 Diflib.c768 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 Dif_vtnet.c1511 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 Dif_ixv.c1473 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 Dif_re.c2951 struct netmap_kring *kring = NA(ifp)->tx_rings[0]; local
2952 if (sc->rl_ldata.rl_tx_prodidx != kring->nr_hwcur) {

Completed in 308 milliseconds