summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSven Schnelle <svens@linux.ibm.com>2023-09-14 09:58:54 +0300
committerHeiko Carstens <hca@linux.ibm.com>2024-02-09 15:58:14 +0300
commitfc17e992e1fdc5d2e3cf1049073aad0dd3933372 (patch)
treeb2a397e0a6cecce3b9d83fba728c3bd5a4457c51 /arch
parent5d8cc70c36c42aa33e595836af2faaaaeb314fb5 (diff)
downloadlinux-fc17e992e1fdc5d2e3cf1049073aad0dd3933372.tar.xz
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 <svens@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch')
-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,
};