Lines Matching refs:mkring
300 nm_zmon_list_head(struct netmap_kring *mkring, enum txrx t) in nm_zmon_list_head() argument
302 struct netmap_adapter *na = mkring->na; in nm_zmon_list_head()
303 struct netmap_kring *kring = mkring; in nm_zmon_list_head()
318 netmap_monitor_add(struct netmap_kring *mkring, struct netmap_kring *kring, int zmon) in netmap_monitor_add() argument
323 struct netmap_zmon_list *mz = &mkring->zmon_list[t]; in netmap_monitor_add()
337 nm_prdis("%s: intercept callbacks on %s", mkring->name, ikring->name); in netmap_monitor_add()
343 ikring->zmon_list[t].next = mkring; in netmap_monitor_add()
344 z->prev = mkring; /* new tail */ in netmap_monitor_add()
357 kring->monitors[kring->n_monitors] = mkring; in netmap_monitor_add()
358 mkring->mon_pos[kring->tx] = kring->n_monitors; in netmap_monitor_add()
371 netmap_monitor_del(struct netmap_kring *mkring, struct netmap_kring *kring, enum txrx t) in netmap_monitor_del() argument
373 int zmon = nm_is_zmon(mkring->na); in netmap_monitor_del()
374 struct netmap_zmon_list *mz = &mkring->zmon_list[t]; in netmap_monitor_del()
380 kring = nm_zmon_list_head(mkring, t); in netmap_monitor_del()
401 netmap_adapter_put(mkring->na); in netmap_monitor_del()
417 uint32_t mon_pos = mkring->mon_pos[kring->tx]; in netmap_monitor_del()
464 struct netmap_kring *mkring = in netmap_monitor_stop() local
467 (struct netmap_monitor_adapter *)mkring->na; in netmap_monitor_stop()
515 struct netmap_kring *kring, *mkring; in netmap_monitor_reg_common() local
528 mkring = NMR(na, t)[i]; in netmap_monitor_reg_common()
529 if (!nm_kring_pending_on(mkring)) in netmap_monitor_reg_common()
531 mkring->nr_mode = NKR_NETMAP_ON; in netmap_monitor_reg_common()
539 netmap_monitor_add(mkring, kring, zmon); in netmap_monitor_reg_common()
550 mkring = NMR(na, t)[i]; in netmap_monitor_reg_common()
551 if (!nm_kring_pending_off(mkring)) in netmap_monitor_reg_common()
553 mkring->nr_mode = NKR_NETMAP_OFF; in netmap_monitor_reg_common()
567 netmap_monitor_del(mkring, kring, s); in netmap_monitor_reg_common()
589 struct netmap_kring *mkring = kring->zmon_list[tx].next; in netmap_zmon_parent_sync() local
598 if (mkring == NULL) { in netmap_zmon_parent_sync()
602 mring = mkring->ring; in netmap_zmon_parent_sync()
603 mlim = mkring->nkr_num_slots - 1; in netmap_zmon_parent_sync()
632 mtx_lock(&mkring->q_lock); in netmap_zmon_parent_sync()
634 i = mkring->nr_hwtail; in netmap_zmon_parent_sync()
635 busy = i - mkring->nr_hwcur; in netmap_zmon_parent_sync()
637 busy += mkring->nkr_num_slots; in netmap_zmon_parent_sync()
674 mkring->nr_hwtail = i; in netmap_zmon_parent_sync()
677 mtx_unlock(&mkring->q_lock); in netmap_zmon_parent_sync()
681 mkring->nm_notify(mkring, 0); in netmap_zmon_parent_sync()
736 struct netmap_kring *mkring = kring->monitors[j]; in netmap_monitor_parent_sync() local
740 struct netmap_ring *ring = kring->ring, *mring = mkring->ring; 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_O(mkring, ms); in netmap_monitor_parent_sync()
776 max_len = NETMAP_BUF_SIZE(mkring->na) - nm_get_offset(mkring, ms); in netmap_monitor_parent_sync()
779 mkring->name, copy_len, max_len); in netmap_monitor_parent_sync()
792 mkring->nr_hwtail = i; in netmap_monitor_parent_sync()
794 mtx_unlock(&mkring->q_lock); in netmap_monitor_parent_sync()
798 mkring->nm_notify(mkring, 0); in netmap_monitor_parent_sync()