Lines Matching defs:kc

689 kqtimer_sched_callout(struct kq_timer_cb_data *kc)
691 callout_reset_sbt_on(&kc->c, kc->next, 0, filt_timerexpire, kc->kn,
692 kc->cpuid, C_ABSOLUTE);
698 struct kq_timer_cb_data *kc, *kc1;
707 TAILQ_FOREACH_SAFE(kc, &p->p_kqtim_stop, link, kc1) {
708 TAILQ_REMOVE(&p->p_kqtim_stop, kc, link);
709 kc->flags &= ~KQ_TIMER_CB_ENQUEUED;
710 if (kc->next <= now)
711 filt_timerexpire_l(kc->kn, true);
713 kqtimer_sched_callout(kc);
720 struct kq_timer_cb_data *kc;
725 kc = kn->kn_ptr.p_v;
727 if ((kn->kn_flags & EV_ONESHOT) != 0 || kc->to == 0) {
734 if (now >= kc->next) {
735 delta = (now - kc->next) / kc->to;
739 kc->next += delta * kc->to;
740 if (now >= kc->next) /* overflow */
741 kc->next = now + kc->to;
746 * Initial check for stopped kc->p is racy. It is fine to
752 p = kc->p;
757 if ((kc->flags & KQ_TIMER_CB_ENQUEUED) == 0) {
758 kc->flags |= KQ_TIMER_CB_ENQUEUED;
759 TAILQ_INSERT_TAIL(&p->p_kqtim_stop, kc, link);
768 kqtimer_sched_callout(kc);
811 struct kq_timer_cb_data *kc;
833 kn->kn_ptr.p_v = kc = malloc(sizeof(*kc), M_KQUEUE, M_WAITOK);
834 kc->kn = kn;
835 kc->p = curproc;
836 kc->cpuid = PCPU_GET(cpuid);
837 kc->flags = 0;
838 callout_init(&kc->c, 1);
847 struct kq_timer_cb_data *kc;
849 kc = kn->kn_ptr.p_v;
851 kc->next = to;
852 kc->to = 0;
854 kc->next = to + sbinuptime();
855 kc->to = to;
857 kqtimer_sched_callout(kc);
863 struct kq_timer_cb_data *kc;
867 kc = kn->kn_ptr.p_v;
869 callout_drain(&kc->c);
875 PROC_LOCK(kc->p);
876 if ((kc->flags & KQ_TIMER_CB_ENQUEUED) != 0) {
877 kc->flags &= ~KQ_TIMER_CB_ENQUEUED;
878 TAILQ_REMOVE(&kc->p->p_kqtim_stop, kc, link);
880 pending = callout_pending(&kc->c);
881 PROC_UNLOCK(kc->p);
883 free(kc, M_KQUEUE);
892 struct kq_timer_cb_data *kc;
901 kc = kn->kn_ptr.p_v;
904 callout_drain(&kc->c);