From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756035AbbBRSmn (ORCPT ); Wed, 18 Feb 2015 13:42:43 -0500 Received: from terminus.zytor.com ([198.137.202.10]:41838 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753356AbbBRSmk (ORCPT ); Wed, 18 Feb 2015 13:42:40 -0500 Date: Wed, 18 Feb 2015 10:42:24 -0800 From: tip-bot for Arnaldo Carvalho de Melo Message-ID: Cc: tglx@linutronix.de, adrian.hunter@intel.com, eranian@google.com, dsahern@gmail.com, jolsa@redhat.com, hpa@zytor.com, fweisbec@gmail.com, namhyung@kernel.org, linux-kernel@vger.kernel.org, mingo@kernel.org, bp@suse.de, dzickus@redhat.com, acme@redhat.com Reply-To: namhyung@kernel.org, linux-kernel@vger.kernel.org, mingo@kernel.org, bp@suse.de, acme@redhat.com, dzickus@redhat.com, tglx@linutronix.de, adrian.hunter@intel.com, eranian@google.com, dsahern@gmail.com, jolsa@redhat.com, hpa@zytor.com, fweisbec@gmail.com To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf trace: Print thread info when following children Git-Commit-ID: 42052bea1683fad5a7a06d84a3b4f7bd16131ce8 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 42052bea1683fad5a7a06d84a3b4f7bd16131ce8 Gitweb: http://git.kernel.org/tip/42052bea1683fad5a7a06d84a3b4f7bd16131ce8 Author: Arnaldo Carvalho de Melo AuthorDate: Fri, 13 Feb 2015 12:32:45 -0300 Committer: Arnaldo Carvalho de Melo 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@ssdandy ~]# 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@ssdandy ~]# After: [root@ssdandy ~]# 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@ssdandy ~]# BTW: to achieve the 'strace workload' behaviour, i.e. without a explicit '-f', one has to use --no-inherit. Cc: Adrian Hunter Cc: Borislav Petkov Cc: David Ahern Cc: Don Zickus Cc: Frederic Weisbecker Cc: Jiri Olsa Cc: Namhyung Kim Cc: Stephane Eranian echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/n/tip-2wu2d5n65msxoq1i7vtcaft2@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- 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;