[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] ddb: add `show all tasks' command
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] ddb: add `show all tasks' command |
Date: |
Wed, 17 Sep 2014 01:01:15 +0200 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Justus Winter, le Tue 16 Sep 2014 14:29:30 +0200, a écrit :
> * ddb/db_command.c (db_show_all_cmds): Add `tasks'.
> * ddb/db_print.c (db_show_all_tasks): New function.
> * ddb/db_print.h (db_show_all_tasks): New prototype.
Ack, thanks!
> ---
> ddb/db_command.c | 1 +
> ddb/db_print.c | 24 ++++++++++++++++++++++++
> ddb/db_print.h | 6 ++++++
> 3 files changed, 31 insertions(+)
>
> diff --git a/ddb/db_command.c b/ddb/db_command.c
> index 8171119..5651667 100644
> --- a/ddb/db_command.c
> +++ b/ddb/db_command.c
> @@ -304,6 +304,7 @@ db_command_list(
> }
>
> struct db_command db_show_all_cmds[] = {
> + { "tasks", db_show_all_tasks, 0, 0 },
> { "threads", db_show_all_threads, 0, 0 },
> { "slocks", db_show_all_slocks, 0, 0 },
> { (char *)0 }
> diff --git a/ddb/db_print.c b/ddb/db_print.c
> index e711ab6..24a3e33 100644
> --- a/ddb/db_print.c
> +++ b/ddb/db_print.c
> @@ -276,6 +276,30 @@ db_print_task(
> }
> }
>
> +void
> +db_show_all_tasks(db_expr_t addr,
> + boolean_t have_addr,
> + db_expr_t count,
> + const char *modif)
> +{
> + task_t task;
> + int task_id = 0;
> + processor_set_t pset;
> +
> + db_printf(" ID %-*s NAME [THREADS]\n", 2*sizeof(vm_offset_t), "TASK");
> +
> + queue_iterate(&all_psets, pset, processor_set_t, all_psets)
> + queue_iterate(&pset->tasks, task, task_t, pset_tasks) {
> + db_printf("%3d %0*X %s [%d]\n",
> + task_id,
> + 2*sizeof(vm_offset_t),
> + task,
> + task->name,
> + task->thread_count);
> + task_id++;
> + }
> +}
> +
> /*ARGSUSED*/
> void
> db_show_all_threads(addr, have_addr, count, modif)
> diff --git a/ddb/db_print.h b/ddb/db_print.h
> index dacb47b..87db97b 100644
> --- a/ddb/db_print.h
> +++ b/ddb/db_print.h
> @@ -38,6 +38,12 @@ void db_show_one_thread(
> db_expr_t count,
> const char * modif);
>
> +void db_show_all_tasks(
> + db_expr_t addr,
> + int have_addr,
> + db_expr_t count,
> + const char * modif);
> +
> void db_show_all_threads(
> db_expr_t addr,
> int have_addr,
> --
> 2.1.0
>
--
Samuel
<b> lisons de l'assembleur c
-+- #sos - CrisC forever -+-