bug-hurd
[Top][All Lists]
Advanced

[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 -+-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]