aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-trace.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-03-03 01:17:53 -0500
committerIngo Molnar <mingo@kernel.org>2015-03-03 01:17:53 -0500
commit94ac003b665fc04f13a7ab3b2be896b9b9503451 (patch)
tree1fdaaf514ed20dfd1f3657693a55ab1547f1a656 /tools/perf/builtin-trace.c
parent788b94ba6c223d4ce955218d59075cd1edb92692 (diff)
parentae536acfacb65a4a9858c32b12361e09f84f4157 (diff)
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Warn if given uprobe event accesses memory on older kernel (Masami Hiramatsu) - 'perf record' Documentation fixes (Namhyung Kim) - Report unsupported events properly in 'perf stat' (Suzuki K. Poulose) Infrastructure changes: - Avoid FORK after COMM when synthesizing records for pre-existing threads (Arnaldo Carvalho de Melo) - Reference count struct thread (Arnaldo Carvalho de Melo) - Don't keep the session around in 'perf sched', thread refcounting removes that need (Arnaldo Carvalho de Melo) - Initialize cpu set in pthread_attr_setaffinity_np() feature test (Adrian Hunter) - Only include tsc file for x86 (David Ahern) - Compare JOBS to 0 after grep (David Ahern) - Improve feature detection messages (Ingo Molnar) - Revert "perf: Remove the extra validity check on nr_pages" (Kan Liang) - Remove bias offset to find probe point by address (Masami Hiramatsu) - Fix build error on ARCH=i386/x86_64/sparc64 (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/builtin-trace.c')
-rw-r--r--tools/perf/builtin-trace.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index d95a8f4d988c..211614fba217 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -1741,7 +1741,10 @@ static int trace__sys_enter(struct trace *trace, struct perf_evsel *evsel,
1741 } else 1741 } else
1742 ttrace->entry_pending = true; 1742 ttrace->entry_pending = true;
1743 1743
1744 trace->current = thread; 1744 if (trace->current != thread) {
1745 thread__put(trace->current);
1746 trace->current = thread__get(thread);
1747 }
1745 1748
1746 return 0; 1749 return 0;
1747} 1750}
@@ -2274,6 +2277,8 @@ next_event:
2274 } 2277 }
2275 2278
2276out_disable: 2279out_disable:
2280 thread__zput(trace->current);
2281
2277 perf_evlist__disable(evlist); 2282 perf_evlist__disable(evlist);
2278 2283
2279 if (!err) { 2284 if (!err) {