Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf intel-pt: Add more event information to debug log

More event information is useful for debugging, especially MMAP events.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Link: http://lkml.kernel.org/r/20181105073505.8129-2-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Adrian Hunter and committed by
Arnaldo Carvalho de Melo
93f8be27 35fa1cee

+19 -3
+5
tools/perf/util/intel-pt-decoder/intel-pt-log.c
··· 31 31 static char log_name[MAX_LOG_NAME]; 32 32 bool intel_pt_enable_logging; 33 33 34 + void *intel_pt_log_fp(void) 35 + { 36 + return f; 37 + } 38 + 34 39 void intel_pt_log_enable(void) 35 40 { 36 41 intel_pt_enable_logging = true;
+1
tools/perf/util/intel-pt-decoder/intel-pt-log.h
··· 22 22 23 23 struct intel_pt_pkt; 24 24 25 + void *intel_pt_log_fp(void); 25 26 void intel_pt_log_enable(void); 26 27 void intel_pt_log_disable(void); 27 28 void intel_pt_log_set_name(const char *name);
+13 -3
tools/perf/util/intel-pt.c
··· 206 206 intel_pt_dump(pt, buf, len); 207 207 } 208 208 209 + static void intel_pt_log_event(union perf_event *event) 210 + { 211 + FILE *f = intel_pt_log_fp(); 212 + 213 + if (!intel_pt_enable_logging || !f) 214 + return; 215 + 216 + perf_event__fprintf(event, f); 217 + } 218 + 209 219 static int intel_pt_do_fix_overlap(struct intel_pt *pt, struct auxtrace_buffer *a, 210 220 struct auxtrace_buffer *b) 211 221 { ··· 2020 2010 event->header.type == PERF_RECORD_SWITCH_CPU_WIDE) 2021 2011 err = intel_pt_context_switch(pt, event, sample); 2022 2012 2023 - intel_pt_log("event %s (%u): cpu %d time %"PRIu64" tsc %#"PRIx64"\n", 2024 - perf_event__name(event->header.type), event->header.type, 2025 - sample->cpu, sample->time, timestamp); 2013 + intel_pt_log("event %u: cpu %d time %"PRIu64" tsc %#"PRIx64" ", 2014 + event->header.type, sample->cpu, sample->time, timestamp); 2015 + intel_pt_log_event(event); 2026 2016 2027 2017 return err; 2028 2018 }