mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 07:24:39 +08:00
fa8025c374
Previously the maximum non-turbo ratio was calculated from TSC assuming a 100 MHz multiplier which is correct for current hardware supporting Intel PT. However more recent kernels also now export the value, so use that in preference to the calculated value. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Link: http://lkml.kernel.org/r/1474641528-18776-11-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
/*
|
|
* intel_pt.h: Intel Processor Trace support
|
|
* Copyright (c) 2013-2015, Intel Corporation.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms and conditions of the GNU General Public License,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef INCLUDE__PERF_INTEL_PT_H__
|
|
#define INCLUDE__PERF_INTEL_PT_H__
|
|
|
|
#define INTEL_PT_PMU_NAME "intel_pt"
|
|
|
|
enum {
|
|
INTEL_PT_PMU_TYPE,
|
|
INTEL_PT_TIME_SHIFT,
|
|
INTEL_PT_TIME_MULT,
|
|
INTEL_PT_TIME_ZERO,
|
|
INTEL_PT_CAP_USER_TIME_ZERO,
|
|
INTEL_PT_TSC_BIT,
|
|
INTEL_PT_NORETCOMP_BIT,
|
|
INTEL_PT_HAVE_SCHED_SWITCH,
|
|
INTEL_PT_SNAPSHOT_MODE,
|
|
INTEL_PT_PER_CPU_MMAPS,
|
|
INTEL_PT_MTC_BIT,
|
|
INTEL_PT_MTC_FREQ_BITS,
|
|
INTEL_PT_TSC_CTC_N,
|
|
INTEL_PT_TSC_CTC_D,
|
|
INTEL_PT_CYC_BIT,
|
|
INTEL_PT_MAX_NONTURBO_RATIO,
|
|
INTEL_PT_AUXTRACE_PRIV_MAX,
|
|
};
|
|
|
|
#define INTEL_PT_AUXTRACE_PRIV_SIZE (INTEL_PT_AUXTRACE_PRIV_MAX * sizeof(u64))
|
|
|
|
struct auxtrace_record;
|
|
struct perf_tool;
|
|
union perf_event;
|
|
struct perf_session;
|
|
struct perf_event_attr;
|
|
struct perf_pmu;
|
|
|
|
struct auxtrace_record *intel_pt_recording_init(int *err);
|
|
|
|
int intel_pt_process_auxtrace_info(union perf_event *event,
|
|
struct perf_session *session);
|
|
|
|
struct perf_event_attr *intel_pt_pmu_default_config(struct perf_pmu *pmu);
|
|
|
|
#endif
|