diff options
author | David Ahern <dsahern@gmail.com> | 2013-07-18 18:06:15 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-07-22 10:55:53 -0400 |
commit | 2eaa1b407aa6592a884f1be061ef61de7012c97a (patch) | |
tree | 0d488f803b833cde76946aebda09024f5c9860a3 /tools/perf/builtin-script.c | |
parent | 5a9821321e0a61674fd5c4b5a9e95007d0e7e052 (diff) |
perf script: Fix named threads support
Commit 73994dc broke named thread support in perf-script. The thread
struct in al is the main thread for a multithreaded process. The thread
struct used for analysis (e.g., dumping events) should be the specific
thread for the sample.
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Feng Tang <feng.tang@intel.com>
Link: http://lkml.kernel.org/r/1374185175-28272-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-script.c')
-rw-r--r-- | tools/perf/builtin-script.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index ecb697998d3b..1cad37014673 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c | |||
@@ -397,10 +397,10 @@ static void print_sample_bts(union perf_event *event, | |||
397 | 397 | ||
398 | static void process_event(union perf_event *event, struct perf_sample *sample, | 398 | static void process_event(union perf_event *event, struct perf_sample *sample, |
399 | struct perf_evsel *evsel, struct machine *machine, | 399 | struct perf_evsel *evsel, struct machine *machine, |
400 | struct addr_location *al) | 400 | struct thread *thread, |
401 | struct addr_location *al __maybe_unused) | ||
401 | { | 402 | { |
402 | struct perf_event_attr *attr = &evsel->attr; | 403 | struct perf_event_attr *attr = &evsel->attr; |
403 | struct thread *thread = al->thread; | ||
404 | 404 | ||
405 | if (output[attr->type].fields == 0) | 405 | if (output[attr->type].fields == 0) |
406 | return; | 406 | return; |
@@ -511,7 +511,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused, | |||
511 | if (cpu_list && !test_bit(sample->cpu, cpu_bitmap)) | 511 | if (cpu_list && !test_bit(sample->cpu, cpu_bitmap)) |
512 | return 0; | 512 | return 0; |
513 | 513 | ||
514 | scripting_ops->process_event(event, sample, evsel, machine, &al); | 514 | scripting_ops->process_event(event, sample, evsel, machine, thread, &al); |
515 | 515 | ||
516 | evsel->hists.stats.total_period += sample->period; | 516 | evsel->hists.stats.total_period += sample->period; |
517 | return 0; | 517 | return 0; |