Home
last modified time | relevance | path

Searched refs:kring (Results 1 – 17 of 17) sorted by relevance

/trueos/sys/dev/netmap/
HDnetmap.c693 netmap_txsync_to_host_compat(struct netmap_kring *kring, int flags) in netmap_txsync_to_host_compat() argument
696 netmap_txsync_to_host(kring->na); in netmap_txsync_to_host_compat()
702 netmap_rxsync_from_host_compat(struct netmap_kring *kring, int flags) in netmap_rxsync_from_host_compat() argument
705 netmap_rxsync_from_host(kring->na, NULL, NULL); in netmap_rxsync_from_host_compat()
740 struct netmap_kring *kring; in netmap_krings_create() local
762 kring = &na->tx_rings[i]; in netmap_krings_create()
763 bzero(kring, sizeof(*kring)); in netmap_krings_create()
764 kring->na = na; in netmap_krings_create()
765 kring->ring_id = i; in netmap_krings_create()
766 kring->nkr_num_slots = ndesc; in netmap_krings_create()
[all …]
HDnetmap_monitor.c113 netmap_monitor_parent_sync(struct netmap_kring *kring, int flags, u_int* ringptr) in netmap_monitor_parent_sync() argument
115 struct netmap_monitor_adapter *mna = kring->monitor; in netmap_monitor_parent_sync()
116 struct netmap_kring *mkring = &mna->up.rx_rings[kring->ring_id]; in netmap_monitor_parent_sync()
117 struct netmap_ring *ring = kring->ring, *mring = mkring->ring; in netmap_monitor_parent_sync()
121 u_int lim = kring->nkr_num_slots - 1, in netmap_monitor_parent_sync()
126 error = kring->save_sync(kring, flags); in netmap_monitor_parent_sync()
132 rel_slots += kring->nkr_num_slots; in netmap_monitor_parent_sync()
193 netmap_monitor_parent_txsync(struct netmap_kring *kring, int flags) in netmap_monitor_parent_txsync() argument
195 ND("%s %x", kring->name, flags); in netmap_monitor_parent_txsync()
196 return netmap_monitor_parent_sync(kring, flags, &kring->nr_hwtail); in netmap_monitor_parent_txsync()
[all …]
HDif_vtnet_netmap.h109 vtnet_netmap_txsync(struct netmap_kring *kring, int flags) in vtnet_netmap_txsync() argument
111 struct netmap_adapter *na = kring->na; in vtnet_netmap_txsync()
113 struct netmap_ring *ring = kring->ring; in vtnet_netmap_txsync()
114 u_int ring_nr = kring->ring_id; in vtnet_netmap_txsync()
118 u_int const lim = kring->nkr_num_slots - 1; in vtnet_netmap_txsync()
119 u_int const head = kring->rhead; in vtnet_netmap_txsync()
131 nm_i = kring->nr_hwcur; in vtnet_netmap_txsync()
135 nic_i = netmap_idx_k2n(kring, nm_i); in vtnet_netmap_txsync()
167 kring->nr_hwcur = nm_i; /* note we migth break early */ in vtnet_netmap_txsync()
205 kring->nr_hwtail += n; in vtnet_netmap_txsync()
[all …]
HDif_igb_netmap.h84 igb_netmap_txsync(struct netmap_kring *kring, int flags) in igb_netmap_txsync() argument
86 struct netmap_adapter *na = kring->na; in igb_netmap_txsync()
88 struct netmap_ring *ring = kring->ring; in igb_netmap_txsync()
92 u_int const lim = kring->nkr_num_slots - 1; in igb_netmap_txsync()
93 u_int const head = kring->rhead; in igb_netmap_txsync()
95 u_int report_frequency = kring->nkr_num_slots >> 1; in igb_netmap_txsync()
99 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id]; in igb_netmap_txsync()
111 nm_i = kring->nr_hwcur; in igb_netmap_txsync()
113 nic_i = netmap_idx_k2n(kring, nm_i); in igb_netmap_txsync()
155 kring->nr_hwcur = head; in igb_netmap_txsync()
[all …]
HDif_em_netmap.h116 em_netmap_txsync(struct netmap_kring *kring, int flags) in em_netmap_txsync() argument
118 struct netmap_adapter *na = kring->na; in em_netmap_txsync()
120 struct netmap_ring *ring = kring->ring; in em_netmap_txsync()
124 u_int const lim = kring->nkr_num_slots - 1; in em_netmap_txsync()
125 u_int const head = kring->rhead; in em_netmap_txsync()
127 u_int report_frequency = kring->nkr_num_slots >> 1; in em_netmap_txsync()
131 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id]; in em_netmap_txsync()
140 nm_i = kring->nr_hwcur; in em_netmap_txsync()
142 nic_i = netmap_idx_k2n(kring, nm_i); in em_netmap_txsync()
175 kring->nr_hwcur = head; in em_netmap_txsync()
[all …]
HDixgbe_netmap.h156 ixgbe_netmap_txsync(struct netmap_kring *kring, int flags) in ixgbe_netmap_txsync() argument
158 struct netmap_adapter *na = kring->na; in ixgbe_netmap_txsync()
160 struct netmap_ring *ring = kring->ring; in ixgbe_netmap_txsync()
164 u_int const lim = kring->nkr_num_slots - 1; in ixgbe_netmap_txsync()
165 u_int const head = kring->rhead; in ixgbe_netmap_txsync()
170 u_int report_frequency = kring->nkr_num_slots >> 1; in ixgbe_netmap_txsync()
174 struct tx_ring *txr = &adapter->tx_rings[kring->ring_id]; in ixgbe_netmap_txsync()
215 nm_i = kring->nr_hwcur; in ixgbe_netmap_txsync()
217 nic_i = netmap_idx_k2n(kring, nm_i); in ixgbe_netmap_txsync()
261 kring->nr_hwcur = head; in ixgbe_netmap_txsync()
[all …]
HDnetmap_generic.c430 generic_netmap_tx_clean(struct netmap_kring *kring) in generic_netmap_tx_clean() argument
432 u_int const lim = kring->nkr_num_slots - 1; in generic_netmap_tx_clean()
433 u_int nm_i = nm_next(kring->nr_hwtail, lim); in generic_netmap_tx_clean()
434 u_int hwcur = kring->nr_hwcur; in generic_netmap_tx_clean()
436 struct mbuf **tx_pool = kring->tx_pool; in generic_netmap_tx_clean()
443 tx_pool[nm_i] = m = netmap_get_mbuf(NETMAP_BUF_SIZE(kring->na)); in generic_netmap_tx_clean()
472 kring->nr_hwtail = nm_prev(nm_i, lim); in generic_netmap_tx_clean()
473 ND("tx completed [%d] -> hwtail %d", n, kring->nr_hwtail); in generic_netmap_tx_clean()
485 generic_tx_event_middle(struct netmap_kring *kring, u_int hwcur) in generic_tx_event_middle() argument
487 u_int n = kring->nkr_num_slots; in generic_tx_event_middle()
[all …]
HDif_lem_netmap.h88 lem_netmap_txsync(struct netmap_kring *kring, int flags) in lem_netmap_txsync() argument
90 struct netmap_adapter *na = kring->na; in lem_netmap_txsync()
92 struct netmap_ring *ring = kring->ring; in lem_netmap_txsync()
95 u_int const lim = kring->nkr_num_slots - 1; in lem_netmap_txsync()
96 u_int const head = kring->rhead; in lem_netmap_txsync()
98 u_int report_frequency = kring->nkr_num_slots >> 1; in lem_netmap_txsync()
114 nm_i = kring->nr_hwcur; in lem_netmap_txsync()
129 nic_i = netmap_idx_k2n(kring, nm_i); in lem_netmap_txsync()
163 kring->nr_hwcur = head; in lem_netmap_txsync()
206 if (ticks != kring->last_reclaim || flags & NAF_FORCE_RECLAIM || nm_kr_txempty(kring)) { in lem_netmap_txsync()
[all …]
HDif_re_netmap.h68 re_netmap_txsync(struct netmap_kring *kring, int flags) in re_netmap_txsync() argument
70 struct netmap_adapter *na = kring->na; in re_netmap_txsync()
72 struct netmap_ring *ring = kring->ring; in re_netmap_txsync()
76 u_int const lim = kring->nkr_num_slots - 1; in re_netmap_txsync()
77 u_int const head = kring->rhead; in re_netmap_txsync()
90 nm_i = kring->nr_hwcur; in re_netmap_txsync()
132 kring->nr_hwcur = head; in re_netmap_txsync()
146 if (flags & NAF_FORCE_RECLAIM || nm_kr_txempty(kring)) { in re_netmap_txsync()
158 kring->nr_hwtail = nm_prev(netmap_idx_n2k(kring, nic_i), lim); in re_netmap_txsync()
162 nm_txsync_finalize(kring); in re_netmap_txsync()
[all …]
HDnetmap_vale.c346 struct netmap_kring *kring; in nm_free_bdgfwd() local
350 kring = na->tx_rings; in nm_free_bdgfwd()
352 if (kring[i].nkr_ft) { in nm_free_bdgfwd()
353 free(kring[i].nkr_ft, M_DEVBUF); in nm_free_bdgfwd()
354 kring[i].nkr_ft = NULL; /* protect from freeing twice */ in nm_free_bdgfwd()
367 struct netmap_kring *kring; in nm_alloc_bdgfwd() local
377 kring = na->tx_rings; in nm_alloc_bdgfwd()
393 kring[i].nkr_ft = ft; in nm_alloc_bdgfwd()
1037 nm_bdg_preflush(struct netmap_kring *kring, u_int end) in nm_bdg_preflush() argument
1040 (struct netmap_vp_adapter*)kring->na; in nm_bdg_preflush()
[all …]
HDnetmap_mem2.c1307 struct netmap_kring *kring; in netmap_free_rings() local
1311 for (kring = na->tx_rings; kring != na->rx_rings; kring++) { in netmap_free_rings()
1312 ring = kring->ring; in netmap_free_rings()
1315 netmap_free_bufs(na->nm_mem, ring->slot, kring->nkr_num_slots); in netmap_free_rings()
1317 kring->ring = NULL; in netmap_free_rings()
1319 for (/* cont'd from above */; kring != na->tailroom; kring++) { in netmap_free_rings()
1320 ring = kring->ring; in netmap_free_rings()
1323 netmap_free_bufs(na->nm_mem, ring->slot, kring->nkr_num_slots); in netmap_free_rings()
1325 kring->ring = NULL; in netmap_free_rings()
1341 struct netmap_kring *kring; in netmap_mem_rings_create() local
[all …]
HDnetmap_kern.h325 int (*nm_sync)(struct netmap_kring *kring, int flags);
346 int (*save_sync)(struct netmap_kring *kring, int flags);
545 int (*nm_txsync)(struct netmap_kring *kring, int flags);
546 int (*nm_rxsync)(struct netmap_kring *kring, int flags);
809 nm_kr_txempty(struct netmap_kring *kring) in nm_kr_txempty() argument
811 return kring->rcur == kring->nr_hwtail; in nm_kr_txempty()
969 nm_txsync_finalize(struct netmap_kring *kring) in nm_txsync_finalize() argument
972 kring->ring->tail = kring->rtail = kring->nr_hwtail; in nm_txsync_finalize()
978 kring->name, kring->nr_hwcur, kring->nr_hwtail, in nm_txsync_finalize()
979 kring->rhead, kring->rcur, kring->rtail); in nm_txsync_finalize()
[all …]
/trueos/sys/dev/cxgbe/
HDt4_netmap.c705 struct netmap_kring *kring, int npkt, int npkt_remaining, int txcsum) in cxgbe_nm_tx() argument
707 struct netmap_ring *ring = kring->ring; in cxgbe_nm_tx()
709 const u_int lim = kring->nkr_num_slots - 1; in cxgbe_nm_tx()
730 slot = &ring->slot[kring->nr_hwcur]; in cxgbe_nm_tx()
731 PNMB(kring->na, slot, &ba); in cxgbe_nm_tx()
759 kring->nr_hwcur = nm_next(kring->nr_hwcur, lim); in cxgbe_nm_tx()
851 cxgbe_netmap_txsync(struct netmap_kring *kring, int flags) in cxgbe_netmap_txsync() argument
853 struct netmap_adapter *na = kring->na; in cxgbe_netmap_txsync()
857 struct sge_nm_txq *nm_txq = &sc->sge.nm_txq[pi->first_nm_txq + kring->ring_id]; in cxgbe_netmap_txsync()
858 const u_int head = kring->rhead; in cxgbe_netmap_txsync()
[all …]
/trueos/sys/dev/ixgbe/
HDix_txrx.c988 struct netmap_kring *kring = &na->tx_rings[txr->me]; local
1007 (kring->nr_kflags < kring->nkr_num_slots &&
1008 txd[kring->nr_kflags].wb.status & IXGBE_TXD_STAT_DD)) {
HDif_ix.c1080 struct netmap_kring *kring = &na->rx_rings[i]; in ixgbe_init_locked() local
1081 int t = na->num_rx_desc - 1 - nm_kr_rxspace(kring); in ixgbe_init_locked()
/trueos/sys/dev/re/
HDif_re.c2926 struct netmap_kring *kring = &NA(ifp)->tx_rings[0]; in re_start_locked() local
2927 if (sc->rl_ldata.rl_tx_prodidx != kring->nr_hwcur) { in re_start_locked()
/trueos/sys/dev/e1000/
HDif_igb.c4653 struct netmap_kring *kring = &na->rx_rings[i]; in igb_initialize_receive_units() local
4654 int t = rxr->next_to_refresh - nm_kr_rxspace(kring); in igb_initialize_receive_units()