Lines Matching refs:td
55 static void dumpthread(volatile struct proc *p, volatile struct thread *td,
142 volatile struct thread *td;
175 FOREACH_THREAD_IN_PROC(p, td) {
176 if (TD_GET_STATE(td) == TDS_RUNNING ||
177 TD_GET_STATE(td) == TDS_RUNQ ||
178 TD_GET_STATE(td) == TDS_CAN_RUN)
180 if (TD_ON_LOCK(td))
182 if (TD_IS_SLEEPING(td)) {
183 if (!(td->td_flags & TDF_SINTR))
188 if (TD_AWAITING_INTR(td))
252 FOREACH_THREAD_IN_PROC(p, td) {
253 dumpthread(p, td, p->p_flag & P_HADTHREADS);
260 dumpthread(volatile struct proc *p, volatile struct thread *td, int all)
267 db_printf("%6d ", td->td_tid);
268 switch (TD_GET_STATE(td)) {
283 if (TD_ON_LOCK(td))
285 if (TD_IS_SLEEPING(td)) {
286 if (td->td_flags & TDF_SINTR)
291 if (TD_AWAITING_INTR(td))
293 if (TD_IS_SUSPENDED(td))
303 if (TD_ON_LOCK(td)) {
305 wmesg = td->td_lockname;
306 wchan = td->td_blocked;
307 } else if (TD_ON_SLEEPQ(td)) {
308 wmesg = td->td_wmesg;
309 wchan = td->td_wchan;
310 } else if (TD_IS_RUNNING(td)) {
311 snprintf(state, sizeof(state), "CPU %d", td->td_oncpu);
329 if (td->td_name[0] != '\0')
330 db_printf("%s", td->td_name);
332 db_printf("%s", td->td_proc->p_comm);
344 struct thread *td;
351 td = db_lookup_thread(addr, false);
353 td = kdb_thread;
354 lock = (struct lock_object *)td->td_lock;
356 db_printf("Thread %d at %p:\n", td->td_tid, td);
357 db_printf(" proc (pid %d): %p\n", td->td_proc->p_pid, td->td_proc);
358 if (td->td_name[0] != '\0')
359 db_printf(" name: %s\n", td->td_name);
360 db_printf(" pcb: %p\n", td->td_pcb);
361 db_printf(" stack: %p-%p\n", (void *)td->td_kstack,
362 (void *)(td->td_kstack + td->td_kstack_pages * PAGE_SIZE - 1));
363 db_printf(" flags: %#x ", td->td_flags);
364 db_printf(" pflags: %#x\n", td->td_pflags);
366 switch (TD_GET_STATE(td)) {
377 db_printf("RUNNING (CPU %d)\n", td->td_oncpu);
382 if (TD_IS_SLEEPING(td)) {
386 if (TD_IS_SUSPENDED(td)) {
392 if (TD_ON_LOCK(td)) {
398 if (TD_AWAITING_INTR(td)) {
406 db_printf("??? (%#x)\n", TD_GET_STATE(td));
409 if (TD_ON_LOCK(td))
410 db_printf(" lock: %s turnstile: %p\n", td->td_lockname,
411 td->td_blocked);
412 if (TD_ON_SLEEPQ(td))
415 td->td_wmesg, td->td_wchan,
416 (long)sbttobt(td->td_sleeptimo).sec,
417 (uintmax_t)sbttobt(td->td_sleeptimo).frac,
420 db_printf(" priority: %d\n", td->td_priority);
422 if (td->td_swvoltick != 0) {
423 delta = ticks - td->td_swvoltick;
427 if (td->td_swinvoltick != 0) {
428 delta = ticks - td->td_swinvoltick;
436 struct thread *td;
496 FOREACH_THREAD_IN_PROC(p, td) {
497 dumpthread(p, td, 1);
507 struct thread *td;
517 for (td = kdb_thr_first(); td != NULL; td = kdb_thr_next(td)) {
518 if (kstack_contains(td, saddr, 1)) {
519 db_printf("Thread %p\n", td);