[PATCH V4] POWER: perf_event: Skip updating kernel counters if register value shrinks
David Laight
David.Laight at ACULAB.COM
Wed Apr 27 23:13:25 EST 2011
> prev and val are both 64 bit variables holding 32 bit numbers, we do
not
> accumulate in either, they are both replaced by values directly from
the
> registers.
> So prev > val will not always be true.
The code seems to be:
prev = local64_read(&event->hw.prev_count);
val = read_pmc(event->hw.idx);
delta = check_and_compute_delta(prev, val);
local64_add(delta, &event->count);
Which looks very much like 'prev' being a 64bit counter generated
from the 32bit pmc register.
David
More information about the Linuxppc-dev
mailing list