summaryrefslogtreecommitdiffstats
path: root/sys/dev/hwpmc/hwpmc_ppro.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hwpmc/hwpmc_ppro.c')
-rw-r--r--sys/dev/hwpmc/hwpmc_ppro.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/hwpmc/hwpmc_ppro.c b/sys/dev/hwpmc/hwpmc_ppro.c
index bc85873..909bfe2 100644
--- a/sys/dev/hwpmc/hwpmc_ppro.c
+++ b/sys/dev/hwpmc/hwpmc_ppro.c
@@ -688,17 +688,19 @@ p6_intr(int cpu, struct trapframe *tf)
for (ri = 0; ri < P6_NPMCS; ri++) {
- if (!P6_PMC_HAS_OVERFLOWED(ri))
- continue;
-
if ((pm = pc->pc_p6pmcs[ri].phw_pmc) == NULL ||
- pm->pm_state != PMC_STATE_RUNNING ||
!PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) {
continue;
}
+ if (!P6_PMC_HAS_OVERFLOWED(ri))
+ continue;
+
retval = 1;
+ if (pm->pm_state != PMC_STATE_RUNNING)
+ continue;
+
error = pmc_process_interrupt(cpu, pm, tf,
TRAPF_USERMODE(tf));
if (error)
OpenPOWER on IntegriCloud