perf/powerpc: reset event hw state when adding it to the PMU
When adding an event to the PMU with PERF_EF_START the STOPPED and UPTODATE flags need to be cleared in the hw.event status variable because they are preventing the update of the event count on overflow interrupt. Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
parent
5db431285d
commit
0d7d9b3a45
|
@ -330,9 +330,11 @@ static int fsl_emb_pmu_add(struct perf_event *event, int flags)
|
||||||
}
|
}
|
||||||
local64_set(&event->hw.prev_count, val);
|
local64_set(&event->hw.prev_count, val);
|
||||||
|
|
||||||
if (!(flags & PERF_EF_START)) {
|
if (unlikely(!(flags & PERF_EF_START))) {
|
||||||
event->hw.state = PERF_HES_STOPPED | PERF_HES_UPTODATE;
|
event->hw.state = PERF_HES_STOPPED | PERF_HES_UPTODATE;
|
||||||
val = 0;
|
val = 0;
|
||||||
|
} else {
|
||||||
|
event->hw.state &= ~(PERF_HES_STOPPED | PERF_HES_UPTODATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
write_pmc(i, val);
|
write_pmc(i, val);
|
||||||
|
|
Loading…
Reference in New Issue