• Alexander Shishkin's avatar
    perf/x86/intel/bts: Add BTS PMU driver · 8062382c
    Alexander Shishkin authored
    Add support for Branch Trace Store (BTS) via kernel perf event infrastructure.
    The difference with the existing implementation of BTS support is that this
    one is a separate PMU that exports events' trace buffers to userspace by means
    of AUX area of the perf buffer, which is zero-copy mapped into userspace.
    
    The immediate benefit is that the buffer size can be much bigger, resulting in
    fewer interrupts and no kernel side copying is involved and little to no trace
    data loss. Also, kernel code can be traced with this driver.
    
    The old way of collecting BTS traces still works.
    Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Kaixu Xia <kaixu.xia@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Robert Richter <rric@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: acme@infradead.org
    Cc: adrian.hunter@intel.com
    Cc: kan.liang@intel.com
    Cc: markus.t.metzger@intel.com
    Cc: mathieu.poirier@linaro.org
    Link: http://lkml.kernel.org/r/1422614435-114702-1-git-send-email-alexander.shishkin@linux.intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    8062382c
perf_event_intel.c 81.9 KB