perf/x86/intel/pt: Add new timing packet enables
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Thu, 30 Jul 2015 13:15:31 +0000 (16:15 +0300)
committerIngo Molnar <mingo@kernel.org>
Tue, 4 Aug 2015 08:16:55 +0000 (10:16 +0200)
commitb1bf72d6691cc33fc7763fc8ec77df42ca1a8702
treecac512053adb0f61a301a84b9d44ac52999012c1
parent9a6694cfa2390181dec936a17c0d9d21ef7b08d9
perf/x86/intel/pt: Add new timing packet enables

Intel PT chapter in the new Intel Architecture SDM adds several packets
corresponding enable bits and registers that control packet generation.
Also, additional bits in the Intel PT CPUID leaf were added to enumerate
presence and parameters of these new packets and features.

The packets and enables are:

  * CYC: cycle accurate mode, provides the number of cycles elapsed since
    previous CYC packet; its presence and available threshold values are
    enumerated via CPUID;

  * MTC: mini time counter packets, used for tracking TSC time between
    full TSC packets; its presence and available resolution options are
    enumerated via CPUID;

  * PSB packet period is now configurable, available period values are
    enumerated via CPUID.

This patch adds corresponding bit and register definitions, pmu driver
capabilities based on CPUID enumeration, new attribute format bits for
the new featurens and extends event configuration validation function
to take these into account.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: acme@infradead.org
Cc: adrian.hunter@intel.com
Cc: hpa@zytor.com
Link: http://lkml.kernel.org/r/1438262131-12725-1-git-send-email-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/msr-index.h
arch/x86/kernel/cpu/intel_pt.h
arch/x86/kernel/cpu/perf_event_intel_pt.c