[<prev] [next>] [day] [month] [year] [list]
Message-ID: <tip-2wu2d5n65msxoq1i7vtcaft2@git.kernel.org>
Date: Wed, 18 Feb 2015 10:42:24 -0800
From: tip-bot for Arnaldo Carvalho de Melo <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: tglx@...utronix.de, adrian.hunter@...el.com, eranian@...gle.com,
dsahern@...il.com, jolsa@...hat.com, hpa@...or.com,
fweisbec@...il.com, namhyung@...nel.org,
linux-kernel@...r.kernel.org, mingo@...nel.org, bp@...e.de,
dzickus@...hat.com, acme@...hat.com
Subject: [tip:perf/core] perf trace:
Print thread info when following children
Commit-ID: 42052bea1683fad5a7a06d84a3b4f7bd16131ce8
Gitweb: http://git.kernel.org/tip/42052bea1683fad5a7a06d84a3b4f7bd16131ce8
Author: Arnaldo Carvalho de Melo <acme@...hat.com>
AuthorDate: Fri, 13 Feb 2015 12:32:45 -0300
Committer: Arnaldo Carvalho de Melo <acme@...hat.com>
CommitDate: Fri, 13 Feb 2015 12:43:00 -0300
perf trace: Print thread info when following children
The default for 'trace workload' is to set perf_event_attr.inherit to 1,
i.e. to make it equivalent to 'strace -f workload', so we were ending
with syscalls for multiple processes mixed up, fix it:
Before:
[root@...andy ~]# trace -e brk time usleep 1
0.071 ( 0.002 ms): brk( ) = 0x100e000
0.802 ( 0.001 ms): brk( ) = 0x1d99000
1.132 ( 0.003 ms): brk( ) = 0x1d99000
1.136 ( 0.003 ms): brk(brk: 0x1dba000) = 0x1dba000
1.140 ( 0.001 ms): brk( ) = 0x1dba000
0.00user 0.00system 0:00.00elapsed 63%CPU (0avgtext+0avgdata 528maxresident)k
0inputs+0outputs (0major+181minor)pagefaults 0swaps
[root@...andy ~]#
After:
[root@...andy ~]# trace -f -e brk time usleep 1
0.072 ( 0.002 ms): time/26308 brk( ) = 0x1e6e000
0.860 ( 0.001 ms): usleep/26309 brk( ) = 0xb91000
1.193 ( 0.003 ms): usleep/26309 brk( ) = 0xb91000
1.197 ( 0.003 ms): usleep/26309 brk(brk: 0xbb2000) = 0xbb2000
1.201 ( 0.001 ms): usleep/26309 brk( ) = 0xbb2000
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 524maxresident)k
0inputs+0outputs (0major+180minor)pagefaults 0swaps
[root@...andy ~]#
BTW: to achieve the 'strace workload' behaviour, i.e. without a explicit
'-f', one has to use --no-inherit.
Cc: Adrian Hunter <adrian.hunter@...el.com>
Cc: Borislav Petkov <bp@...e.de>
Cc: David Ahern <dsahern@...il.com>
Cc: Don Zickus <dzickus@...hat.com>
Cc: Frederic Weisbecker <fweisbec@...il.com>
Cc: Jiri Olsa <jolsa@...hat.com>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Stephane Eranian <eranian@...gle.com>
echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@....kernel.org
Link: http://lkml.kernel.org/n/tip-2wu2d5n65msxoq1i7vtcaft2@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
tools/perf/builtin-trace.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 66300ae..2bfb234 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2114,7 +2114,9 @@ static int trace__run(struct trace *trace, int argc, const char **argv)
else
perf_evlist__enable(evlist);
- trace->multiple_threads = evlist->threads->map[0] == -1 || evlist->threads->nr > 1;
+ trace->multiple_threads = evlist->threads->map[0] == -1 ||
+ evlist->threads->nr > 1 ||
+ perf_evlist__first(evlist)->attr.inherit;
again:
before = trace->nr_events;
--
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