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>
This commit is contained in:
Arjan van de Ven
2009-09-20 18:13:28 +02:00
committed by Ingo Molnar
parent cdf8073d6b
commit 4f1202c8e6
3 changed files with 30 additions and 11 deletions

View File

@@ -752,6 +752,7 @@ static void draw_wakeups(void)
we = wake_events;
while (we) {
int from = 0, to = 0;
char *task_from = NULL, *task_to = NULL;
/* locate the column of the waker and wakee */
p = all_data;
@@ -760,10 +761,14 @@ static void draw_wakeups(void)
c = p->all;
while (c) {
if (c->Y && c->start_time <= we->time && c->end_time >= we->time) {
if (p->pid == we->waker)
if (p->pid == we->waker) {
from = c->Y;
if (p->pid == we->wakee)
task_from = c->comm;
}
if (p->pid == we->wakee) {
to = c->Y;
task_to = c->comm;
}
}
c = c->next;
}
@@ -776,7 +781,7 @@ static void draw_wakeups(void)
else if (from && to && abs(from - to) == 1)
svg_wakeline(we->time, from, to);
else
svg_partial_wakeline(we->time, from, to);
svg_partial_wakeline(we->time, from, task_from, to, task_to);
we = we->next;
}
}