Lines Matching refs:t

119 waitq_link(waitq_t *wq, kthread_t *t)  in waitq_link()  argument
128 tpri = DISP_PRIO(t); in waitq_link()
138 *tpp = t; in waitq_link()
139 t->t_link = next_tp; in waitq_link()
142 t->t_priback = last_tp; in waitq_link()
143 t->t_priforw = last_tp->t_priforw; in waitq_link()
144 last_tp->t_priforw->t_priback = t; in waitq_link()
145 last_tp->t_priforw = t; in waitq_link()
147 t->t_priback = t->t_priforw = t; in waitq_link()
150 t->t_waitq = wq; in waitq_link()
154 waitq_unlink(waitq_t *wq, kthread_t *t) in waitq_unlink() argument
159 ASSERT(THREAD_LOCK_HELD(t)); in waitq_unlink()
161 ASSERT(t->t_waitq == wq); in waitq_unlink()
163 ptl = &t->t_priback->t_link; in waitq_unlink()
168 if (*ptl != t) { in waitq_unlink()
172 ptl = &t->t_waitq->wq_first; in waitq_unlink()
173 while ((nt = *ptl) != t) in waitq_unlink()
179 *ptl = t->t_link; in waitq_unlink()
185 if (t->t_priforw != t) { in waitq_unlink()
186 t->t_priback->t_priforw = t->t_priforw; in waitq_unlink()
187 t->t_priforw->t_priback = t->t_priback; in waitq_unlink()
189 t->t_link = NULL; in waitq_unlink()
192 t->t_waitq = NULL; in waitq_unlink()
193 t->t_priforw = NULL; in waitq_unlink()
194 t->t_priback = NULL; in waitq_unlink()
203 waitq_enqueue(waitq_t *wq, kthread_t *t) in waitq_enqueue() argument
205 ASSERT(THREAD_LOCK_HELD(t)); in waitq_enqueue()
206 ASSERT(t->t_sleepq == NULL); in waitq_enqueue()
207 ASSERT(t->t_waitq == NULL); in waitq_enqueue()
208 ASSERT(t->t_link == NULL); in waitq_enqueue()
224 t->t_waitrq = gethrtime_unscaled(); in waitq_enqueue()
230 t->t_schedflag |= TS_DONT_SWAP; in waitq_enqueue()
231 DTRACE_SCHED1(cpucaps__sleep, kthread_t *, t); in waitq_enqueue()
232 waitq_link(wq, t); in waitq_enqueue()
234 THREAD_WAIT(t, &wq->wq_lock); in waitq_enqueue()
243 waitq_change_pri(kthread_t *t, pri_t new_pri) in waitq_change_pri() argument
245 waitq_t *wq = t->t_waitq; in waitq_change_pri()
247 ASSERT(THREAD_LOCK_HELD(t)); in waitq_change_pri()
248 ASSERT(ISWAITING(t)); in waitq_change_pri()
251 waitq_unlink(wq, t); in waitq_change_pri()
252 t->t_pri = new_pri; in waitq_change_pri()
253 waitq_link(wq, t); in waitq_change_pri()
257 waitq_dequeue(waitq_t *wq, kthread_t *t) in waitq_dequeue() argument
259 ASSERT(THREAD_LOCK_HELD(t)); in waitq_dequeue()
260 ASSERT(t->t_waitq == wq); in waitq_dequeue()
261 ASSERT(ISWAITING(t)); in waitq_dequeue()
263 waitq_unlink(wq, t); in waitq_dequeue()
264 DTRACE_SCHED1(cpucaps__wakeup, kthread_t *, t); in waitq_dequeue()
271 THREAD_TRANSITION(t); in waitq_dequeue()
289 waitq_setrun(kthread_t *t) in waitq_setrun() argument
291 waitq_t *wq = t->t_waitq; in waitq_setrun()
293 ASSERT(THREAD_LOCK_HELD(t)); in waitq_setrun()
295 ASSERT(ISWAITING(t)); in waitq_setrun()
297 panic("waitq_setrun: thread %p is not on waitq", (void *)t); in waitq_setrun()
298 waitq_dequeue(wq, t); in waitq_setrun()
299 CL_SETRUN(t); in waitq_setrun()
308 kthread_t *t; in waitq_takeone() local
314 if ((t = wq->wq_first) != NULL) in waitq_takeone()
318 return (t); in waitq_takeone()
328 kthread_t *t; in waitq_runfirst() local
330 t = waitq_takeone(wq); in waitq_runfirst()
331 if (t != NULL) { in waitq_runfirst()
337 ASSERT(THREAD_LOCK_HELD(t)); in waitq_runfirst()
338 CL_SETRUN(t); in waitq_runfirst()
339 thread_unlock(t); in waitq_runfirst()
341 return (t); in waitq_runfirst()