diff options
author | Kan Liang <kan.liang@linux.intel.com> | 2025-01-21 07:23:01 -0800 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2025-02-05 10:29:45 +0100 |
commit | f9bdf1f953392c9edd69a7f884f78c0390127029 (patch) | |
tree | 8f8bd4f7485c22882c04d5a3d122da668f46a039 /scripts/lib/kdoc/kdoc_parser.py | |
parent | 314dfe10576912e1d786b13c5d4eee8c51b63caa (diff) |
perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read
The WARN_ON(this_cpu_read(cpu_hw_events.enabled)) in the
intel_pmu_save_and_restart_reload() is triggered, when sampling read
topdown events.
In a NMI handler, the cpu_hw_events.enabled is set and used to indicate
the status of core PMU. The generic pmu->pmu_disable_count, updated in
the perf_pmu_disable/enable pair, is not touched.
However, the perf_pmu_disable/enable pair is invoked when sampling read
in a NMI handler. The cpuc->enabled is mistakenly set by the
perf_pmu_enable().
Avoid disabling PMU if the core PMU is already disabled.
Merge the logic together.
Fixes: 7b2c05a15d29 ("perf/x86/intel: Generic support for hardware TopDown metrics")
Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20250121152303.3128733-2-kan.liang@linux.intel.com
Diffstat (limited to 'scripts/lib/kdoc/kdoc_parser.py')
0 files changed, 0 insertions, 0 deletions