Lines Matching refs: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;
560 struct intr_thread *ithd;
564 ithd = malloc(sizeof(struct intr_thread), M_ITHREAD, M_WAITOK | M_ZERO);
566 error = kproc_kthread_add(ithread_loop, ithd, &intrproc,
576 ithd->it_thread = td;
578 return (ithd);
819 struct intr_thread *ithd;
827 ithd = ie->ie_thread;
828 td = ithd->it_thread;
836 ithd->it_flags |= IT_WAIT;
837 while (ithd->it_flags & IT_WAIT) {
1259 struct intr_thread *ithd;
1268 ithd = (struct intr_thread *)arg;
1269 KASSERT(ithd->it_thread == td,
1271 ie = ithd->it_event;
1283 if (ithd->it_flags & IT_DEAD) {
1286 free(ithd, M_ITHREAD);
1305 while (atomic_cmpset_acq_int(&ithd->it_need, 1, 0) != 0) {
1325 if (atomic_load_acq_int(&ithd->it_need) == 0 &&
1326 (ithd->it_flags & (IT_DEAD | IT_WAIT)) == 0) {
1331 if (ithd->it_flags & IT_WAIT) {
1333 ithd->it_flags &= ~IT_WAIT;
1338 wakeup(ithd);