diff options
Diffstat (limited to 'ddb/db_print.c')
-rw-r--r-- | ddb/db_print.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ddb/db_print.c b/ddb/db_print.c index 3fbafe74..89250f7b 100644 --- a/ddb/db_print.c +++ b/ddb/db_print.c @@ -39,6 +39,9 @@ #include <kern/task.h> #include <kern/thread.h> #include <kern/queue.h> +#include <kern/sched.h> +#include <kern/processor.h> +#include <kern/smp.h> #include <ipc/ipc_port.h> #include <ipc/ipc_space.h> @@ -329,6 +332,30 @@ db_show_all_tasks(db_expr_t addr, } } +static void showrq(run_queue_t rq) +{ + db_printf("count(%d) low(%d)\n", rq->count, rq->low); +} + +/*ARGSUSED*/ +void +db_show_all_runqs( + db_expr_t addr, + boolean_t have_addr, + db_expr_t count, + const char * modif) +{ + int i; + + db_printf("Processor set runq:\t"); + showrq(&default_pset.runq); + for (i = 0; i < smp_get_numcpus(); i++) { + db_printf("Processor #%d runq:\t", i); + showrq(&cpu_to_processor(i)->runq); + } + db_printf("Stuck threads:\t%d", stuck_count); +} + /*ARGSUSED*/ void db_show_all_threads( |