summaryrefslogtreecommitdiff
path: root/tools/perf/util/evsel.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-01-30 21:26:32 +0300
committerIngo Molnar <mingo@kernel.org>2015-01-30 21:26:32 +0300
commit1ed39bac21c3c2934b18de34df9478ad7b8edf1f (patch)
tree7098b1f13486d538e522191c577c632d3c6cb37e /tools/perf/util/evsel.c
parentb3890e4704594fa23abe1395d1fafc97d3214be8 (diff)
parentc52686f9f888d23ca72f1309e86af8e91d075697 (diff)
downloadlinux-1ed39bac21c3c2934b18de34df9478ad7b8edf1f.tar.xz
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: - Show precise number of samples in at the end of a 'record' session, if processing build ids, since we will then traverse the whole perf.data file and see all the PERF_RECORD_SAMPLE records, otherwise stop showing the previous off-base heuristicly counted number of "samples" (Namhyung Kim). - Support to read compressed module from build-id cache (Namhyung Kim) Infrastructure changes: - Cache eh/debug frame offset for dwarf unwind (Namhyung Kim) - Set header version correctly in all cases (Namhyung Kim) - Set attr.task bit for a tracking event, to be consistent (Namhyung Kim) perf tools: Use perf_data_file__fd() consistently perf symbols: Convert lseek + read to pread - Don't rely on malloc working for sz 0, fixing another problem when using uClibc (Vineet Gupta) - Provide stub for missing pthread_attr_setaffinity_np for libcs where this is not available, such as uClibc (Vineet Gupta) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/evsel.c')
-rw-r--r--tools/perf/util/evsel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 1e90c8557ede..ea51a90e20a0 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -709,6 +709,7 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
if (opts->sample_weight)
perf_evsel__set_sample_bit(evsel, WEIGHT);
+ attr->task = track;
attr->mmap = track;
attr->mmap2 = track && !perf_missing_features.mmap2;
attr->comm = track;
@@ -797,6 +798,9 @@ int perf_evsel__enable(struct perf_evsel *evsel, int ncpus, int nthreads)
int perf_evsel__alloc_id(struct perf_evsel *evsel, int ncpus, int nthreads)
{
+ if (ncpus == 0 || nthreads == 0)
+ return 0;
+
if (evsel->system_wide)
nthreads = 1;