perf/x86/intel/pt: Add support for PTWRITE and power event tracing
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Fri, 16 Sep 2016 13:48:19 +0000 (16:48 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 19 Sep 2016 23:18:28 +0000 (01:18 +0200)
commit8ee83b2ab3d1987cbd80c9f2c6f2b12fed87b51e
treea8561379f6733c47eeb6eababc8d0c9154ff0fbf
parentcd34cd97b7b4336aa2c623c37daffab264c7c6ce
perf/x86/intel/pt: Add support for PTWRITE and power event tracing

The Intel PT facility grew some new functionality:

  * PTWRITE packet carries the payload of the new PTWRITE instruction
    that can be used to instrument Intel PT traces with user-supplied
    data. Packets of this type are only generated if 'ptwrite' capability
    is set and PTWEn bit is set in the event attribute's config. Flow
    update packets (FUP) can be generated on PTWRITE packets if FUPonPTW
    config bit is set. Setting these bits is not allowed if 'ptwrite'
    capability is not set.

  * PWRE, PWRX, MWAIT, EXSTOP packets communicate core power management
    events. These depend on 'power_event_tracing' capability and are
    enabled by setting PwrEvtEn bit in the event attribute.

Extend the driver capabilities and provide the proper sanity checks in the
event validation function.

[ tglx: Massaged changelog ]

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: vince@deater.net
Cc: eranian@google.com
Cc: Adrian Hunter <adrian.hunter@intel.com>
Link: http://lkml.kernel.org/r/20160916134819.1978-1-alexander.shishkin@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/events/intel/pt.c
arch/x86/events/intel/pt.h