OSDN Git Service

perf/x86/intel: Fix PT PMI handling
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Tue, 10 Dec 2019 10:51:01 +0000 (12:51 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 17 Dec 2019 12:32:46 +0000 (13:32 +0100)
commit92ca7da4bdc24d63bb0bcd241c11441ddb63b80a
tree149940e4c77a558df00df7038a6aa6f6eb48942f
parentff61541cc6c1962957758ba433c574b76f588d23
perf/x86/intel: Fix PT PMI handling

Commit:

  ccbebba4c6bf ("perf/x86/intel/pt: Bypass PT vs. LBR exclusivity if the core supports it")

skips the PT/LBR exclusivity check on CPUs where PT and LBRs coexist, but
also inadvertently skips the active_events bump for PT in that case, which
is a bug. If there aren't any hardware events at the same time as PT, the
PMI handler will ignore PT PMIs, as active_events reads zero in that case,
resulting in the "Uhhuh" spurious NMI warning and PT data loss.

Fix this by always increasing active_events for PT events.

Fixes: ccbebba4c6bf ("perf/x86/intel/pt: Bypass PT vs. LBR exclusivity if the core supports it")
Reported-by: Vitaly Slobodskoy <vitaly.slobodskoy@intel.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lkml.kernel.org/r/20191210105101.77210-1-alexander.shishkin@linux.intel.com
arch/x86/events/core.c