sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
authorYoung Xiao <92siuyang@gmail.com>
Wed, 29 May 2019 02:21:48 +0000 (10:21 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jul 2019 07:55:30 +0000 (09:55 +0200)
commit198cecace1b713d13914f6bc05d29915e7ffc255
treeb0b7e58fe15ca74939f048c2e0bc983f8eda2e02
parent439ab882535b9ea0414c50befc525403921aabe2
sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD

[ Upstream commit 56cd0aefa475079e9613085b14a0f05037518fed ]

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.

See commit 3581fe0ef37c ("ARM: 7556/1: perf: fix updated event period in
response to PERF_EVENT_IOC_PERIOD") for details.

Signed-off-by: Young Xiao <92siuyang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/sparc/kernel/perf_event.c