Lines Matching defs:ithd
120 static void ithread_update(struct intr_thread *ithd);
183 ithread_update(struct intr_thread *ithd)
189 ie = ithd->it_event;
190 td = ithd->it_thread;
556 struct intr_thread *ithd;
560 ithd = malloc(sizeof(struct intr_thread), M_ITHREAD, M_WAITOK | M_ZERO);
562 error = kproc_kthread_add(ithread_loop, ithd, &intrproc,
572 ithd->it_thread = td;
574 return (ithd);
831 struct intr_thread *ithd;
839 ithd = ie->ie_thread;
840 td = ithd->it_thread;
848 ithd->it_flags |= IT_WAIT;
849 while (ithd->it_flags & IT_WAIT) {
1246 struct intr_thread *ithd;
1255 ithd = (struct intr_thread *)arg;
1256 KASSERT(ithd->it_thread == td,
1258 ie = ithd->it_event;
1269 if (__predict_false((ithd->it_flags & IT_DEAD) != 0)) {
1274 wakeup(ithd);
1277 free(ithd, M_ITHREAD);
1296 while (atomic_cmpset_acq_int(&ithd->it_need, 1, 0) != 0) {
1316 if (atomic_load_acq_int(&ithd->it_need) == 0 &&
1317 (ithd->it_flags & (IT_DEAD | IT_WAIT)) == 0) {
1321 } else if ((ithd->it_flags & IT_WAIT) != 0) {
1322 ithd->it_flags &= ~IT_WAIT;
1324 wakeup(ithd);