Lines Matching refs:td

388 	thread_t td = gd->gd_curthread;  in _tsleep_interlock()  local
394 kprintf("tsleep_interlock: NULL ident %s\n", td->td_comm); in _tsleep_interlock()
398 crit_enter_quick(td); in _tsleep_interlock()
399 if (td->td_flags & TDF_TSLEEPQ) { in _tsleep_interlock()
403 if (td->td_wchan == ident && in _tsleep_interlock()
404 td->td_wdomain == (flags & PDOMAIN_MASK)) { in _tsleep_interlock()
405 crit_exit_quick(td); in _tsleep_interlock()
412 cid = LOOKUP(td->td_wchan); in _tsleep_interlock()
415 TAILQ_REMOVE(&qp->queue, td, td_sleepq); in _tsleep_interlock()
425 td->td_flags |= TDF_TSLEEPQ; in _tsleep_interlock()
430 TAILQ_INSERT_TAIL(&qp->queue, td, td_sleepq); in _tsleep_interlock()
445 td->td_wchan = ident; in _tsleep_interlock()
446 td->td_wdomain = flags & PDOMAIN_MASK; in _tsleep_interlock()
447 crit_exit_quick(td); in _tsleep_interlock()
461 _tsleep_remove(thread_t td) in _tsleep_remove() argument
468 KKASSERT(td->td_gd == gd && IN_CRITICAL_SECT(td)); in _tsleep_remove()
469 KKASSERT((td->td_flags & TDF_MIGRATING) == 0); in _tsleep_remove()
470 if (td->td_flags & TDF_TSLEEPQ) { in _tsleep_remove()
471 td->td_flags &= ~TDF_TSLEEPQ; in _tsleep_remove()
472 cid = LOOKUP(td->td_wchan); in _tsleep_remove()
475 TAILQ_REMOVE(&qp->queue, td, td_sleepq); in _tsleep_remove()
480 td->td_wchan = NULL; in _tsleep_remove()
481 td->td_wdomain = 0; in _tsleep_remove()
486 tsleep_remove(thread_t td) in tsleep_remove() argument
488 _tsleep_remove(td); in tsleep_remove()
514 struct thread *td = curthread; in tsleep() local
515 struct lwp *lp = td->td_lwp; in tsleep()
516 struct proc *p = td->td_proc; /* may be NULL */ in tsleep()
530 if (td->td_flags & TDF_DELAYED_WAKEUP) in tsleep()
546 oldpri = td->td_pri; in tsleep()
553 gd = td->td_gd; in tsleep()
554 KKASSERT(td != &gd->gd_idlethread); /* you must be kidding! */ in tsleep()
568 crit_enter_quick(td); in tsleep()
665 if ((td->td_flags & TDF_TSLEEPQ) == 0) { in tsleep()
668 } else if (td->td_wchan != ident || in tsleep()
669 td->td_wdomain != (flags & PDOMAIN_MASK)) { in tsleep()
682 lwkt_deschedule_self(td); in tsleep()
683 td->td_flags |= TDF_TSLEEP_DESCHEDULED; in tsleep()
684 td->td_wmesg = wmesg; in tsleep()
690 KKASSERT((td->td_flags & TDF_TIMEOUT) == 0); in tsleep()
692 _callout_setup_quick(&thandle1, &thandle2, timo, endtsleep, td); in tsleep()
731 KKASSERT(gd == td->td_gd); in tsleep()
742 while (td->td_flags & TDF_TIMEOUT_RUNNING) { in tsleep()
746 lwkt_deschedule_self(td); in tsleep()
747 td->td_wmesg = "tsrace"; in tsleep()
750 if (td->td_flags & TDF_TIMEOUT) { in tsleep()
751 td->td_flags &= ~TDF_TIMEOUT; in tsleep()
761 td->td_flags &= ~TDF_TSLEEP_DESCHEDULED; in tsleep()
771 _tsleep_remove(td); in tsleep()
772 td->td_wmesg = NULL; in tsleep()
800 crit_exit_quick(td); in tsleep()
900 thread_t td = curthread; in lwkt_sleep() local
903 if ((flags & PCATCH) == 0 || td->td_lwp == NULL) { in lwkt_sleep()
904 td->td_flags |= TDF_BLOCKED; in lwkt_sleep()
905 td->td_wmesg = wmesg; in lwkt_sleep()
906 lwkt_deschedule_self(td); in lwkt_sleep()
908 td->td_wmesg = NULL; in lwkt_sleep()
909 td->td_flags &= ~TDF_BLOCKED; in lwkt_sleep()
912 if ((sig = CURSIG(td->td_lwp)) != 0) { in lwkt_sleep()
913 if (SIGISMEMBER(td->td_proc->p_sigacts->ps_sigintr, sig)) in lwkt_sleep()
919 td->td_flags |= TDF_BLOCKED | TDF_SINTR; in lwkt_sleep()
920 td->td_wmesg = wmesg; in lwkt_sleep()
921 lwkt_deschedule_self(td); in lwkt_sleep()
923 td->td_flags &= ~(TDF_BLOCKED | TDF_SINTR); in lwkt_sleep()
924 td->td_wmesg = NULL; in lwkt_sleep()
937 thread_t td = arg; in endtsleep() local
949 KKASSERT(td->td_gd == mycpu); in endtsleep()
951 td->td_flags |= TDF_TIMEOUT_RUNNING | TDF_TIMEOUT; in endtsleep()
958 if ((lp = td->td_lwp) != NULL) in endtsleep()
961 KKASSERT(td->td_flags & TDF_TSLEEP_DESCHEDULED); in endtsleep()
976 _tsleep_remove(td); in endtsleep()
977 lwkt_schedule(td); in endtsleep()
979 KKASSERT(td->td_gd == mycpu); in endtsleep()
980 td->td_flags &= ~TDF_TIMEOUT_RUNNING; in endtsleep()
1002 struct thread *td; in _wakeup() local
1017 for (td = TAILQ_FIRST(&qp->queue); td != NULL; td = ntd) { in _wakeup()
1018 ntd = TAILQ_NEXT(td, td_sleepq); in _wakeup()
1019 if (td->td_wchan == ident && in _wakeup()
1020 td->td_wdomain == (domain & PDOMAIN_MASK) in _wakeup()
1022 KKASSERT(td->td_gd == gd); in _wakeup()
1023 _tsleep_remove(td); in _wakeup()
1024 td->td_wakefromcpu = PWAKEUP_DECODE(domain); in _wakeup()
1025 if (td->td_flags & TDF_TSLEEP_DESCHEDULED) { in _wakeup()
1026 lwkt_schedule(td); in _wakeup()
1032 if (td->td_wchan == qp->ident0) in _wakeup()
1034 else if (td->td_wchan == qp->ident1) in _wakeup()
1036 else if (td->td_wchan == qp->ident2) in _wakeup()
1038 else if (td->td_wchan == qp->ident3) in _wakeup()
1151 thread_t td = gd->gd_curthread; in wakeup() local
1153 if (td && (td->td_flags & TDF_DELAYED_WAKEUP)) { in wakeup()
1308 thread_t td = lp->lwp_thread; in setrunnable() local
1311 KKASSERT(td->td_gd == mycpu); in setrunnable()
1316 _tsleep_remove(td); in setrunnable()
1317 lwkt_schedule(td); in setrunnable()
1318 } else if (td->td_flags & TDF_SINTR) { in setrunnable()
1319 lwkt_schedule(td); in setrunnable()
1439 thread_t td; in loadav_count_runnable() local
1443 if ((td = lp->lwp_thread) == NULL) in loadav_count_runnable()
1445 if (td->td_flags & TDF_BLOCKED) in loadav_count_runnable()
1526 struct thread *td; in sleep_gdinit() local
1537 TAILQ_FOREACH(td, &qp->queue, td_sleepq) { in sleep_gdinit()
1538 kprintf("SLEEP_GDINIT SWITCH %s\n", td->td_comm); in sleep_gdinit()