lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <tip-3bc2a39c69d423d5d1f0b3ef77960b1464c976a0@git.kernel.org> Date: Sat, 24 Oct 2009 01:03:35 GMT From: tip-bot for Arjan van de Ven <arjan@...radead.org> To: linux-tip-commits@...r.kernel.org Cc: linux-kernel@...r.kernel.org, acme@...hat.com, paulus@...ba.org, hpa@...or.com, mingo@...hat.com, a.p.zijlstra@...llo.nl, arjan@...ux.intel.com, efault@....de, arjan@...radead.org, fweisbec@...il.com, tglx@...utronix.de, mingo@...e.hu Subject: [tip:branch?] perf timechart: Fix the wakeup-arrows that point to non-visible processes Commit-ID: 3bc2a39c69d423d5d1f0b3ef77960b1464c976a0 Gitweb: http://git.kernel.org/tip/3bc2a39c69d423d5d1f0b3ef77960b1464c976a0 Author: Arjan van de Ven <arjan@...radead.org> AuthorDate: Tue, 20 Oct 2009 06:46:49 +0900 Committer: Ingo Molnar <mingo@...e.hu> CommitDate: Tue, 20 Oct 2009 03:39:16 +0200 perf timechart: Fix the wakeup-arrows that point to non-visible processes The timechart wakeup arrows currently show no process information when the waker/wakee are processes that are not actually chosen to be shown on the timechart. This patch fixes this oversight, by looking through all processes (after giving preference to visible processes) as well as falling back to just showing the PID if no name for the process can be resolved. Signed-off-by: Arjan van de Ven <arjan@...ux.intel.com> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl> Cc: Mike Galbraith <efault@....de> Cc: Paul Mackerras <paulus@...ba.org> Cc: Arnaldo Carvalho de Melo <acme@...hat.com> Cc: Frederic Weisbecker <fweisbec@...il.com> LKML-Reference: <20091020064649.0e4959b2@...radead.org> Signed-off-by: Ingo Molnar <mingo@...e.hu> --- tools/perf/builtin-timechart.c | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c index 702d8fe..e8a510d 100644 --- a/tools/perf/builtin-timechart.c +++ b/tools/perf/builtin-timechart.c @@ -765,19 +765,40 @@ static void draw_wakeups(void) if (c->Y && c->start_time <= we->time && c->end_time >= we->time) { if (p->pid == we->waker) { from = c->Y; - task_from = c->comm; + task_from = strdup(c->comm); } if (p->pid == we->wakee) { to = c->Y; - task_to = c->comm; + task_to = strdup(c->comm); } } c = c->next; } + c = p->all; + while (c) { + if (p->pid == we->waker && !from) { + from = c->Y; + task_from = strdup(c->comm); + } + if (p->pid == we->wakee && !to) { + to = c->Y; + task_to = strdup(c->comm); + } + c = c->next; + } } p = p->next; } + if (!task_from) { + task_from = malloc(40); + sprintf(task_from, "[%i]", we->waker); + } + if (!task_to) { + task_to = malloc(40); + sprintf(task_to, "[%i]", we->wakee); + } + if (we->waker == -1) svg_interrupt(we->time, to); else if (from && to && abs(from - to) == 1) @@ -785,6 +806,9 @@ static void draw_wakeups(void) else svg_partial_wakeline(we->time, from, task_from, to, task_to); we = we->next; + + free(task_from); + free(task_to); } } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists