Peter Hilber
7cec7d8388
timekeeping: Fix cross-timestamp interpolation on counter wrap
...
[ Upstream commit 84dccadd3e2a3f1a373826ad71e5ced5e76b0c00 ]
cycle_between() decides whether get_device_system_crosststamp() will
interpolate for older counter readings.
cycle_between() yields wrong results for a counter wrap-around where after
< before < test, and for the case after < test < before.
Fix the comparison logic.
Fixes: 2c756feb18 ("time: Add history to cross timestamp interface supporting slower devices")
Signed-off-by: Peter Hilber <peter.hilber@opensynergy.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: John Stultz <jstultz@google.com>
Link: https://lore.kernel.org/r/20231218073849.35294-2-peter.hilber@opensynergy.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:22:14 -04:00
..
alarmtimer.c
alarmtimer: Prevent starvation by small intervals and SIG_IGN
2023-02-25 11:53:26 +01:00
clockevents.c
clocksource.c
clocksource: Retry clock read if long delays detected
2021-07-14 16:53:18 +02:00
hrtimer.c
hrtimer: Report offline hrtimer enqueue
2024-02-23 08:25:08 +01:00
itimer.c
time: Prevent undefined behaviour in timespec64_to_ns()
2020-11-18 19:20:15 +01:00
jiffies.c
timekeeping: Split jiffies seqlock
2023-05-17 11:35:39 +02:00
Kconfig
Makefile
ntp.c
ntp/y2038: Remove incorrect time_t truncation
2019-11-12 08:13:44 +01:00
ntp_internal.h
posix-clock.c
ptp: fix the race between the release of ptp_clock and cdev
2020-01-04 19:18:48 +01:00
posix-cpu-timers.c
Revert "posix-cpu-timers: Force next expiration recalc after itimer reset"
2021-09-16 12:56:13 +02:00
posix-stubs.c
timers: Prevent union confusion from unexpected restart_syscall()
2023-03-11 16:43:54 +01:00
posix-timers.c
posix-timers: Ensure timer ID search-loop limit is valid
2023-07-27 08:37:42 +02:00
posix-timers.h
sched_clock.c
time/sched_clock: Expire timer in hardirq context
2020-04-17 10:50:02 +02:00
test_udelay.c
tick-broadcast-hrtimer.c
tick: broadcast-hrtimer: Fix a race in bc_set_next
2019-09-27 14:45:55 +02:00
tick-broadcast.c
tick: Get rid of tick_period
2023-05-17 11:35:40 +02:00
tick-common.c
tick/common: Align tick period during sched_timer setup
2023-06-28 10:18:36 +02:00
tick-internal.h
tick: Get rid of tick_period
2023-05-17 11:35:40 +02:00
tick-oneshot.c
tick-sched.c
tick/sched: Preserve number of idle sleeps across CPU hotplug events
2024-02-23 08:24:53 +01:00
tick-sched.h
time.c
time: Zero the upper 32-bits in __kernel_timespec on 32-bit
2019-12-13 08:42:18 +01:00
timeconst.bc
timeconv.c
timecounter.c
timekeeping.c
timekeeping: Fix cross-timestamp interpolation on counter wrap
2024-03-26 18:22:14 -04:00
timekeeping.h
timekeeping: Split jiffies seqlock
2023-05-17 11:35:39 +02:00
timekeeping_debug.c
timekeeping_internal.h
timer.c
timers: Move clearing of base::timer_running under base:: Lock
2021-08-12 13:21:03 +02:00
timer_list.c
vsyscall.c
lib/vdso: Update coarse timekeeper unconditionally
2020-03-05 16:43:49 +01:00