diff options
| author | Dave Jiang <dave.jiang@intel.com> | 2026-08-05 08:59:08 -0700 |
|---|---|---|
| committer | Will Deacon <will@kernel.org> | 2026-10-04 17:02:28 +0000 |
| commit | 2e4fe234c72d65a09bbfd421240a0cfd7c8046a2 (patch) | |
| tree | 241e264fdee658db97a68fa0440af588a8b86fa8 /tools/perf/scripts/python | |
| parent | b899fd3487b0d4066d60ebcf5b73e77c9617de54 (diff) | |
perf/cxl: Unfreeze counters after handling an overflow interrupt
The counters run with Freeze on Overflow set, so one overflow freezes every
counter in the block (CXL r4.0 8.2.7.2.1), and a frozen counter "remains
frozen until explicitly unfrozen by software" (8.2.7.1.3, Table 8-183).
cxl_pmu_irq() reads the overflowed counters and clears the overflow status
but never unfreezes, so everything stays frozen until the next pmu_enable()
and events in that window are lost.
Unfreeze after clearing the status, unless the PMU has been disabled in the
meantime - cxl_pmu_disable() freezes the block deliberately. Track the
enabled state and leave it frozen in that case.
Fixes: 5d7107c72796 ("perf: CXL Performance Monitoring Unit driver")
Reported-by: sashiko-bot@kernel.org
Closes: https://sashiko.dev/#/patchset/20260715191454.459673-1-dave@stgolabs.net?part=1
Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
