]> git.baikalelectronics.ru Git - kernel.git/commit
perf/x86: Enable free running PEBS for REGS_USER/INTR
authorAndi Kleen <ak@linux.intel.com>
Thu, 31 Aug 2017 21:46:30 +0000 (14:46 -0700)
committerIngo Molnar <mingo@kernel.org>
Sun, 17 Dec 2017 12:55:17 +0000 (13:55 +0100)
commit08c3a1247cabc14021e7450b631972569a93e012
tree5c8d65bd583d098850e837ed489fc3827b272bb7
parent186bef7e1704ade556c73553b815500938935818
perf/x86: Enable free running PEBS for REGS_USER/INTR

[ Note, this is a Git cherry-pick of the following commit:

    d907c305fca0 ("perf/x86: Enable free running PEBS for REGS_USER/INTR")

  ... for easier x86 PTI code testing and back-porting. ]

Currently free running PEBS is disabled when user or interrupt
registers are requested. Most of the registers are actually
available in the PEBS record and can be supported.

So we just need to check for the supported registers and then
allow it: it is all except for the segment register.

For user registers this only works when the counter is limited
to ring 3 only, so this also needs to be checked.

Signed-off-by: Andi Kleen <ak@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>
Link: http://lkml.kernel.org/r/20170831214630.21892-1-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/events/intel/core.c
arch/x86/events/perf_event.h