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));
2652 struct if_slowtimo_data *isd = ifp->if_slowtimo_data;
2654 mutex_enter(&isd->isd_lock);
2655 if (!isd->isd_dying) {
2656 if (isd->isd_trigger || if_slowtimo_countdown(ifp)) {
2657 if (!isd->isd_queued) {
2658 isd->isd_queued = true;
2660 &isd->isd_work, NULL);
2663 callout_schedule(&isd->isd_ch, hz / IFNET_SLOWHZ);
2665 mutex_exit(&isd->isd_lock);
2671 struct if_slowtimo_data *isd =
2673 struct ifnet *ifp = isd->isd_ifp;
2681 mutex_enter(&isd->isd_lock);
2682 if (isd->isd_trigger) {
2683 isd->isd_trigger = false;
2686 isd->isd_queued = false;
2687 if (!isd->isd_dying)
2688 callout_schedule(&isd->isd_ch, hz / IFNET_SLOWHZ);
2689 mutex_exit(&isd->isd_lock);
2697 struct if_slowtimo_data *isd = ifp->if_slowtimo_data;
2706 mutex_enter(&isd->isd_lock);
2707 KASSERT(!isd->isd_dying);
2708 isd->isd_trigger = true;
2709 callout_schedule(&isd->isd_ch, 0);
2710 mutex_exit(&isd->isd_lock);