summaryrefslogtreecommitdiff
path: root/debian/patches/0001-ddb-add-show-all-tasks-command.patch
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-09-13 01:36:34 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-09-13 01:36:34 +0200
commit729cea1e1e45c0c9eb546b32edc4ad005f50a8b4 (patch)
treebf85952cdbcd58c574eb45d5d7643deff0614486 /debian/patches/0001-ddb-add-show-all-tasks-command.patch
parent21d2ab2e91dbff3db188f5c380069efe9c502cde (diff)
add patch series
Diffstat (limited to 'debian/patches/0001-ddb-add-show-all-tasks-command.patch')
-rw-r--r--debian/patches/0001-ddb-add-show-all-tasks-command.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/debian/patches/0001-ddb-add-show-all-tasks-command.patch b/debian/patches/0001-ddb-add-show-all-tasks-command.patch
new file mode 100644
index 0000000..664650f
--- /dev/null
+++ b/debian/patches/0001-ddb-add-show-all-tasks-command.patch
@@ -0,0 +1,81 @@
+From 3e88c845b57c03e0cc115b6fd6624e0b66ad4c4c Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Sat, 13 Sep 2014 00:41:11 +0200
+Subject: [PATCH 1/3] ddb: add `show all tasks' command
+
+* 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.
+---
+ 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
+