diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2009-09-20 12:13:28 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-20 13:37:34 -0400 |
commit | 4f1202c8e61478984ed2d0df616149faf84c2a7f (patch) | |
tree | 540fb2e48d8b55bda2db75a61085908401453ac0 /tools/perf/builtin-timechart.c | |
parent | cdf8073d6b2c6c5a3cd6ce0e6c1297157f7f99ba (diff) |
perf timechart: Show the name of the waker/wakee in timechart
Timechart currently shows thin green lines for sending or receiving
wakeups. This patch also prints (in a very small font) the name of
the process that is being woken/wakes up this process.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <20090920181328.68baa978@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/builtin-timechart.c')
-rw-r--r-- | tools/perf/builtin-timechart.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c index 58d737ec8f5e..3f45b8b24e3d 100644 --- a/tools/perf/builtin-timechart.c +++ b/tools/perf/builtin-timechart.c | |||
@@ -752,6 +752,7 @@ static void draw_wakeups(void) | |||
752 | we = wake_events; | 752 | we = wake_events; |
753 | while (we) { | 753 | while (we) { |
754 | int from = 0, to = 0; | 754 | int from = 0, to = 0; |
755 | char *task_from = NULL, *task_to = NULL; | ||
755 | 756 | ||
756 | /* locate the column of the waker and wakee */ | 757 | /* locate the column of the waker and wakee */ |
757 | p = all_data; | 758 | p = all_data; |
@@ -760,10 +761,14 @@ static void draw_wakeups(void) | |||
760 | c = p->all; | 761 | c = p->all; |
761 | while (c) { | 762 | while (c) { |
762 | if (c->Y && c->start_time <= we->time && c->end_time >= we->time) { | 763 | if (c->Y && c->start_time <= we->time && c->end_time >= we->time) { |
763 | if (p->pid == we->waker) | 764 | if (p->pid == we->waker) { |
764 | from = c->Y; | 765 | from = c->Y; |
765 | if (p->pid == we->wakee) | 766 | task_from = c->comm; |
767 | } | ||
768 | if (p->pid == we->wakee) { | ||
766 | to = c->Y; | 769 | to = c->Y; |
770 | task_to = c->comm; | ||
771 | } | ||
767 | } | 772 | } |
768 | c = c->next; | 773 | c = c->next; |
769 | } | 774 | } |
@@ -776,7 +781,7 @@ static void draw_wakeups(void) | |||
776 | else if (from && to && abs(from - to) == 1) | 781 | else if (from && to && abs(from - to) == 1) |
777 | svg_wakeline(we->time, from, to); | 782 | svg_wakeline(we->time, from, to); |
778 | else | 783 | else |
779 | svg_partial_wakeline(we->time, from, to); | 784 | svg_partial_wakeline(we->time, from, task_from, to, task_to); |
780 | we = we->next; | 785 | we = we->next; |
781 | } | 786 | } |
782 | } | 787 | } |