Lines Matching refs:mkring
301 nm_zmon_list_head(struct netmap_kring *mkring, enum txrx t) in nm_zmon_list_head() argument
303 struct netmap_adapter *na = mkring->na; in nm_zmon_list_head()
304 struct netmap_kring *kring = mkring; in nm_zmon_list_head()
319 netmap_monitor_add(struct netmap_kring *mkring, struct netmap_kring *kring, int zmon) in netmap_monitor_add() argument
324 struct netmap_zmon_list *mz = &mkring->zmon_list[t]; in netmap_monitor_add()
338 nm_prdis("%s: intercept callbacks on %s", mkring->name, ikring->name); in netmap_monitor_add()
344 ikring->zmon_list[t].next = mkring; in netmap_monitor_add()
345 z->prev = mkring; /* new tail */ in netmap_monitor_add()
358 kring->monitors[kring->n_monitors] = mkring; in netmap_monitor_add()
359 mkring->mon_pos[kring->tx] = kring->n_monitors; in netmap_monitor_add()
372 netmap_monitor_del(struct netmap_kring *mkring, struct netmap_kring *kring, enum txrx t) in netmap_monitor_del() argument
374 int zmon = nm_is_zmon(mkring->na); in netmap_monitor_del()
375 struct netmap_zmon_list *mz = &mkring->zmon_list[t]; in netmap_monitor_del()
381 kring = nm_zmon_list_head(mkring, t); in netmap_monitor_del()
402 netmap_adapter_put(mkring->na); in netmap_monitor_del()
418 uint32_t mon_pos = mkring->mon_pos[kring->tx]; in netmap_monitor_del()
462 struct netmap_kring *mkring = in netmap_monitor_stop() local
465 (struct netmap_monitor_adapter *)mkring->na; in netmap_monitor_stop()
514 struct netmap_kring *kring, *mkring; in netmap_monitor_reg_common() local
527 mkring = NMR(na, t)[i]; in netmap_monitor_reg_common()
528 if (!nm_kring_pending_on(mkring)) in netmap_monitor_reg_common()
530 mkring->nr_mode = NKR_NETMAP_ON; in netmap_monitor_reg_common()
538 netmap_monitor_add(mkring, kring, zmon); in netmap_monitor_reg_common()
549 mkring = NMR(na, t)[i]; in netmap_monitor_reg_common()
550 if (!nm_kring_pending_off(mkring)) in netmap_monitor_reg_common()
552 mkring->nr_mode = NKR_NETMAP_OFF; in netmap_monitor_reg_common()
566 netmap_monitor_del(mkring, kring, s); in netmap_monitor_reg_common()
588 struct netmap_kring *mkring = kring->zmon_list[tx].next; in netmap_zmon_parent_sync() local
597 if (mkring == NULL) { in netmap_zmon_parent_sync()
601 mring = mkring->ring; in netmap_zmon_parent_sync()
602 mlim = mkring->nkr_num_slots - 1; in netmap_zmon_parent_sync()
631 mtx_lock(&mkring->q_lock); in netmap_zmon_parent_sync()
633 i = mkring->nr_hwtail; in netmap_zmon_parent_sync()
634 busy = i - mkring->nr_hwcur; in netmap_zmon_parent_sync()
636 busy += mkring->nkr_num_slots; in netmap_zmon_parent_sync()
673 mkring->nr_hwtail = i; in netmap_zmon_parent_sync()
676 mtx_unlock(&mkring->q_lock); in netmap_zmon_parent_sync()
680 mkring->nm_notify(mkring, 0); in netmap_zmon_parent_sync()
735 struct netmap_kring *mkring = kring->monitors[j]; in netmap_monitor_parent_sync() local
739 struct netmap_ring *ring = kring->ring, *mring = mkring->ring; in netmap_monitor_parent_sync()
740 u_int max_len = NETMAP_BUF_SIZE(mkring->na); in netmap_monitor_parent_sync()
742 mlim = mkring->nkr_num_slots - 1; in netmap_monitor_parent_sync()
748 mtx_lock(&mkring->q_lock); in netmap_monitor_parent_sync()
750 i = mkring->nr_hwtail; in netmap_monitor_parent_sync()
751 busy = i - mkring->nr_hwcur; in netmap_monitor_parent_sync()
753 busy += mkring->nkr_num_slots; in netmap_monitor_parent_sync()
774 *dst = NMB(mkring->na, ms); in netmap_monitor_parent_sync()
778 mkring->name, copy_len, max_len); in netmap_monitor_parent_sync()
791 mkring->nr_hwtail = i; in netmap_monitor_parent_sync()
793 mtx_unlock(&mkring->q_lock); in netmap_monitor_parent_sync()
797 mkring->nm_notify(mkring, 0); in netmap_monitor_parent_sync()