perf script: Do not call perf_event__preprocess_sample() twice)
The perf_event__preprocess_sample() function is called in process_sample_event(). Instead of calling it again in perf_evsel__print_ip(), pass through the resultant addr_location. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/529F3944.9050007@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
779e24e2c7
commit
a2cb3cf20e
@@ -414,7 +414,8 @@ static void print_sample_bts(union perf_event *event,
|
||||
struct perf_sample *sample,
|
||||
struct perf_evsel *evsel,
|
||||
struct machine *machine,
|
||||
struct thread *thread)
|
||||
struct thread *thread,
|
||||
struct addr_location *al)
|
||||
{
|
||||
struct perf_event_attr *attr = &evsel->attr;
|
||||
|
||||
@@ -424,7 +425,7 @@ static void print_sample_bts(union perf_event *event,
|
||||
printf(" ");
|
||||
else
|
||||
printf("\n");
|
||||
perf_evsel__print_ip(evsel, event, sample, machine,
|
||||
perf_evsel__print_ip(evsel, sample, machine, al,
|
||||
output[attr->type].print_ip_opts,
|
||||
PERF_MAX_STACK_DEPTH);
|
||||
}
|
||||
@@ -443,7 +444,7 @@ static void print_sample_bts(union perf_event *event,
|
||||
static void process_event(union perf_event *event, struct perf_sample *sample,
|
||||
struct perf_evsel *evsel, struct machine *machine,
|
||||
struct thread *thread,
|
||||
struct addr_location *al __maybe_unused)
|
||||
struct addr_location *al)
|
||||
{
|
||||
struct perf_event_attr *attr = &evsel->attr;
|
||||
|
||||
@@ -458,7 +459,7 @@ static void process_event(union perf_event *event, struct perf_sample *sample,
|
||||
}
|
||||
|
||||
if (is_bts_event(attr)) {
|
||||
print_sample_bts(event, sample, evsel, machine, thread);
|
||||
print_sample_bts(event, sample, evsel, machine, thread, al);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -474,7 +475,7 @@ static void process_event(union perf_event *event, struct perf_sample *sample,
|
||||
else
|
||||
printf("\n");
|
||||
|
||||
perf_evsel__print_ip(evsel, event, sample, machine,
|
||||
perf_evsel__print_ip(evsel, sample, machine, al,
|
||||
output[attr->type].print_ip_opts,
|
||||
PERF_MAX_STACK_DEPTH);
|
||||
}
|
||||
|
Reference in New Issue
Block a user