Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit f637c0fb authored by Mark Salyzyn's avatar Mark Salyzyn Committed by Aayush Gupta
Browse files

ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x



clock_gettime(CLOCK_BOOTTIME,) slows down after significant
accumulation of suspend time creating a large offset between it and
CLOCK_MONOTONIC time.  The __iter_div_u64_rem() is only for the usage
of adding a few second+nanosecond times and saving cycles on more
expensive remainder and division operations, but iterates one second
at a time which quickly goes out of scale in CLOCK_BOOTTIME's case
since it was specified as nanoseconds only.

The fix is to split off seconds from the boot time and cap the
nanoseconds so that __iter_div_u64_rem does not iterate.

Signed-off-by: default avatarMark Salyzyn <salyzyn@google.com>
Bug: 72406285
Change-Id: Ia647ef1e76b7ba3b0c003028d4b3b955635adabb

Signed-off-by: default avatarstarlight5234 <ifist2834@gmail.com>
Conflicts:
	arch/arm64/kernel/vdso.c
Signed-off-by: default avatarTheSync <repo-sync@outlook.com>
parent ae9b476c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment