aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Schnelle <[email protected]>2023-09-14 08:58:54 +0200
committerHeiko Carstens <[email protected]>2024-02-09 13:58:14 +0100
commitfc17e992e1fdc5d2e3cf1049073aad0dd3933372 (patch)
treeb2a397e0a6cecce3b9d83fba728c3bd5a4457c51
parent5d8cc70c36c42aa33e595836af2faaaaeb314fb5 (diff)
s390/time: improve steering precision
The common timekeeping code steers the clock by adjusting the multiplier value of the clock. With the current value of 1000 precision is lost when the clock is steered with a userspace daemon. Increase the multiplier and the shift values to increase precision. Signed-off-by: Sven Schnelle <[email protected]> Acked-by: Heiko Carstens <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
-rw-r--r--arch/s390/kernel/time.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index 14abad953c02..8357306fb76e 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -251,8 +251,8 @@ static struct clocksource clocksource_tod = {
.rating = 400,
.read = read_tod_clock,
.mask = CLOCKSOURCE_MASK(64),
- .mult = 1000,
- .shift = 12,
+ .mult = 4096000,
+ .shift = 24,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
.vdso_clock_mode = VDSO_CLOCKMODE_TOD,
};