ARM: 7556/1: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
authorWill Deacon <will.deacon@arm.com>
Wed, 17 Oct 2012 11:01:34 +0000 (12:01 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 18 Oct 2012 10:05:20 +0000 (11:05 +0100)
commit3581fe0ef37ce12ac7a4f74831168352ae848edc
tree50c5dc84d1d60879c6843ab7c49c165da8f5bffa
parent2456f44dd7a9aaffc2cd21a13f78198b3d94da08
ARM: 7556/1: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD

The PERF_EVENT_IOC_PERIOD ioctl command can be used to change the
sample period of a running perf_event. Consequently, when calculating
the next event period, the new period will only be considered after the
previous one has overflowed.

This patch changes the calculation of the remaining event ticks so that
they are offset if the period has changed.

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Reported-by: Andreas Sandberg <andreas.sandberg@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/perf_event.c