Lines Matching defs:isd
795 struct if_slowtimo_data *isd;
797 isd = kmem_zalloc(sizeof(*isd), KM_SLEEP);
798 mutex_init(&isd->isd_lock, MUTEX_DEFAULT, IPL_SOFTCLOCK);
799 callout_init(&isd->isd_ch, CALLOUT_MPSAFE);
800 callout_setfunc(&isd->isd_ch, if_slowtimo_intr, ifp);
801 isd->isd_ifp = ifp;
803 ifp->if_slowtimo_data = isd;
1370 struct if_slowtimo_data *isd = ifp->if_slowtimo_data;
1372 mutex_enter(&isd->isd_lock);
1373 isd->isd_dying = true;
1374 mutex_exit(&isd->isd_lock);
1375 callout_halt(&isd->isd_ch, NULL);
1376 workqueue_wait(if_slowtimo_wq, &isd->isd_work);
1377 callout_destroy(&isd->isd_ch);
1378 mutex_destroy(&isd->isd_lock);
1379 kmem_free(isd, sizeof(*isd));
2657 struct if_slowtimo_data *isd = ifp->if_slowtimo_data;
2659 mutex_enter(&isd->isd_lock);
2660 if (!isd->isd_dying) {
2661 if (isd->isd_trigger || if_slowtimo_countdown(ifp)) {
2662 if (!isd->isd_queued) {
2663 isd->isd_queued = true;
2665 &isd->isd_work, NULL);
2668 callout_schedule(&isd->isd_ch, hz / IFNET_SLOWHZ);
2670 mutex_exit(&isd->isd_lock);
2676 struct if_slowtimo_data *isd =
2678 struct ifnet *ifp = isd->isd_ifp;
2686 mutex_enter(&isd->isd_lock);
2687 if (isd->isd_trigger) {
2688 isd->isd_trigger = false;
2691 isd->isd_queued = false;
2692 if (!isd->isd_dying)
2693 callout_schedule(&isd->isd_ch, hz / IFNET_SLOWHZ);
2694 mutex_exit(&isd->isd_lock);
2702 struct if_slowtimo_data *isd = ifp->if_slowtimo_data;
2711 mutex_enter(&isd->isd_lock);
2712 KASSERT(!isd->isd_dying);
2713 isd->isd_trigger = true;
2714 callout_schedule(&isd->isd_ch, 0);
2715 mutex_exit(&isd->isd_lock);