perf tools: Add time conversion event
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 8 Mar 2016 08:38:44 +0000 (10:38 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 31 Mar 2016 13:52:24 +0000 (10:52 -0300)
commit46bc29b970f0011a9099077f1db8f3540aa829fe
tree938c97e15993470419809aa90273f7311e2180d6
parent39878d492c049796202b70dc0ef14449cafa3cb4
perf tools: Add time conversion event

Intel PT uses the time members from the perf_event_mmap_page to convert
between TSC and perf time.

Due to a lack of foresight when Intel PT was implemented, those time
members were recorded in the (implementation dependent) AUXTRACE_INFO
event, the structure of which is generally inaccessible outside of the
Intel PT decoder.  However now the conversion between TSC and perf time
is needed when processing a jitdump file when Intel PT has been used for
tracing.

So add a user event to record the time members.  'perf record' will
synthesize the event if the information is available.  And session
processing will put a copy of the event on the session so that tools
like 'perf inject' can easily access it.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1457426324-30158-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/x86/util/tsc.c
tools/perf/builtin-inject.c
tools/perf/builtin-record.c
tools/perf/util/event.c
tools/perf/util/event.h
tools/perf/util/session.c
tools/perf/util/session.h
tools/perf/util/tool.h
tools/perf/util/tsc.h