diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-13 01:36:34 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-13 01:36:34 +0200 |
commit | 729cea1e1e45c0c9eb546b32edc4ad005f50a8b4 (patch) | |
tree | bf85952cdbcd58c574eb45d5d7643deff0614486 /debian/patches/0001-ddb-add-show-all-tasks-command.patch | |
parent | 21d2ab2e91dbff3db188f5c380069efe9c502cde (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.patch | 81 |
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 + |