summaryrefslogtreecommitdiffstats
path: root/fs/tracefs
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2021-07-13 15:39:46 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-09-22 11:47:49 +0200
commite6c3fefc6bb11bef1bd8adfe37e0f317303ab751 (patch)
tree3990dba25a99c602104e09692f3117e0eef54fe6 /fs/tracefs
parent293fe77dbfe68c5794be4e76c9212003e9304d24 (diff)
downloadlinux-stable-e6c3fefc6bb11bef1bd8adfe37e0f317303ab751.tar.gz
linux-stable-e6c3fefc6bb11bef1bd8adfe37e0f317303ab751.tar.bz2
linux-stable-e6c3fefc6bb11bef1bd8adfe37e0f317303ab751.zip
hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns()
[ Upstream commit 627ef5ae2df8eeccb20d5af0e4cfa4df9e61ed28 ] If __hrtimer_start_range_ns() is invoked with an already armed hrtimer then the timer has to be canceled first and then added back. If the timer is the first expiring timer then on removal the clockevent device is reprogrammed to the next expiring timer to avoid that the pending expiry fires needlessly. If the new expiry time ends up to be the first expiry again then the clock event device has to reprogrammed again. Avoid this by checking whether the timer is the first to expire and in that case, keep the timer on the current CPU and delay the reprogramming up to the point where the timer has been enqueued again. Reported-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20210713135157.873137732@linutronix.de Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs/tracefs')
0 files changed, 0 insertions, 0 deletions