diff options
author | Maciej W. Rozycki <macro@orcam.me.uk> | 2022-04-24 12:47:26 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-05-02 14:29:04 +0200 |
commit | cc1b923a4e378c943386e7fe6205918d43e5fede (patch) | |
tree | d2a52a8aedafe94c93d191376819d44cb720190e /kernel/time | |
parent | 92067440f1311dfa4d77b57a9da6b3706f5da32e (diff) | |
download | linux-cc1b923a4e378c943386e7fe6205918d43e5fede.tar.gz linux-cc1b923a4e378c943386e7fe6205918d43e5fede.tar.bz2 linux-cc1b923a4e378c943386e7fe6205918d43e5fede.zip |
time/sched_clock: Use Hz as the unit for clock rate reporting below 4kHz
The kernel uses kHz as the unit for clock rates reported between 1MHz
(inclusive) and 4MHz (exclusive), e.g.:
sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns
This reduces the amount of data lost due to rounding, but hasn't been
replicated for the kHz range when support was added for proper reporting of
sub-kHz clock rates. Take the same approach for rates between 1kHz
(inclusive) and 4kHz (exclusive), which makes it consistent.
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2204240106380.9383@angie.orcam.me.uk
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/sched_clock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/sched_clock.c b/kernel/time/sched_clock.c index ee07f3ac1e5b..4a95c0be9daf 100644 --- a/kernel/time/sched_clock.c +++ b/kernel/time/sched_clock.c @@ -203,7 +203,7 @@ sched_clock_register(u64 (*read)(void), int bits, unsigned long rate) r = DIV_ROUND_CLOSEST(r, 1000000); r_unit = 'M'; } else { - if (r >= 1000) { + if (r >= 4000) { r = DIV_ROUND_CLOSEST(r, 1000); r_unit = 'k'; } else { |